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

时间是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来调试,这个出来就差不多了

时间: 2024-10-22 15:26:02

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

[osgearth]Earth文件详解

<!-type 属性可以是geocentric和projected两种模式,分别对应地心坐标系和平面投影坐标系,默认是地心坐标模式.Version是osgEarth的主版本号,必须有版本号--><map name="myMap" type="geocentric"/"projected" version="2"> <!-定义地图各图层的运行时显示属性--><options> &l

php文档知识点整理(函数、方法、文件加载)

函数: 函数定义形式: function  函数名 (形参1,形参2,.... ){ } 函数参数:(2种) 形参: 1,形参一定是一个变量名! 2,该变量名只能是在该函数中有效的变量名: 3,而且只在该函数调用并执行时有效,函数结束,通常这些变量也就"销毁". 实参: 实参就是一个"实际数据", 该数据可以是一个"直接数据"(比如5,"abc"),也可以是一个变量中存储的数据. 实参的作用是将其数据"赋值给&quo

Cocos2d之Texture2D类详解之将文件加载成Texture2D对象

一.声明 笔者以cocos2d框架cocos2d-x-3.3rc0版本的源码做分析.本文为笔者原创,允许转载和分享,只要注明文章出处即可. 二.简介 Texture2D类简介 Texture2D类允许开发者用图像.文本信息和简单的数据来创建OpenGL2D纹理.被创建的纹理拥有两个维度.根据开发者创建Texture2D对象方式的不同,实际图像的尺寸可能比生成的纹理的尺寸要小,而且纹理的内容是倒置的. 像素格式 在计算机图形学中,人们用每个像素在内存中的总位数以及分别存储红.蓝.绿和alpha(阿

Java基础之Throwable,文件加载

Java中的异常与错误都继承自Throwable,Exception又分为运行时异常(RuntimeException)和编译时异常. 运行时异常是程序的逻辑不够严谨或者特定条件下程序出现了错误,例如做除法运算时除数为0,运行时异常Java是不要求一定去try,catch进行捕获的.我们调试代码要减少的就是运行时异常,随着代码的调试运行时异常被捕获,程序的健壮性也就得到了提升. 编译时异常例如文件未找到异常,IO异常,SQLException等,这些是可以预知的异常(checked Except

Java 文件变化加载监控,实时监控文件加载之Commons-io

Java 文件监控,实时监控文件加载 ,Commons-io中已有此功能的实现,如下代码所示: package wy.util.filemonitor; import java.io.File; import org.apache.commons.io.monitor.FileAlterationListenerAdaptor; import org.apache.commons.io.monitor.FileAlterationObserver; import org.apache.log4j

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

在一般情况下,许多人都是将<script>写在了<head>标签中,而许多浏览器都是使用单一的线程来加载js文件的,从上往下,从左往右. 若是加载过程出错,那么网页就会阻塞,就像许多网站用Google的CDN库,而我们在墙内访问一样.页面不会出来,一直加载这个js文件,直到浏览器放弃加载为止! 1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default

osgearth earth文件规范-符号参考

osgearth earth文件规范-符号参考 osgEarth用样式表渲染要素和注记. 本文档列出了可在样式表中使用的所有符号属性.不是每个符号是适用于每种情况:这只是一个主列表. 跳转到符号: •Geometry •Altitude •Extrusion •Icon •Model •Render •Skin •Text 开发人员注意: 在SDK 中,符号在osgEarth::Symbology命名空间中,每个符号类是以类似AltitudeSymbol这样的形式.下面的属性就是他们出现在ear

getClass()和getClassLoader()区别 以及ClassLoader详解及用途(文件加载,类加载)

获得ClassLoader的几种方法可以通过如下3种方法得到ClassLoader this.getClass().getClassLoader(); // 使用当前类的ClassLoader Thread.currentThread().getContextClassLoader(); // 使用当前线程的ClassLoader ClassLoader.getSystemClassLoader(); // 使用系统ClassLoader,即系统的入口点所使用的ClassLoader.(注意,s

远景WEBGIS平台实现客户端SHP文件加载

远景WEBGIS平台的研发目前取得新进展,实现客户端shp文件的加载,可以不经过PC上的数据转换工具转换. 远景WEBGIS平台(RemoteGIS)是基于HTML5自主研发的新一代WEBGIS基础平台,它使用Javascript开发,具有良好的系统架构和高可扩展性.是全新的高效.专业.稳定的GIS平台. 现在正在开发在线产品"远景云GIS(RGIS Online)",提供在线的数据上传.符号配置.查询检索.空间分析.地图发布等功能,客户端Shp文件的加载功能是远景云GIS的一个重要部