ArcGIS Portal 10.4 本地坐标系的web 3d地形展示制作说明
By 李远祥
ArcGIS Portal在10.4版本开始支持本地坐标系的三维展示,可以说是ArcGIS产品Web3D的又一进步。但实测发现,还是有一些地方需要注意,并不像直接使用Web墨卡托和网络服务那边顺利。
这里测试的主要是地形数据展示。涉及到两方面,一是基础的DEM数据,用于整个地形的高低起伏,原则上是不展示,将底图叠加进去。而是基础地理底图,一般是影像数据,将影像与DEM叠加,产生一个很好的立体展示效果。
由于使用的Web方式加载,因此,3D就不可能像桌面端一样直接加载影像数据和DEM数据,而是需要分别将这两种数据发布成服务,其叠加原理都是一样。
首先对DEM数据进行发布。这不是简单的使用ArcMap加载并发布,而是需要发布成imageservice服务,这就需要arcgis server的image扩展授权。其操作如下,使用ArcMap的目录面板,展开对应的DEM,点击右键【共享为影像服务】,如下图所示
对于DEM的影像服务,由于是web方式调用,必须对影像服务进行切片操作,这里有特殊的缓存要求。
-
由于数据是非web墨卡托投影,因此发布时必须指定为与arcgisonline、微软bing、googleMap相同的投影(就是web墨卡托投影),希望下个版本可以完善这一点。如图所示,在缓存选项中选择
由于使用这种方案,切片方案是固定的,不能修改。如果希望可以自己修改切片方案,可以选择使用【现有的缓存地图/影像服务】的方案,但这里有个前提,就是这些方案必须坐标系是Web墨卡托,并且缓存要求必须符合第二点的要求。
-
严格限制的切片方案。如果是使用与arcgis online/bing/google 等方案,那就可以忽略这一点了,因为这些地图服务已经做好了各种缓存的设置,直接调整切片级别就可以了。但如果是希望自定义的,必须遵循以下规则,就是缓存的比例上一级必须是下一级的两倍。例如L0 是1:20000,那么L1就是1:10000,L2为1:5000,不能存在1:8000这样的不规律比例尺,不然在调用叠加的时候会提示缓存规则不正确。
-
必须使用影像服务的新规则LERC规则。由于是web 3d,因此,不能像原来的二维影像采用图片的格式,而是采用新的地形切片方式。如下图,在缓存的高级设置里面设置。
发布的时候会提示正在创建缓存。
-
设置好后可以直接共享出去,发布到portal中。在portal中有特别的显示,不是传统的地图服务Map Image Layer ,而是一种新的服务方式Elevation Layer,如下图所示
基础地理底图(与地形叠加一般是影像,常规的切片服务业是可以的)发布也是需要特别的处理。直接将数据加载到ArcMap中,配好图之后在发布之前必须做以下的操作。
-
将数据框的坐标系修改为Web墨卡托投影。如下图所示,坐标必须选择WGS_1984_Web_Mercator_Auxiliary_Sphere
-
切片方案设置。发布地图的时候,在缓存设置过程中,同样对切片方案有严格的限制。为了方便可以使用arcgis online/bing/google 方案。如果是自定义的,必须使用web墨卡托投影的方案,并且其切片比例必须与上述DEM影像服务的切片比例保持一致(如果不一致,叠加的时候会直接报切片方案不一致的错误)。
-
发布数据后在portal里面加载到底图中。在portal中将发布出来的切片服务加载为底图。做法很简单,新建一个地图,如下图,在地图的添加中选择从web添加图层,输入刚才发布的切片底图服务的地址,并且将用作底图的选项勾选上
保存地图,并共享到底图的组中。如下图
这样,在使用dem的时候就有可以选择的本地坐标底图了。
-
登录到portal中,选择【场景】,然后新建一个本地场景,如下图所示
在底图中选择上一步定义的底图,如下图所示
点击左侧的【添加图层】将之前发布的dem影像服务添到场景中,添加后就可以看到整个地形和影像叠加的情况了。如下图所示
总结:整个发布过程归纳起来就是以下几点:
-
本地坐标数据发布的时候必须使用web墨卡托投影的描述。数据本身不需要修改,只是尽量在发布的时候选择使用web墨卡托等相关的方案,"欺骗"系统。
-
切片方案必须也是web墨卡托的,而且切片比例必须严格限定上一级是下一级的两倍,并且dem的地形服务和一般的地理底图服务的切片方案要一致。
-
发布dem地形服务,必须有iamge server 扩展授权,并且采用新的切片格式LERC。
-
发布的基础地理底图(影像切片地图)必须注册到portal的基础底图组中,才能在场景中调用。
-
在展示三维地形的时候,场景的创建必须使用本地场景。Dem地形服务是不显示的,显示的是基础地理底图。因此,必须要发布两个服务才能真正的查看到三维地形。