1. 简要介绍
WMTS,切片地图Web服务(OpenGIS Web Map Tile Service)当前版本是1.0.0。WMTS标准定义了一些操作,这些操作允许用户访问切片地图。WMTS可能是OGC首个支持RESTful访问的服务标准。
WMTS提供了一种采用预定义图块方法发布数字地图服务的标准化解决方案。WMTS弥补了WMS不能提供分块地图的不足。WMTS牺牲了提供定制地图的灵活性,代之以通过提供静态数据(基础地图)来增强伸缩性,这些静态数据的范围框和比例尺被限定在各个图块内。这些固定的图块集使得对WMTS服务的实现可以使用一个仅简单返回已有文件的Web服务器即可,同时使得可以利用一些标准的诸如分布式缓存的网络机制实现伸缩性。
1.1. 原理
WMTS的切片坐标系统和其组织方式可参考下图:
1.2. 操作
WMTS接口支持的三类资源如下表所示:
操作 | 是否必选 | 描述 |
---|---|---|
GetCapabilities | 是 | 获取服务的元信息 |
GetTile | 是 | 获取切片 |
GetFeatureInfo | 否 | 获取点选的要素信息 |
**三类资源的具体含义如下:**
**a.**一个服务元数据(ServiceMetadata)资源(面向过程架构风格下对GetCapabilities操作的响应)(服务器方必须实现)。ServiceMetadata资源描述指定服务器实现的能力和包含的信息。在面向过程的架构风格中该操作也支持客户端与服务器间的标准版本协商。
**b.**图块资源(对面向过程架构风格下GetTile操作的响应)(服务器方必须实现)。图块资源表示一个图层的地图表达结果的一小块。
**c.**要素信息(FeatureInfo)资源(对面向过程架构风格下GetFeatureInfo操作的响应)(服务器方可选择实现)。该资源提供了图块地图中某一特定像素位置处地物要素的信息,与WMS中GetFeatureInfo操作的行为相似,以文本形式通过提供比如专题属性名称及其取值的方式返回相关信息。
1.3. iServer中WMTS服务
iServer 提供支持 WMTS 1.0.0标准的服务,同时提供了一个兼容《地理信息公共服务平台 电子地图数据规范》中地图分级标准的“wmts-china”接口实例,可用于对接天地图等国内地图服务。二者本质上一致,”wmts-china”接口实例区别在于定义了天地图的比例尺集。
2. 内容解析
如下为iServer发布的wmts中对Layer的描述,主要包括如下内容:地图名、地图范围、缓存图片格式、比例尺集合、获取图片的url地址模板,具体可参考如下范例:
<Layer>
<ows:Title>China</ows:Title>
<ows:Identifier>China</ows:Identifier>
<ows:BoundingBox crs="urn:ogc:def:crs:EPSG::3857">
<ows:LowerCorner>-2.0037508342789244E7 -2.003750834278914E7</ows:LowerCorner>
<ows:UpperCorner>2.0037508342789244E7 2.0037508342789095E7</ows:UpperCorner>
</ows:BoundingBox>
<Style isDefault="true">
<ows:Identifier>default</ows:Identifier>
</Style>
<Format>image/png</Format>
<InfoFormat>application/xml</InfoFormat>
<TileMatrixSetLink>
<TileMatrixSet>Custom_China</TileMatrixSet>
</TileMatrixSetLink>
<ResourceURL format="image/png" resourceType="tile" template="http://localhost:8090/iserver/services/testwmts-comp/testwmts/China/default/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png"/>
<ResourceURL format="application/xml" resourceType="FeatureInfo" template="http://localhost:8090/iserver/services/testwmts-comp/testwmts/China/default/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}/{J}/{I}.xml"/>
</Layer>
3. 问题解析
###3.1. 桌面无法打开数据源###
a . 服务能力文档解析不了
文档不符上述规范,无法解析,请先对比【内容解析】章节,再通过图片地址在网页中查找是否有图。最后,可与研发同事一起查看解析失败原因。
b. 服务地址中X与Y坐标值写反
对于每一个比例尺,即每一个TileMatrix,其内都包含一项左上角点坐标属性,名称为TopLeftCorner,一般情况下,Y坐标值在前,X坐标值在后,如< TopLeftCorner>90 -180< /TopLeftCorner>。
部分服务,有可能出现,X坐标值在前,Y坐标值在后,如-180 90,针对此类情况,在桌面打开时,需要添加一定参数,如下例所示:http://www.sdmap.gov.cn/tileservice/SDPubMap?TOPLEFTCORNEREXCHANGE=0&DPI=96
###3.2. 白图###
a. 服务中起算点错误
BoundingBox中坐标是先写x坐标后写y坐标,但部分服务可能是先写y坐标后写x坐标,针对这种情况,在组件的SuperMap.xml中如下内容即可:< IsTopLeftCornerExchange >True< / IsTopLeftCornerExchange >
b. 图片格式错误
服务中发布的图片是jpg或其他非png格式,如果桌面没图,可手动将桌面Cache目录下此服务sci中图片格式项手动改成实际图片格式;
c. DPI不对;
服务中地图dpi非96,可将桌面Cache目录下此服务sci中dpi修改为地图dpi即可,对应的项是< sml:CoordRatio>。