osgEarth的Rex引擎原理分析(二十九)osgEarth::Map的Profile创建过程

目标:(二十)中的问题63

osgEarth::Profile定义了地理信息数据源的组织方式,包括参考坐标系、在参考坐标系下地理信息范围、瓦片分片方案等。

Profile翻译为参数配置文件比较合适。

创建过程位于osgEarth::Map::caculateProfile函数中,主要是从尝试从不同地方来创建这个Profile,具体完成以下操作:

1、获取所有的地图图层,用于尝试构建Profile的一种方式,每一个图层都可能会关联一个Profile。

2、尝试从地图选项_mapOptions中创建Profile,地图选项在解析.earth文件时从文件option选项中继承过来。会调用osgEarth::Profile的create函数来创建。

3、如果地图选项的坐标系类型是地心坐标系,如果上一步中profile创建成功,并且参考坐标系是投影坐标系(二维),则将profile修正为wgs84坐标系。

4、如果地图选项的坐标系类型是投影坐标系,如果2中profile创建成功,并且参考坐标系是地理坐标系(三维),则将profile修正为等距圆柱投影,如果失败则尝试采用地图图层的profile,如果还失败则尝试创建墨卡托投影。

5、3和4都失败,尝试创建默认wgs84的profile。

6、如果profile设置了垂直水准面,则删除掉。

7、如果地图设置了回调函数,则执行回调函数。

8、将参数配置文件通知到每一个地图图层。

典型的调用Map的Profile函数的方法为:rex引擎的setMap中通过map调用getProfile方法

空间参考坐标系(osgEarth::SpatialReference、osgEarth::CubeSpatialReference、osgEarth::TangentPlaneSpatialReference)

地球椭球体ellipsoid 大地基准面datum 地图投影Projection 大地基准面是适应某一区域的椭球体 地图投影是球面和平面映射关系的方法

空间参考坐标系和坐标系统类型的关系(geocentric projected)

proj4是什么

为什么要删除设置过的垂直水准面

猜你喜欢

转载自blog.csdn.net/hankern/article/details/84500491
今日推荐