ArcGIS WMTS
WMTS地图服务
DTS平台支持ArcGIS Server发布的WMTS服务。WMTS地图服务,可以在Explorer中作为小地图或大地图进行展示。
在Explorer中,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进行加载。
准备工作
发布WMTS服务,需要以下软件环境。
软件 | 版本 |
---|---|
ArcGIS Server | 10.X |
ArcMap | 10.X |
推荐使用10.5版本
数据处理
通过ArcMap V10.X软件,对矢量或栅格数据进行配置。
数据添加
将矢量或栅格数据添加到ArcMap V10.X中,并对矢量数据进行配图等设置。
检查设置坐标系
地图首先需指定地图的坐标系为投影坐标系,并且根据实际坐标选择CGCS 2000坐标系中的相应坐标。 如下图选择了“CGCS_2000_3_Degree_GK_CM_114E”。
强调:坐标系必须是工程“图层”的坐标系,数据图层的坐标系会被“图层”的坐标系重投影。所以数据的坐标系相对来说是无效的!
生成切片方案
该步骤主要工作为分析待切片影像数据的质量、范围、分辨率,设置切片各层的比例尺。 切片同一来源数据时,该工作执行一次即可,后续该批次所有影像都要使用该切片方案,主要目的是为了发布的地图服务地图缓存具有统一的切片缓存比例尺。
注意:如果希望能同时加载多个WMTS服务,则切片方案必须统一!
操作步骤
- 依次选择“目录” > “工具箱” > “系统工具箱” > “Data Management Tools.tbx” > “切片缓存” > “生成切片缓存方案”。
- 打开“生成切片缓存切片方案”面板。
- 在“输入数据源”中选择当前工程MXD文件。
- 在“输出切片方案”中,选择一个目录存储切片方案XML文件。
- 生成方法为默认即可。
- 按照项目需求设置比例级数。
- 选择“确定”,生成切片方案。
发布服务
通过ArcMap V10.X软件,将数据发布为ArcGIS Server的WMTS服务。
服务器链接
操作步骤
- 在目录版中中,选择“GIS服务器(GIS Servers)” >“添加ArcGIS Server”。
- 选择“使用GIS服务”。
- 输入服务器URL、用户名和密码等信息。用户名及密码在安装ArcGIS Server时设置。
- 服务器链接后,在目录中会显示已连接的服务器。
共享服务
通过ArcMap软件,将工程发布为WMTS服务。 工程数据可以通过控制图层的显隐来决定发布后的内容。
操作步骤
- 选择“文件” > “共享为” > “服务”。
- 弹出“共享为服务”面板。选择“发布服务”并下一页。
- 可能会出现“安全警报”提示,连续选择“是”确定。
- 在“选择一个链接”处会默认选中刚才链接的服务信息。以及设置“服务名称”(建议英文路径,并且不要有符号)。
- 保持默认设置。
- 弹出“服务编辑器”面板,选择“缓存”分类。
- 设置缓存中的“绘制此地图服务”类型为“使用缓存中的切片”。
- 并设置缓存“切片方案”为“切片方案文件”,在弹出的资源管理器中选择刚才创建的切片方案XML文件并添加。
- 根据项目的情况设置“细节层次”的级别,缓存级别越高,数据量越大,发布时间也会越久。
- 选择“项目描述”分类。并设置相关详细内容。
- 其他选项保持默认即可。
- 选择“分析”,并查看分析结果。对分析中的问题一一排查解决。
- 所有设置确认无误后,选择“发布”。
- 发布过程中,可能会弹出“将数据复制到服务器”面板,选择“确定”即可。
- 然后服务会正常发布,并上传数据至服务器。
- 发布完成后会提示发布结果,选择“确定”完成发布。
查看服务
查看已发布的服务,及WMTS服务链接。
操作步骤
- 运行“ArcGIS Server Manager”,正在浏览器中打开管理页面。输入ArcGIS Server的用户名和密码。
- 选择“服务”>“管理服务”,可以在列表中查看已发布成功的服务。
- 选择一个服务,在“功能”中可以查看到该服务的“URL”地址。“REST URL”即为DTS平台所需的WMTS服务地址,拷贝后备用。
- 进入“REST URL”中,可以查看该服务的详细信息及预览。只有包含“WMTS”的服务,在DTS平台才可正常使用。
确定服务范围坐标值
在ArcGIS中,不同的坐标系发布成WMTS服务后,范围的坐标值的显示顺序会有所不同。例如有些生成后的范围坐标系为X、Y;有些为Y、X。当范围坐标值的顺序没有设置正确时,相关服务就无法正常显示。
获取服务地址
完成服务发布。
在浏览器打开“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数据在图层树中双击定位,即可在场景中找到并浏览地图服务。