时间是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. [原][译][osgearth][EarthFile]关于EarthFile 的Model Layer 讲解(通过earth文件加载模型层)(OE官方文档翻译)

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

  2. [osgearth]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)(文件加载include)

    文件加载 综述: 有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. pandas处理日期时间,按照时间筛选

    pandas有着强大的日期数据处理功能,本期我们来了解下pandas处理日期数据的一些基本功能,主要包括以下三个方面: 按日期筛选数据 按日期显示数据 按日期统计数据 运行环境为 windows系统, ...

  2. Eclipse中将Java项目转换成Web项目的方法(转)

    前言: 用Eclipse开发项目的时候,把一个Web项目导入到Eclipse里会变成了一个java工程,将无法在Tomcat中进行部署运行. 方法: 1.找到.project文件,找到里面的<n ...

  3. Morris InOrder Traverse Binary Tree 无需使用递归和栈

    今天在切leetcode的时候看到一个Morris算法,用来中序遍历二叉树,非递归,O(1)空间.觉得很强大.记录一下. 基本思想是利用了Threaded Binary Tree. 步骤如下: cur ...

  4. phpcms输出logo下拉实例

    {pc:content action=" siteid="$siteid" order="listorder ASC"} {loop $data $k ...

  5. asp.net SessionState模式的配置及使用

    由于项目dll文件变动比较频繁,而保存登陆的状态又保存在Session中,所以导致用户经常无故掉线(PS:dll变动的时候导致Session).有一种方法可以长期保存session,那就是sessio ...

  6. 三种空格unicode(\u00A0,\u0020,\u3000)表示的区别

    1.不间断空格\u00A0,主要用在office中,让一个单词在结尾处不会换行显示,快捷键ctrl+shift+space ; 2.半角空格(英文符号)\u0020,代码中常用的; 3.全角空格(中文 ...

  7. (1.3)DML增强功能-Apply、pivot、unpivot、for xml path行列转换

    深入了解行列转换请参考另一篇文章:https://www.cnblogs.com/gered/p/9271581.html 总结: 1.apply一般形式 --基本形式 SELECT a FROM d ...

  8. React Native教程

    React Native 中文网  http://reactnative.cn/ 相关资料======================= React-Native学习指南 https://github ...

  9. thinkphp5手动注册命名空间

    手动注册 命名空间.利用application/config.php配置文件来注册命名空间1:在application目录同级创建一个myExtend文件夹,里面再创建一个myTest文件夹.里面放一 ...

  10. Java用数据结构解决实现问题之数学问题

    有趣的整数: 完数:如果一个数字恰好等于他的因子之和,就叫做完数,需求是求出10000以内的所有的完数. 解法:1.用n去除以1-n之间的所有的整数,将能整除的被除数保存到一个数组中,作为n的一个因子 ...