ArcGIS_使用天地图WMTS服务
摘要: 天地图WMTS服务是基于 OGC WMTS的一种地图切片服务,本文主要描述如何通过ArcGIS自定义tileLayer来加载天地图的切片数据 由于公司项目需要使用ArcGIS来加载天地图服务,所以收集和整理了一些ArcGIS方面的资料。自从高二后就几乎没接触过地理知识了,对GIS的了解也是近期学习才了解了一些基本概念,所以理解有偏差的地方希望大家不吝指教。
WMTS (Web Map Tile Service) 是OGC 提出的缓存技术标准,即在服务器端缓存被切割成一定大小瓦片的地图,对客户端只提供这些预先定义好的单个瓦片的服务,将更多的数据处理操作如图层叠加等放在客户端,从而缓解 GIS 服务器端数据处理的压力,改善用户体验。 WMTS 使用瓦片矩阵集(Tile matrix set)来表示切割后的地图,如图1所示。瓦片就是包含地理数据的矩形影像,一幅地图按一定的瓦片大小被切割成多个瓦片,形成瓦片矩阵,一个或多个瓦片矩阵即组成瓦片矩阵集。不同的瓦片矩阵具有不同的分辨率,每个瓦片矩阵由瓦片矩阵标识符(一般为瓦片矩阵的序号,分辨率最低的一层为第0层,依次向上排)进行标识。 图 1 瓦片矩阵集 TiledWMTSLayer是用于访问WMTS服务的分块缓存图层,位于命名空间com.supermap.web.mapping下。TiledWMTSLayer具有通用性,支持任何符合ogc标准的WMTS服务。TiledWMTSLayer可通过HTTP KVP(Key-Value Pair)和 REST两种方式访问WMTS服务。
要想成功访问WMTS服务,需要为TiledWMTSLayer设置的参数有:WMTS服务地址(url)、要访问的图层名称(layerName)、访问方式(requestEncoding)和当前图层(layerName)的具体信息参数。 如某一切片地址为: http://t0./vec_c/wmts?service=wmts&request=gettile&version=1.0.0&layer=vec&STYLE=default&tilematrixset=c&tilematrix=3&tilerow=2&tilecol=4&format=tiles 其中http://t0./vec_c/wmts? 为图层服务器地址 其他参数为: GetCapabilities、Gettile
ArcGIS来加载天地图切片主要方式为自定义CustomLayer继承自AGSTiledServiceLayer
1. 初始化Layer schema信息设置可参考官方Capabilities文档内容: http://t0./vec_w/wmts/?SERVICE=WMTS&REQUEST=GetCapabilities 2.
方法中,根据请求瓦片的位置,构建瓦片URL信息,创建操作并加入全局队列 瓦片信息下载完成后,调用 [super setTileData:op.imageData forKey:op.tileKey]; 将数据显示到对应Key的位置上 Demo地址: https://github.com/HonglingHe/ArcGIS_TianDiTuWMTS 参考链接: 1> http://blog.csdn.net/u012239760/article/details/50435255 2> http://blog.csdn.net/chaiqi/article/details/9302373 |
|
来自: 昵称QAb6ICvc > 《地图制图》