ArcGIS WMTS
ArcGIS WMTS 在发布服务时会完成对地图瓦片的切片,是一种加载起来相对稳定与高效的地图服务格式。但地图服务完成切片后,无法再进行重投影,因此DTS平台目前仅支持直接加载投影坐标系的WMTS服务,对于地理坐标系的地图服务(例如EPSG:4490、EPSG:4326等),可以通过ArcGIS Server 的“Export Map”接口获取重投影后的动态地图服务,并添加到DTS平台中浏览与使用。
注意:
- 同时叠加使用多个不同切片参考点或数据范围的地图服务,需要升级至 V5.4及以上版本。
- 此外,虽然地理坐标系的WMTS服务可以通过“Export Map”接口重投影加载,但通过“Export Map”接口请求的地图瓦片会在ArcGIS Server服务器重新实时绘制,所以加载效率会受到较大影响,尤其在地图层级较为精细或者地图范围较大时,不建议使用这种方式加载地理坐标系的WMTS,需要将原始数据修改为投影坐标,并将服务重新发布为“和场景一致的投影坐标系”的WMTS进行加载。
获取服务地址
参考ArcGIS WMTS服务发布方法完成服务发布。
在浏览器打开“ArcGIS Server Manager”并进入地图服务的“REST URL”中,直接复制浏览器地址即可。
http://localhost:6080/arcgis/rest/services/wmts/test4490wmts/MapServer
地图服务重投影
如果当前WMTS服务为投影坐标系,直接加载即可。如果服务为地理坐标系,则需要参考这一步骤将地图服务重投影至投影坐标系(例如EPSG:3857、EPSG:4547等)。
使用“Export Map”对服务进行重投影时,ArcGIS Server 默认将会使用地图在ArcMAP中发布时的视角范围,这可能会导致服务在DTS平台中加载不完整。因此,需要先获取服务原始坐标系下的 Full Extent 并记录。
在页面底部点击“Export Map”。
在打开页面中切换“Format”为“Image”,点击“Export Map Image(GET)”。
在打开的页面中复制浏览器地址并记录。
服务地址示例: http://localhost:6080/arcgis/rest/services/wmts/test4490wmts/MapServer/export?bbox=113.87710181630015%2C22. 492904325719568%2C113.9371118228672%2C22.522266874531514&bboxSR=&layers=&layerDefs=&size=&imageSR=&format=png&transparent=false&dpi=&time=&layerTimeOptions=&dynamicLayers=&gdbVersion=&mapScale=&f=image
在浏览器中返回 Export Map 页面,分别设置 Bounding Box、Bounding Box Spatial Reference、Image Spatial Reference 与 Format:
Bounding Box: 填入Full Extent 的范围值,数值之间用英文逗号“,”分隔开。例如 “113.41163504611674,22.09368539241818,114.93581771892617,23.066001741634242”
Bounding Box Spatial Reference: 填入地图服务坐标系的EPSG编码,例如上述服务的 Spatial Reference 为4490,则填入4490。
Image Spatial Reference: 填入加载到场景中时,与ACP一致的坐标系的EPSG编码,例如上述服务需要加载至4547的ACP中,则填入4547。
Format: 设置为JSON。
再次点击 Export Map Image (GET),打开服务的JSON页面,得到地图服务重投影后的完整范围。
修改 第4步 中得到的地址“?”后的参数,保留 bbox、bboxSR、layers、layerDefs、size、imageSR、format、transparent、f 参数,参数取值使用“=”声明,参数之间用“&”连接。下面给出这些参数的释义与取值示例。
bbox: 地图边界范围。将第6步中,JSON页面的完整范围使用英文逗号“,”连接。取值439283.38669289491,2419518.7227764535,596574.04857485346,2576809.3846584121。
bboxSR: 地图边界范围的坐标系。取值 xxxx。这里注意,其中的EPSG编码与添加到ACP工程中的数据所使用的坐标系保持一致。例如,添加到工程中的数据所用坐标系为 EPSG 4547 - CM 114E,则bboxSR取值,4547。
layers: 需要渲染的图层名称。一般取值 设置为空 即可。
layerDefs: 图层定义。一般取值 设置为空 即可。
size: 地图瓦片的宽度与高度。取值 256%2C256,不建议修改。
imageSR: 切片图片的坐标系。取值 xxxx。其中的EPSG编码xxxx与bboxSR的EPSG编码保持一致。例如,4547。
format: 地图瓦片格式。取值 png,不建议修改。
transparent: 地图支持透明度设置。取值 true,不建议修改。
f: 请求格式。取值 image,不建议修改。
加载地图服务
打开Explorer,新建工程,坐标系选择与当前地图服务一致的坐标系。
注意: 如果地图服务是自定义的投影坐标系,这里需要通过导入PRJ文件的方式设 置坐标系信息。
在“设置”-“地图服务”中,设置好“服务类型”,输入编辑后的服务地址并按下键盘回车键。
注意: 如果服务经过了重投影处理,需要设置为MapServer加载方式。
导入对应区域的3dt文件或shp数据在图层树中双击定位,即可在场景中找到并浏览地图服务。