osgEarth的Rex引擎原理分析(一二八)rex的引擎和图层投影及其关系

本文详细探讨了osgEarth的Rex引擎在处理地图投影时的原理,包括map的type和options.srs属性以及图层srs属性的影响。重点讨论了不同投影设置对显示效果的影响,如geocentric与projected的区别,以及spherical-mercator、world-mercator和wgs84投影的特性。同时,文章指出图层投影必须与图源一致,否则会导致问题。还提到了 Rex 引擎在投影不一致时如何通过GDAL进行转换,并强调了正确指定范围的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目标:(一二七)中问题214

主要存在三个地方:

一是map的type属性,可取两个值geocentric、projected,前者用于三维显示,后者用于二维显示;

二是map的options属性的srs,可以取spherical-mercator  world-mercator wgs84 plate-carre,用于设置显示的投影方式,可以根据显示需要随意设置;

三是影像和高层图层属性的srs,可以取spherical-mercator  world-mercator wgs84 plate-carre,用于设置图层图源自身的投影方式,不可以随意设置,一定要与图源保持一致;

需要注意:

1、墨卡托投影,原点在经纬度0点,呈正方形,边长20037508.342789247632,单位m
2、wgs84,原点在经纬度0点,呈矩形,边长180*360,单位度
3、rex引擎投影若和图层投影不一致需要做转换(ImageLayer::assembleImage,最终通过gdal库实现GDALReprojectImage)
4、一般不要指定范围,osgearth会自动计算最大范围,如果指定需要按照1、2的单位和范围要求进行指定,否则容易出错。

5、通过3可知,rex创建的每个瓦片的几何图形都是均匀划分的,纹理坐标也是,只是会对图片进行投影变换再做贴图处理。

以高德地图为例:

<map name="MBTiles" type="geocentric" version="2"> 
		<options> 
		  <profile>
          <srs>world-mercator</srs>
          <xmin>-20037508.342789247632</xmin>
          <ymin>-20037508.342789247632</ymin>
          <xmax>20037508.342789247632</xmax>
          <ymax>20037508.342789247632</ymax>
          <num_tiles_wide_at_lod_0>1</num_tiles_wide_at_lod_0>
		  <num_tiles_high_at_lod_0>1</num_tiles_high_at_lod_0>  
        </profile> 
      <terrain driver="rex" color="#ff00ffff">
      	<vertical_scale>1.0</vertical_scale>
      </terrain>
    </options>
    <image name="gaodeMap" driver="xyz">
        <url>https://webst03.is.autonavi.com/appmaptile?style=6&amp;x={x}&amp;y={y}&amp;z={z}</url>
        <profile>
          <srs>world-mercator</srs>
        	<num_tiles_wide_at_lod_0>1</num_tiles_wide_at_lod_0>
			<num_tiles_high_at_lod_0>1</num_tiles_high_at_lod_0>  
        </profile>             
	  </image>
</map>

 将type改为projected、options的srs改为wgs84、影像层的srs改为world-mercator的效果为:

  将type改为projected、options的srs改为world-mercator、影像层的srs改为world-mercator的效果为:

  将type改为projected、options的srs改为world-mercator、影像层的srs改为wgs84的效果为(这种效果有问题,主要是影像层的srs与图源不一致造成的):

待继续分析列表:

9、earth文件中都有哪些options((九)中问题)

10、如何根据earth文件options创建不同的地理信息引擎节点((九)中问题)

11、rex地理信息引擎的四梁八柱((九)中问题)

12、osgEarth::TerrainEngineNode中setMap方法作用((十二)中问题)

13、RexTerrainEngineNode中_mapFrame的作用((十二)中问题)

14、地形变形(Terrain morphing)((十二)中问题)

15、地球瓦片过期门限的含义((十二)中问题)

16、高分辨率优先的含义((十二)中问题)

17、OSGEARTH_DEBUG_NORMALS环境变量的作用((十二)中问题)

18、活跃瓦片寄存器的作用(&

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值