[原][osgearth]earth文件加载道路一初步看见模型道路

时间:2021-05-21 04:33:51

时间是2017年2月5日17:16:32

由于OE2.9还没有发布,但是我又急于使用OE的道路。

所以,我先编译了正在github上调试中的OE2.9

github网址是:https://github.com/gwaldron/osgearth

但是由于,它是调试中的版本,很多例子还不能跑。

不过,经过一番摸索,我还是调通了一个使用model建立道路的earth

<map>
<options>
<!--添加缓存机制-->
<cache path="../cache" type="filesystem" />
<terrain driver="rex">
<lods>
<lod lod="13" priority_offset="7"/>
<lod lod="16" priority_offset="3"/>
</lods>
</terrain>
</options> <image name="readymap_imagery" driver="tms" opacity="0.9" enabled="true">
<url>http://readymap.org/readymap/tiles/1.0.0/7/</url>
</image> <elevation name="readymap_elevation" driver="tms" enabled="true">
<url>http://readymap.org/readymap/tiles/1.0.0/116/</url>
</elevation> <!--测试地图-->
<image driver="debug"/> <!--平整路-->
<flattened_elevation name="road flattener" min_level="12" max_level="16">
<cache_policy usage="none"/>
<base_layer>readymap_elevation</base_layer>
<features name="roads" driver="ogr">
<!--url>H:/data/fhwa/nhpn2005_08/NHPNLine-mercator.shp</url-->
<url>../data/flatten_mt_rainier.shp</url>
<build_spatial_index>true</build_spatial_index>
</features>
<line_width>50m</line_width>
<buffer_width>50m</buffer_width>
</flattened_elevation> <!--线框模型-->
<model name="boundaries" driver="feature_geom">
<features name="world" driver="ogr">
<url>../data/flatten_mt_rainier.shp</url>
</features>
<styles>
<style type="text/css">
states {
stroke: #ffff00;
render-depth-test: false;
render-clip-plane: 0;
render-order: 1;
}
</style>
</styles>
</model> <!--贴图路面
<road_surface min_level="13">
<cache_policy usage="none"/>
<features name="roads" driver="ogr">
<url>../data/flatten_mt_rainier.shp</url>
<build_spatial_index>true</build_spatial_index>
</features>
<style type="text/css">
default {
stroke: #ffffff;
stroke-width: 25m;
stroke-image: "../data/road.png";
}
</style>
<outer_width>100</outer_width>
</road_surface>
--> <model name="points" driver="feature_geom">
<features name="points" driver="ogr">
<url>../data/flatten_mt_rainier.shp</url>
<build_spatial_index>true</build_spatial_index>
</features> <styles>
<style type="text/css">
points {
model: "../data/red_flag.osg.10.scale";
altitude-clamping: terrain;
}
</style>
</styles> </model> <!--路模型<layout tile_size="2000">
<level class="default" max_range="10000"/>
</layout>-->
<model name="roadssss" driver="feature_geom">
<features name="roadssss" driver="ogr">
<url>../data/flatten_mt_rainier.shp</url>
<build_spatial_index>true</build_spatial_index>
</features>
<styles>
<style type="text/css">
default {
stroke: #ff0000;
stroke-width: 25m;
stroke-tessellation-size: 50m;
stroke-image: "../data/road.png";
altitude-clamping: terrain;
altitude-resolution: 0.0001;
altitude-binding: vertex;
render-order: 1;
render-transparent: true;
render-decal: true;
altitude-offset: 0.05;
}
</style>
</styles>
</model> <!--线框模型
<model driver="feature_geom" min_level="13">
<cache_policy usage="none"/>
<features name="roads" driver="ogr">
<url>../data/flatten_mt_rainier.shp</url>
<build_spatial_index>true</build_spatial_index>
</features>
<layout tile_size="2000">
<level class="default" max_range="10000"/>
</layout>
<styles>
<style type="text/css">
default {
stroke: #ffffff;
stroke-width: 25m;
stroke-tessellation-size: 50m;
stroke-image: "../data/road.png";
altitude-clamping: terrain;
altitude-resolution: 0.00001;
altitude-binding: vertex;
render-order: 1;
render-transparent: true;
render-decal: true;
altitude-offset: 0.05;
}
</style>
</styles>
</model>
--> <bumpmap>
<image>../data/rock_hard.jpg</image>
<octaves>8</octaves>
<intensity>8.2</intensity>
</bumpmap> <xi:include href="viewpoints.xml"/> <libraries>osgearthsplat</libraries>
</map>

这个例子包含了:

1.压路机,就是把地形给压平了

2.模型线框,我用来标识shp文件所在位置的

3.添加4个小旗子模型,也是用来表示shp中的点的

4.重点就是这“道路”模型,我先解决了有的问题,之后我再把他变成真正可行的道路

PS:我之后会使用road_surface来调试,这个出来就差不多了

[原][osgearth]earth文件加载道路一初步看见模型道路的更多相关文章

  1. &lbrack;原&rsqb;&lbrack;译&rsqb;&lbrack;osgearth&rsqb;&lbrack;EarthFile&rsqb;关于EarthFile 的Model Layer 讲解(通过earth文件加载模型层)(OE官方文档翻译)

    原文参考:http://docs.osgearth.org/en/latest/references/earthfile.html#model-layer 本人翻译能有限.... 模型层 模型层渲染“ ...

  2. &lbrack;osgearth&rsqb;Earth文件详解

    <!—type 属性可以是geocentric和projected两种模式,分别对应地心坐标系和平面投影坐标系,默认是地心坐标模式.Version是osgEarth的主版本号,必须有版本号--& ...

  3. php文件加载、错误处理、方法函数和数组

    数组运算符注意:php中,数组的元素的顺序,不是由下标(键名)决定的,而是完全由加入的顺序来决定.联合(+):将右边的数组项合并到左边数组的后面,得到一个新数组.如有重复键,则结果以左边的为准$v1 ...

  4. scrapy cookies:将cookies保存到文件以及从文件加载cookies

    我在使用scrapy模拟登录新浪微博时,想将登录成功后的cookies保存到本地,下次加载它实现直接登录,省去中间一系列的请求和POST等.关于如何从本次请求中获取并在下次请求中附带上cookies的 ...

  5. 前端设计中关于外部js文件加载的速度优化

    在一般情况下,许多人都是将<script>写在了<head>标签中,而许多浏览器都是使用单一的线程来加载js文件的,从上往下,从左往右. 若是加载过程出错,那么网页就会阻塞,就 ...

  6. php基础知识(3)&lpar;文件加载include&rpar;

    文件加载 综述: 有4个文件加载的语法形式(注意,不是函数): include,  include_once,  require, require_once; 他们的本质是一样的,都是用于加载/引入/ ...

  7. 文件加载---理解一个project的第一步

    当我最开始写php的时候,总是担心这个问题:我在这儿new的一个class能加载到对应的类文件吗?毕竟一运行就报Fatal Error,什么**文件没找到,类无法实例化等等是一种很“低级”的错误,怕别 ...

  8. HTML5文件加载进度管理

    /** * 文件加载进度管理 */ DownloadUtils = function(options){ options = options || {}; this.init(options); }; ...

  9. osgearth earth文件规范-符号参考

    osgearth earth文件规范-符号参考 osgEarth用样式表渲染要素和注记. 本文档列出了可在样式表中使用的所有符号属性.不是每个符号是适用于每种情况:这只是一个主列表. 跳转到符号: • ...

随机推荐

  1. 移动端IOS点击事件失效解决方案

    解决方案 解决办法有 4 种可供选择: 1 将 click 事件直接绑定到目标元素(即 .target)上 2 将目标元素换成 <a> 或者 button 等可点击的元素 3 将 clic ...

  2. 2&period;Linux如何学习

    Linux的应用: 企业应用 个人应用 平行运算:所谓的平行运算指的是将原本的工作分成多份然后交给多台主机去运算,最终再将结果收集起来的一种方式.由于通过高速网络使用到多台主机(集群),将原本需要很长 ...

  3. Wampserver3&period;0&period;0设置语言为中文无效

    打开配置文件"wampmanager.conf",将language改成chinese,再从右键的语言选择中选中文. 这个配置文件有两个,改第一个双引号里的,第二个没有引号的不要改 ...

  4. &lpar;转&rpar;linux查看CPU性能及工作状态的指令mpstat,vmstat,iostat,sar,top

    衡量CPU性能的指标: 1,用户使用CPU的情况:CPU运行常规用户进程CPU运行niced processCPU运行实时进程 2,系统使用CPU情况:用于I/O管理:中断和驱动用于内存管理:页面交换 ...

  5. Linux 下的五种 IO 模型

    概念说明 用户空间与内核空间 现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方).操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的 ...

  6. 《agile java》First &colon; 起步 &plus; 章节练习题

    第一章节:起步 1.创建简单Java类2.创建测试类3.使用JUnit4.学习构造函数5.重构代码 涉及知识:TDD.UML TDD: Test Driven Development, 测试驱动开发. ...

  7. Nginx学习之四-Nginx进程同步方式-自旋锁(spinlock)

    自旋锁简介 Nginx框架使用了三种消息传递方式:共享内存.套接字.信号. Nginx主要使用了三种同步方式:原子操作.信号量.文件锁. 基于原子操作,nginx实现了一个自旋锁.自旋锁是一种非睡眠锁 ...

  8. 使用after伪类清除浮动

    使用after伪类清除浮动 .department li:after{ content:"."; height:0; visibility:hidden; display:bloc ...

  9. 1、java面试

    1.为什么用单例而不用static 答案:首先你要明白static是在什么时候初始化的,其设计意图是什么,单例就是我们运行的当前虚拟机中有且只有一个需要的对象,不存在重复.static是给类静态成员变 ...

  10. 第一章 C&plus;&plus;基本认识

    1.使用visual studio时让程序暂停,在return前加上这个: char response; std::cin >> response; 2.c++程序开发流程 3.变量名的命 ...