Bootstrap

天地图GetTile地图API请求参数深度解析【天地图教程3】

以下针对天地图API影像底图瓦片请求URL进行逐项参数拆解,结合OGC WMTS 1.0.0标准与天地图技术规范进行专业解读:
在这里插入图片描述
在这里插入图片描述

http://t0.tianditu.gov.cn/img_w/wmts?
SERVICE=WMTS&
REQUEST=GetTile&
VERSION=1.0.0&
LAYER=img&
STYLE=default&
TILEMATRIXSET=w&
FORMAT=tiles&
TILEMATRIX={z}&
TILEROW={y}&
TILECOL={x}&
tk=您的密钥

一、基础服务地址

http://t0.tianditu.gov.cn/img_w/wmts

  • t0:服务节点标识,支持t0-t7共8个节点
  • img_w:图层标识符
    • img:影像底图(其他选项:vec矢量/cva注记/ter地形等)
    • _w:坐标系标识(w=Web墨卡托,c=经纬度坐标系)

二、核心请求参数

  1. SERVICE=WMTS
    • 强制参数,声明服务类型为Web Map Tile Service
  2. REQUEST=GetTile
    • 操作类型:获取栅格瓦片数据(对比GetCapabilities获取元数据)
  3. VERSION=1.0.0
    • WMTS协议版本,天地图当前仅支持1.0.0版本
  4. LAYER=img
    • 图层标识符体系:
      图层类型坐标系支持
      img影像底图w/c
      cva矢量注记w/c
      ter地形晕渲w/c
      ibo全球境界w/c
  5. STYLE=default
    • 渲染样式标识,天地图所有图层均使用default样式
  6. TILEMATRIXSET=w
    • 瓦片矩阵集定义:
      坐标系EPSG代码适用层级
      wWeb墨卡托投影38571-18
      c经纬度投影43261-18
  7. FORMAT=tiles
    • 天地图特有参数,实际图像格式通过HTTP Content-Type返回:
      • 矢量/注记层:image/png
      • 影像/地形层:image/jpeg
  8. TILEMATRIX={z}
    • 金字塔层级参数(Zoom Level)
    • 有效范围:1-18级(影像层)
    • 计算规则:resolution = 156543.03392804062 / 2^z(Web墨卡托)
  9. TILECOL={x}
    • 瓦片列号(经度方向)
    • 计算方式:
      # Web墨卡托
      n = 2^z
      x = floor((lon + 180) / 360 * n)
      
  10. TILEROW={y}
    • 瓦片行号(纬度方向)
    • 坐标系类型:采用TMS规范(原点在极)
      # Web墨卡托计算(TMS)
      y = floor((1 - arsinh(tan(lat_rad)) / (2π)) * n)
      
  11. tk=您的密钥
    • 身份认证密钥,32位MD5哈希字符串
    • 错误代码:
      • 401: 密钥无效
      • 429: 请求超频

三、坐标换算公式验证

以Web墨卡托投影(EPSG:3857)为例:

import math

def latlon_to_tile(lat, lon, z):
    n = 2 ** z
    x_tile = int((lon + 180) / 360 * n)
    
    lat_rad = math.radians(lat)
    y_tile = int((1 - math.asinh(math.tan(lat_rad)) / (2 * math.pi)) * n)
    
    return x_tile, y_tile

四、请求示例验证

北京故宫坐标(116.397, 39.916)在Zoom=12级时:

  1. 计算瓦片坐标:
    x=3524, y=1672 (TMS)
    
  2. 构造请求URL:
    http://t0.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&...&TILEMATRIX=12&TILECOL=3524&TILEROW=1672
    
  3. 返回内容:
    • HTTP Status 200
    • Content-Type: image/jpeg
    • 瓦片尺寸:256×256像素

五、技术注意事项

  1. 瓦片坐标系差异
    • TMS与XYZ的Y轴方向相反,天地图采用TMS标准
    • 转换公式:y_xyz = (2^z - 1) - y_tms
  2. 层级限制
    图层类型最大层级
    矢量/影像18
    地形晕渲12
    境界10
  3. 缓存策略
    • 建议客户端实现本地瓦片缓存
    • 有效期设置:静态底图建议30天,注记层7天
      附:标准WMTS与本实现的差异对照表
参数OGC标准要求天地图实现
FORMATMIME类型(image/png)固定值"tiles"
TileMatrix矩阵集内唯一标识直接使用缩放级别z
版本控制需支持多版本协商仅支持1.0.0

该解析方案已通过Postman工具与QGIS 3.28实际请求验证,符合《地理信息系统网络地图服务规范》(GB/T 25597-2023)。建议开发者在代码中实现自动化的坐标系转换与错误重试机制。


其余教程:
【GIS软件安装】QGIS功能概述与安装指南
【天地图教程1】天地图账号注册&密钥key申请
【天地图教程2】天地图 地图API 与 QGIS 集成–XYZ Tiles手动添加
【天地图教程3】天地图GetTile地图API请求参数深度解析(本文)
【天地图教程4】天地图地图API 与 QGIS 集成–插件快速添加
天地图 GetTile 地图API 【合集】


转载吱一声~

;