超图iServer WMTS服务突破18级限制:自定义接口实现高精度瓦片加载

2026-06-04 开发技术 12 次阅读 0 次点赞
超图iServer WMTS服务默认只支持返回18层级及以下的瓦片,超过18层级会返回404错误。解决方法是通过iServer管理平台创建新的服务接口,并编辑配置文件增加自定义比例尺集。具体步骤包括:在服务管理中新增WMTS服务接口,选择Custom比例尺集;编辑iserver-services-interfaces.xml文件,添加0-25层级的比例尺参数(可根据天地图或谷歌底图选择对应比例尺);最后将新接口关联到地图服务并重启。修改后即可通过新接口地址访问19-25层级瓦片。注意配置文件需使用空格而非制表符,且比例尺必须与底图一致以避免偏移。

超图 iServer WMTS 服务默认只能返回小于等于 18 层级的瓦片,如果需要返回 18 层级以上的瓦片,需要在 iServer 管理平台里面创建服务接口。

服务器环境

SuperMap iServer 11i

示例

1、超图 WMTS 服务小于等于 18 层级正常返回瓦片

请求:

http://localhost:3090/iserver/services/map-DXT/wmts100/DXT/default/GoogleMapsCompatible_DXT/18/106647/207345.png

响应:

WMTS瓦片

2、大于 18 层报 404 错误

请求:

http://localhost:3090/iserver/services/map-DXT/wmts100/DXT/default/GoogleMapsCompatible_DXT/19/213293/414686.png

状态码: 404 Not Found

响应:

<ExceptionReport xmlns="http://www.opengis.net/ows/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema" version="1.1.0">
  <Exception exceptionCode="InvalidParameterValue" locator="TileMatrix">
    <ExceptionText>WMTS请求的GoogleMapsCompatible_DXT所属的分块矩阵19不存在</ExceptionText>
  </Exception>
</ExceptionReport>

解决方法

1、在浏览器中打开 iServer 管理平台,点击服务管理

http://localhost:3090/iserver/

超图iServer管理平台首页

超图iServer服务管理平台

2、点击服务菜单下面的服务装配,点击服务接口。添加服务接口,按以下内容填写

  • 接口名称: 随意填写,例如:WMTS25
  • 接口类型: 选择 WMTS 服务接口
  • 比例尺集: 选择 Custom,点击后面的添加按钮。由于新版 UI 存在 bug,无法修改自定义比例尺集的比例尺和 dpi。直接点击下面的添加,保存服务接口。

iServer接口服务列表

添加WMTS接口服务

3、编辑文件 D:\SuperMap\supermap-iserver\webapps\iserver\WEB-INF\iserver-services-interfaces.xml,修改最下面添加的 WMTS25 服务接口的配置

重要提示:

  • 配置文件中的所有空白必须是空格,不能是制表符,否则会报 xml 无法解析的错误。
  • 修改文件会立即生效,无需重启 iServer 服务。
  • WMTS 图层比例尺必须跟底图的比例尺保持一致,否则会产生偏移。
<interface class="com.supermap.services.wmts.WMTSServlet" name="WMTS25">
  <config class="com.supermap.services.wmts.WMTSConfig">
    <identification>
      <keywords/>
    </identification>
    <provider>
      <serviceContact/>
    </provider>
    <hideFeatureInfo>false</hideFeatureInfo>
    <customEntireBounds>-20037508.3427892,-20037508.3427892,20037508.3427892,20037508.3427892</customEntireBounds>
    <tileMatrixSets>
      <com.supermap.services.wmts.TileMatrixSet>
        <wellKnownScaleSet>Custom</wellKnownScaleSet>
        <scales>591658710.9091312,295829355.4545656,147914677.7272828,73957338.8636414,36978669.4318207,18489334.71591035,9244667.357955175,4622333.678977588,2311166.839488794,1155583.419744397,577791.7098721985,288895.85493609926,144447.92746804963,72223.96373402482,36111.98186701241,18055.990933506204,9027.995466753102,4513.997733376551,2256.998866688275,1128.4994333441375,564.2497166720688,282.1248583360344,141.0624291680172,70.5312145840086,35.2656072920043,17.63280364600215</scales>
        <dpi>96</dpi>
        <tileWidth>256</tileWidth>
        <tileHeight>256</tileHeight>
      </com.supermap.services.wmts.TileMatrixSet>
    </tileMatrixSets>
    <verifyMode>DEFAULT</verifyMode>
  </config>
</interface>

如果你使用天地图作为底图,使用以上配置即可。如果你使用谷歌底图,比例尺 scales 需要改成谷歌标准的比例尺。

谷歌底图 0~25 层级比例尺(0~19层级数据来自ArcGIS Server,后面的比例尺为除2得到):

591657527.591555,295828763.795777,147914381.897889,73957190.948944,36978595.474472,18489297.737236,9244648.868618,4622324.434309,2311162.217155,1155581.108577,577790.554289,288895.277144,144447.638572,72223.819286,36111.909643,18055.954822,9027.977411,4513.988705,2256.994353,1128.497176,564.248588,282.124294,141.062147,70.5310735,35.26553675,17.632768375

天地图底图 0~25 层级比例尺(0~19层级数据来自WMTS能力文档,后面的比例尺为除2得到):

591658710.9091312,295829355.4545656,147914677.7272828,73957338.8636414,36978669.4318207,18489334.71591035,9244667.357955175,4622333.678977588,2311166.839488794,1155583.419744397,577791.7098721985,288895.85493609926,144447.92746804963,72223.96373402482,36111.98186701241,18055.990933506204,9027.995466753102,4513.997733376551,2256.998866688275,1128.4994333441375,564.2497166720688,282.1248583360344,141.0624291680172,70.5312145840086,35.2656072920043,17.63280364600215

4、点击服务下面的服务管理,打开 WMTS 服务所在的地图服务。在服务接口中勾选我们新添加的 WMTS25 服务,点击保存,然后重启这个地图服务

WMTS服务添加接口

5、使用以下地址即可访问能力文档和 19~25 层级的地图瓦片

能力文档:

http://localhost:3090/iserver/services/map-DXT/WMTS25

19 层级瓦片:

http://localhost:3090/iserver/services/map-DXT/WMTS25/DXT/default/Custom_DXT/19/213293/414686.png

20 层级瓦片:

http://localhost:3090/iserver/services/map-DXT/WMTS25/DXT/default/Custom_DXT/20/426586/829372.png

参考文档

接口定义文件:D:\SuperMap\supermap-iserver\webapps\iserver\WEB-INF\iserver-services-interfaces.xml

服务定义文件:D:\SuperMap\supermap-iserver\webapps\iserver\WEB-INF\iserver-services.xml

天地图能力文档:https://t5.tianditu.gov.cn/cva_w/wmts?SERVICE=WMTS&REQUEST=GetCapabilities&tk=天地图TK

最后更新于13小时前
本文由人工编写,AI优化,转载请注明原文地址: 超图iServer WMTS服务突破18级限制:自定义接口实现高精度瓦片加载

评论 (0)

登录 后发表评论

暂无评论,快来发表第一条评论吧!