時間是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來調試,這個出來就差不多了
