XYZ瓦片链接怎么找?不同底图怎么加载?

GIS基础理论
Dr.GIS
wowwwai GIS研习社 · 工具流程与项目排障

很多同学在做 WebGIS、QGIS 或 ArcGIS Pro 在线底图配置时,都会遇到一个很具体的问题:XYZ瓦片链接怎么找?不同底图怎么加载? 本文围绕这个问题,讲清楚 XYZ 瓦片链接的结构、常见底图来源、在 QGIS 和 WebGIS 中的加载方法,以及为什么有些链接能打开、有些链接却加载失败。

XYZ瓦片链接怎么找和不同底图怎么加载示意图
XYZ 瓦片的核心是通过 z、x、y 三个参数请求不同级别和位置的地图瓦片。

引言:为什么 GIS 项目经常需要找 XYZ 瓦片链接

在 GIS 学习和项目开发中,在线底图几乎是最常见的基础数据之一。无论你是在 QGIS 中叠加矢量数据,还是在 Leaflet、OpenLayers 里开发 WebGIS 页面,都可能需要配置 XYZ 瓦片链接。

XYZ 瓦片链接通常不是一个普通网页地址,而是一个带有占位符的 URL 模板,例如:

https://example.com/tiles/{z}/{x}/{y}.png

其中 {z} 表示缩放级别,{x}{y} 表示瓦片行列号。地图软件会根据当前视图范围自动替换这些参数,请求对应的小图片,再把它们拼接成完整底图。

背景:XYZ瓦片链接怎么找才靠谱

要找到可用的 XYZ 瓦片链接,建议优先从官方文档、公开服务说明、开发者平台或自己部署的瓦片服务中获取。不要只复制网上零散的链接,因为很多链接可能存在权限、Key、跨域、服务变更或使用条款问题。

常见的 XYZ 瓦片链接来源

  • 官方地图开发平台:例如高德、天地图、Mapbox、ArcGIS Online 等,一般需要申请 Key 或 Token。
  • 开源底图服务:例如 OpenStreetMap 相关瓦片服务,但要注意访问频率和使用政策。
  • 自建瓦片服务:例如使用 GeoServer、MapProxy、TileServer GL、MBTiles 服务发布自己的瓦片。
  • 浏览器开发者工具:可以用于学习和排查瓦片请求结构,但不等于可以随意商用或大流量调用。

用浏览器开发者工具识别瓦片请求

  1. 打开一个在线地图页面。
  2. F12 打开浏览器开发者工具。
  3. 进入 Network 面板。
  4. 拖动或缩放地图,让页面发起新的瓦片请求。
  5. 在请求列表中筛选 pngjpgwebptilexyz 等关键词。
  6. 观察 URL 中是否存在缩放级别、行列号、图层类型、Key 或 Token 参数。

如果你看到类似下面的结构,就很可能是瓦片请求:

https://server.example.com/tile?x=13452&y=6201&z=14

或:

https://server.example.com/14/13452/6201.png

把具体数字替换为 {z}{x}{y} 后,通常就可以得到 XYZ 瓦片链接模板。

原理:XYZ 瓦片链接为什么要有 x、y、z

XYZ 瓦片是一种把全球地图按缩放级别切成小图片的组织方式。缩放级别越大,瓦片越细,地图看起来越详细。

  • z:缩放级别。一般从 0 开始,数字越大,地图越详细。
  • x:瓦片列号,从左到右递增。
  • y:瓦片行号,从上到下递增。

大多数 Web 地图底图采用 Web Mercator 投影,也就是 EPSG:3857。QGIS、Leaflet、OpenLayers 加载常见在线底图时,通常都会按 EPSG:3857 的瓦片规则进行显示。

如果你的业务数据是 CGCS2000、WGS84 经纬度或地方坐标系,加载 XYZ 底图后需要检查坐标系是否正确,否则容易出现图层偏移。

XYZ 和 TMS 的 y 方向差异

很多加载失败或位置上下颠倒的问题,来自 XYZ 和 TMS 的行号规则差异。XYZ 的 y 通常从上往下增加,而 TMS 的 y 通常从下往上增加。

类型 行列规则 常见场景
XYZ x 从左到右,y 从上到下 Leaflet、OpenLayers、QGIS XYZ Tiles
TMS x 从左到右,y 从下到上 部分老服务、自建瓦片服务、部分 GIS 服务配置

如果同一个瓦片链接在某些软件里显示错位或上下翻转,要优先检查它到底是 XYZ 还是 TMS。

步骤:不同底图怎么加载

下面按常见使用场景,分别说明不同底图怎么加载。这里不绑定某一个商业底图链接,而是重点讲清楚通用配置方法和检查点。

在 QGIS 中加载 XYZ 瓦片底图

  1. 打开 QGIS。
  2. 在左侧 浏览器 面板中找到 XYZ Tiles
  3. 右键点击 XYZ Tiles,选择 新建连接
  4. 填写名称,例如 OSM底图影像底图自建瓦片
  5. 在 URL 中填写 XYZ 瓦片链接模板。
  6. 如果服务要求 Key,把 Key 参数一并写入 URL。
  7. 点击确定后,双击该连接加载到底图中。

示例格式如下:

https://example.com/tiles/{z}/{x}/{y}.png

如果是带参数的服务,可能类似:

https://example.com/tile?x={x}&y={y}&z={z}&key=你的Key

加载后建议先把工程坐标系设置为 EPSG:3857,或者打开 QGIS 的动态投影功能,再叠加自己的矢量数据检查是否对齐。

在 ArcGIS Pro 中加载 XYZ 或 Web Tile Layer

ArcGIS Pro 更常见的方式是添加 Web 图层、WMTS 或 ArcGIS REST 服务。如果你手上是标准 XYZ 瓦片链接,可以根据版本和服务类型尝试通过 Web 图层方式添加。

  1. 在 ArcGIS Pro 中打开地图工程。
  2. 进入 Map 相关菜单。
  3. 选择添加数据或添加 Web 图层。
  4. 输入在线瓦片服务地址。
  5. 确认服务类型是否被 ArcGIS Pro 识别。
  6. 加载后检查坐标系、比例尺范围和瓦片显示层级。

如果 ArcGIS Pro 无法直接识别某个 XYZ 链接,可以考虑使用 WMTS 服务、ArcGIS REST MapServer 服务,或者将瓦片服务通过中间服务转换后再加载。

在 Leaflet 中加载不同底图

Leaflet 加载 XYZ 瓦片非常直接,常用 L.tileLayer。示例代码如下:

var map = L.map('map').setView([31.2304, 121.4737], 12);

L.tileLayer('https://example.com/tiles/{z}/{x}/{y}.png', {
  maxZoom: 18,
  attribution: '底图来源'
}).addTo(map);

如果底图需要 Token,可以写在 URL 中:

L.tileLayer('https://example.com/tiles/{z}/{x}/{y}.png?token=你的Token', {
  maxZoom: 18
}).addTo(map);

加载不同底图时,可以创建多个图层对象,再用图层控制器切换:

var vec = L.tileLayer('https://example.com/vector/{z}/{x}/{y}.png');
var img = L.tileLayer('https://example.com/image/{z}/{x}/{y}.jpg');

var baseMaps = {
  '矢量底图': vec,
  '影像底图': img
};

vec.addTo(map);
L.control.layers(baseMaps).addTo(map);

在 OpenLayers 中加载 XYZ 瓦片

OpenLayers 中通常使用 ol/source/XYZ。适合需要更复杂图层控制、投影处理和前端工程化的 WebGIS 项目。

const tileLayer = new ol.layer.Tile({
  source: new ol.source.XYZ({
    url: 'https://example.com/tiles/{z}/{x}/{y}.png',
    maxZoom: 18
  })
});

const map = new ol.Map({
  target: 'map',
  layers: [tileLayer],
  view: new ol.View({
    center: ol.proj.fromLonLat([121.4737, 31.2304]),
    zoom: 12
  })
});

如果底图显示空白,先打开浏览器 Network 面板,看瓦片请求是否返回 200。如果返回 401、403 或 404,就不是地图代码问题,而是权限、路径或参数问题。

加载矢量底图、影像底图和注记底图

不同底图怎么加载,关键是区分底图类型。常见底图一般包括:

  • 矢量底图:适合道路、行政区、地名等通用背景。
  • 影像底图:适合遥感解译、地物核查、规划辅助。
  • 注记底图:通常叠加在影像底图上,用于显示地名、道路名等文字。
  • 地形底图:适合山地、水文、地貌相关分析展示。

在 WebGIS 中,影像底图和注记底图通常需要分别加载,并控制图层顺序:

影像底图:放在最底层
注记底图:放在影像之上
业务图层:放在注记或底图之上,根据制图需要调整

在 QGIS 中也是同样逻辑:影像瓦片放下面,注记瓦片放上面,自己的点线面数据再放在合适位置。

常见坑:XYZ 瓦片链接加载失败的排查方法

链接能在浏览器打开,但 QGIS 加载不了

单张瓦片能打开,不代表 URL 模板一定正确。你需要确认链接里是否已经把具体数字替换成了 {z}{x}{y}

  • 错误思路:直接复制某一张瓦片的固定地址。
  • 正确思路:找到瓦片 URL 规律,改成可动态请求的模板。

底图一片空白

底图空白时,优先检查以下内容:

  • URL 是否完整。
  • {z}{x}{y} 是否写错大小写。
  • 服务是否需要 Key、Token 或 Referer。
  • 当前缩放级别是否超出服务范围。
  • 网络是否能访问该服务器。
  • 服务是否限制跨域访问。

底图和矢量数据偏移

偏移问题通常不是 XYZ 瓦片链接本身的问题,而是坐标系、加密坐标或数据来源不一致造成的。

  • 检查业务数据坐标系是否定义正确。
  • 检查工程坐标系是否为 EPSG:3857 或能正确动态投影。
  • 检查底图是否使用特殊坐标偏移体系。
  • 不要把“定义投影”和“投影转换”混为一谈。

缩放到某一级别后瓦片消失

很多瓦片服务只提供有限缩放级别。例如某些服务只到 18 级,超过后就会返回空白或 404。解决方法是在客户端设置最大缩放级别。

maxZoom: 18

在 QGIS 中,也可以检查 XYZ Tiles 连接属性,确认是否设置了合适的缩放范围。

复制网上链接后很快失效

这类问题很常见。原因可能包括服务地址调整、Key 失效、访问来源限制、服务商策略变化或链接本来就不是公开服务。正式项目应使用合规、稳定、可维护的底图服务。

方法比较:XYZ、WMTS、WMS 和矢量瓦片怎么选

方式 特点 适合场景 注意事项
XYZ 瓦片 结构简单,加载快,WebGIS 支持好 在线底图、影像底图、缓存地图 通常是图片瓦片,样式不易动态调整
WMTS OGC 标准瓦片服务 政务 GIS、标准化平台、专业 GIS 软件 配置项比 XYZ 多,需要匹配瓦片矩阵
WMS 按范围动态出图 专题图、动态渲染、服务器端制图 高并发下性能可能不如瓦片缓存
矢量瓦片 传输矢量数据,前端可渲染样式 高性能 WebGIS、多样式地图、交互制图 配置和样式体系更复杂

如果你只是想快速加载一张在线底图,XYZ 瓦片通常最简单。如果你在做规范化平台或需要对接行业系统,WMTS 更常见。如果你需要动态专题渲染,可以考虑 WMS。如果你要做高性能、可定制样式的 WebGIS 底图,可以研究矢量瓦片。

检查清单:配置 XYZ 瓦片链接前后要确认什么

  • 是否确认该瓦片服务允许当前用途使用。
  • 是否拿到了官方文档、Key 或 Token。
  • URL 模板是否包含 {z}{x}{y}
  • 瓦片格式是否正确,例如 pngjpgwebp
  • 是否知道服务的最小和最大缩放级别。
  • 是否确认是 XYZ 规则,而不是 TMS 规则。
  • 是否检查过浏览器 Network 返回状态码。
  • 是否确认业务数据和底图坐标系能正确对齐。
  • 是否在正式项目中避免使用不稳定的临时链接。
  • 是否为 WebGIS 项目设置了图层顺序和版权署名。

FAQ:XYZ瓦片链接怎么找和不同底图怎么加载的常见问题

Q1:XYZ瓦片链接怎么找最稳妥?

最稳妥的方法是从官方开发文档、开放平台或自己部署的瓦片服务中获取。浏览器开发者工具可以帮助理解瓦片请求结构,但正式项目不建议依赖来源不明的链接。

Q2:为什么我复制的 XYZ 瓦片链接只能打开一张图片?

因为你复制的可能是单张瓦片地址,而不是 URL 模板。需要把具体的缩放级别、列号、行号替换成 {z}{x}{y},地图软件才能自动请求不同位置的瓦片。

Q3:不同底图怎么加载到同一个 WebGIS 页面?

可以分别创建多个瓦片图层,例如矢量底图、影像底图、注记底图,再通过图层控制器切换或叠加。影像底图一般放底层,注记底图放影像上方,业务图层再根据显示效果调整顺序。

Q4:QGIS 加载 XYZ 底图后和我的矢量数据对不上怎么办?

先检查矢量数据是否正确定义坐标系,再检查 QGIS 工程坐标系和动态投影设置。很多偏移不是瓦片链接问题,而是数据坐标系定义错误、投影转换错误或底图坐标体系差异造成的。

Q5:XYZ 瓦片和 WMTS 哪个更适合 GIS 项目?

如果是快速加载互联网底图,XYZ 更简单。如果是政务、行业平台或需要标准化对接,WMTS 更规范。两者都可以用于底图加载,选择时主要看服务来源、软件支持和项目规范要求。

Q6:为什么同一个 XYZ 链接在 Leaflet 能用,在其他软件不能用?

可能是软件对 URL 模板、请求头、跨域、Token、瓦片坐标规则或投影支持不同。建议先用浏览器 Network 检查请求状态,再对比软件对 XYZ、TMS、WMTS 的支持方式。

结论:先识别瓦片规则,再选择合适的加载方式

解决 XYZ瓦片链接怎么找?不同底图怎么加载? 这个问题,关键不是简单复制一个链接,而是理解 URL 模板、瓦片行列号、缩放级别、坐标系和服务权限。

实际操作时,可以按这个顺序处理:先确认底图服务来源是否合规,再识别 XYZ 瓦片链接模板,然后在 QGIS、Leaflet、OpenLayers 或 ArcGIS Pro 中加载,最后检查坐标对齐、缩放级别、权限和图层顺序。

对于学习和测试,XYZ 瓦片是最容易上手的在线底图方式;对于正式项目,应优先选择稳定、授权明确、文档完整的底图服务,并保留清晰的配置记录,方便后续维护和排查问题。