news 2026/10/13 15:46:10

QGIS在线图源全攻略:XYZ、WMTS与坐标系避坑指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
QGIS在线图源全攻略:XYZ、WMTS与坐标系避坑指南

干 GIS 的应该都有同感:打开 QGIS 之后第一件事就是找一张能用的底图,没有底图,矢量点线面就像往黑板上丢了一堆散装数字,谁也别想定位。在线图源恰恰是解决这个问题的捷径,QGIS 里加一个稳定图源,几秒钟就能把全球俯瞰、卫星影像、地形等高线全部铺到底图上。这篇文章就是我多年攒下来的 QGIS 可添加在线图源汇总,所有地址都是实际用过或者验证过的,主要面向测绘、规划、地理信息、遥感这些日常离不开 QGIS 的人,也适合刚入门的新手照着操作。

和一般收藏夹里只丢一串 URL 的清单不同,我会把协议类型、坐标系、需要不需要密钥、常见故障全都说清楚。毕竟在 QGIS 里添加在线图源这件事,真正的坑从来不是“地址哪找”,而是“地址填进去之后地图为什么是歪的、是白的、是加载不出来的”。这个清单我会像维护工具库一样持续更新,后面每遇到一个稳定好用的图源就补一次,所以建议直接收藏。

1. 动手之前先理清楚:XYZ、WMTS、WMS 到底该选哪个

1.1 三种协议的本质区别

很多人在 QGIS 里加图源,第一步就被“XYZ Tiles”“WMS/WMTS”这两个入口搞懵了。其实它们的关系并不复杂,我用大白话捋一遍。

XYZ 也就是常说的“切片地图服务”,是现在最主流的底图协议。它的原理是把地图按缩放级别切成一张张固定大小的正方形图片,每个瓦片有一个唯一的编号,也就是 URL 里的{z}/{x}/{y}三个参数。z 代表缩放级别,x 代表列号,y 代表行号。OSM(OpenStreetMap)、Esri 影像底图这些基本都是 XYZ,特点是响应快、加载流畅,因为它只需要一次请求一张小图,不需要服务器端临时渲染。

TMS 和 XYZ 几乎是一个东西,唯一区别是行号方向相反。XYZ 的行号 y 从北到南增长,TMS 的 y 从南到北增长,所以同一个瓦片在两种协议里的编号会差一个2^z - 1的换算。QGIS 里处理这种图源很简单,把 URL 里的{y}改成{-y}就行,也可以在图源连接的高级设置里找类似“TMS 服务”的开关。

WMTS 属于标准化切片服务,和 XYZ 的差别在于它多了一层“服务描述”。你可以通过一个服务地址拿到这个服务提供的所有图层、瓦片矩阵集、坐标系、格式等信息,然后按需选择。天地图、NASA GIBS 这类官方服务机构基本都是 WMTS。它比 XYZ 规范,但配置起来略繁琐,因为要先连接服务器、加载能力文档,再勾选图层。

WMS 则是“动态地图服务”,它不按瓦片切,而是根据你当前窗口的范围实时渲染一张大图返回给你。好处是你可以自定义要哪些图层、什么样式,坏处是每一次平移缩放都要服务端重新画一遍,所以放大到深级别时会明显变慢。WMS 比较适合叠加某几个专题图层,不适合当底图连续浏览。

一句话总结:底图优先用 XYZ 或 WMTS,矢量专题叠加再考虑 WMS。后面的清单里我会标注每个图源属于哪种类型,方便你直接对号入座。

1.2 坐标系问题必须提前说,不然瓦片花了才回头就晚了

在 QGIS 里加在线图源,最容易翻车的不是地址填错,而是坐标系不一致。在线瓦片绝大多数是 Web 墨卡托投影,也就是 EPSG:3857,但你手里的矢量数据可能是 EPSG:4326 经纬度,也可能是某地方坐标系,叠在一起自然就偏了。

国内网络地图的坐标系还要再分几个流派。国际通用的 OSM、Esri 用的是 WGS84 体系,在 Web 墨卡托投影下就是 EPSG:3857。天地图虽然也是 CGCS2000 框架,但它在 Web 墨卡托下的瓦片和 WGS84 的世界范围基本重合,误差在厘米到分米级别,小比例尺下完全可以当作同一套坐标系使用。高德、腾讯这类互联网地图用的是 GCJ-02,俗称“火星坐标系”,是在 WGS84 基础上做了一套非线性偏移,北京城区范围内偏移量大概在几十米到几百米不等。百度更特殊,用的是 BD-09,等于在 GCJ-02 上又做了一次偏移,和 WGS84 的偏差能到几百米。

这意味着你如果拿一台 GPS 外业设备采集的 WGS84 轨迹,直接叠加在高德影像图上,轨迹会明显跑偏;反过来用高德底图叠加 OSM 路网,两个路网也会错开。这属于坐标系本身的问题,不是 QGIS 设置错了。后文我会专门写一节排查方法,这里先记住一条:做正经地理分析,优先选 WGS84/3857 和天地图;只想快速看个大概,才去叠高德百度。

2. 在线图源汇总清单:直接替换 x/y/z 就能用

2.1 国际通用底图,稳定且免费

这一节列的是全球范围内最稳定的在线底图,不需要注册、不需要密钥,直接复制 URL 到 QGIS 的 XYZ 连接里就能用,适合绝大多数日常出图场景。

图源名称类型URL 模板特点
OSM 标准底图XYZhttps://tile.openstreetmap.org/{z}/{x}/{y}.png全球路网最全,社区维护,免费但商用时需遵守 OSM 使用策略
OpenTopoMapXYZhttps://tile.opentopomap.org/{z}/{x}/{y}.png地形、等高线、山体阴影一体,适合野外调查和登山路线
人道主义 OSMXYZhttps://tile.openstreetmap.fr/hot/{z}/{x}/{y}.pngOSM 高清版,路网要素更精细,常被当作全球底图备用
Esri 卫星影像XYZhttps://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}全球影像质量高,注意这个模板的参数顺序是 z/y/x
Esri 全球地形XYZhttps://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/{z}/{y}/{x}带地形晕渲、边界和部分注记,适合规划展示
Esri 国家地理XYZhttps://server.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer/tile/{z}/{y}/{x}欧美风格制图,配色沉稳,做成果图不错
CartoDB PositronXYZhttps://basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png浅色极简风格,适合叠加专题数据
CartoDB Dark MatterXYZhttps://basemaps.cartocdn.com/dark_all/{z}/{x}/{y}.png暗黑风格,适合夜景和可视化炫酷风
CartoDB VoyagerXYZhttps://basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}.png彩色风格,路网注记丰富,兼顾美观和实用

提醒:OSM 官方瓦片服务对高并发和批量下载有限制,如果是自动化爬取或商业开发,别盯着这一个地址薅,可以换成 Esri 或者自建瓦片服务器。

Esri 系列地址里{z}/{y}/{x}的顺序我要单独强调一下。多数图源是{z}/{x}/{y}.png,但 ArcGIS Online 的 REST 服务格式是反的,如果你照搬通用模板写成{z}/{x}/{y},很多级别是能出图,但到了某些缩放级别会出现拼接错乱和空白,就是参数顺序搞错了。

2.2 国内常用图源,天地图和高德的正确打开方式

国内图源在 QGIS 里用起来比国际图源麻烦一点,主要原因就是前面说的坐标系偏移。但我实际使用下来,天地图和高德影像仍然是国内项目绕不开的两类底图,这里给出我验证过可用的模板。

天地图需要先申请密钥。去天地图官网注册普通开发者账号,然后在控制台申请一个服务密钥,一般几小时就能审批下来,拿到的是一个以特定前缀开头的字符串。申请时选择“浏览器端”类型即可,不需要服务器端的高级权限。天地图的 URL 模板有两种写法,一种是 DataServer 风格的 XYZ,一种是我后面实操部分会讲的 WMTS。

图源名称类型URL 模板
天地图影像底图XYZhttps://t0.tianditu.gov.cn/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=你的密钥
天地图矢量底图XYZhttps://t0.tianditu.gov.cn/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=你的密钥
天地图影像注记XYZhttps://t0.tianditu.gov.cn/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=你的密钥
天地图地形底图XYZhttps://t0.tianditu.gov.cn/DataServer?T=ter_w&x={x}&y={y}&l={z}&tk=你的密钥

天地图的 t0 是子域名编号,如果访问慢或者偶发连不上,可以把 t0 换成 t1 到 t7 逐个试。不过 QGIS 的 XYZ 连接不支持自动轮换子域名,只能手动指定某一个,所以把 t0 写成固定值反而更稳。

高德地图的瓦片地址在民间 GIS 圈里已经用了很多年,现在仍然稳定。它不需要密钥,但注意它的坐标系是 GCJ-02,和 OSM 这类 WGS84 底图叠加时会错位。

图源名称类型URL 模板
高德街道底图XYZhttps://webrd01.is.autonavi.com/appmaptile?style=7&x={x}&y={y}&z={z}
高德影像底图XYZhttps://webst01.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}
高德影像注记XYZhttps://webst01.is.autonavi.com/appmaptile?style=8&x={x}&y={y}&z={z}

偶尔会遇到某些网络环境下 webrd01 域名响应慢,可以尝试把 webrd01 换成 wprd01,这两个域名在高德内部其实是同一套瓦片的别名,我自己遇到过模拟项目X里用 webrd01 全部白屏,换成 wprd01 立刻恢复的情况。

至于百度和腾讯,我不是很推荐在 QGIS 里直接用。百度瓦片对非官方客户端的限制比较严格,而且 BD-09 坐标偏移最大,即便能加载出来,和你的 WGS84 数据叠加也是错得一塌糊涂,必须再做一道坐标转换成 BD-09,生产环境里性价比很低。腾讯在线瓦片的非官方接口地址变动频繁,历史上可用的地址经常过一段时间就失效,不适合作为稳定底图。如果团队里有人确实需要这两个底图,建议优先用官方 SDK 或者自建代理服务转换坐标,而不是从 QGIS 直连。

2.3 遥感影像和专题图源,按需取用

除了底图,QGIS 里还经常需要一类“影像图源”,用于查看卫星影像、地形晕渲、气象云图等专题数据。这一节列几个常见的。

图源名称类型URL 模板说明
USGS 影像XYZhttps://basemap.nationalmap.gov/arcgis/rest/services/USGSImageryOnly/MapServer/tile/{z}/{y}/{x}美国本土和全球部分地区影像,质量稳定
USGS 地形XYZhttps://basemap.nationalmap.gov/arcgis/rest/services/USGSTopo/MapServer/tile/{z}/{y}/{x}带等高线的公土地形图
Sentinel HubWMS/WMTS需注册获取地址欧空局哨兵影像在线服务,支持 L2A 真彩色
NASA GIBSWMTS需按日期拼接地址NASA 多源遥感影像,可用于气象、火点、海温等专题

哨兵影像的 Sentinel Hub 我这里只给到“需要注册”这个级别,因为它每个账号的 WMS 地址末尾会带一个实例标识,别人给不了通用链接。NASA GIBS 的 WMTS 地址里要嵌入具体的日期,不是固定模板,适合做临时查看卫星影像,不适合当常态底图。这两个我在实际项目里遇到的情况是:不是不能用,而是配置成本高,非遥感分析场景其实不必折腾。

3. 实操演示:把图源加进 QGIS 的完整流程

3.1 用 XYZ 连接添加瓦片底图

这一步我以 QGIS 3.28 LTR 版本为例,其他 3.x 版本界面大同小异。

  1. 打开 QGIS,在菜单栏点击“视图 > 面板 > 浏览器”,调出右侧或底部的浏览器面板。
  2. 在浏览器面板里找到“XYZ Tiles”,右键点击,选择“新建连接”。
  3. 弹窗里填两样东西:连接名称,比如“OSM 标准底图”;URL,直接粘贴前面表格里的地址模板。
  4. 如果这个图源是 TMS 协议,也就是行号方向相反,就把 URL 里的{y}改成{-y},QGIS 3.14 以上版本都支持这种写法。
  5. 点击“确定”,连接就会出现在 XYZ Tiles 列表里,双击连接名称,底图图层就加到地图窗口了。
  6. 加载后如果地图花屏或者缩放异常,先检查工程右下角的 CRS 是不是 EPSG:3857。XYZ 瓦片默认是 Web 墨卡托,如果工程被切到别的坐标系,QGIS 会做动态重投影,变形不可避免。

我见过很多人在这一步纠结“我加进去之后地图怎么不显示”,十有八九是网络问题或者 URL 里多了一个空格。URL 模板一定不能有换行或者多余空格,{z}、{x}、{y}这些占位符也必须是英文大括号。

3.2 用 WMS/WMTS 连接加载服务型图源

以天地图为例,它的 WMTS 地址是https://t0.tianditu.gov.cn/vec_w/wmts?tk=你的密钥。

  1. 打开“图层 > 添加图层 > 添加 WMS/WMTS 图层”,或者直接按快捷键 Ctrl+Shift+W。
  2. 点击“新建”,名称随便填,URL 填上面的 WMTS 地址,点“确定”后再点“连接”。
  3. QGIS 会去读取服务的能力文档,这个过程可能要等几秒。连接成功后,左侧会列出这个服务提供的所有图层,找到你需要的影像、矢量或者注记图层。
  4. 图层列表下方通常有“瓦片大小”“格式”“坐标系”等参数。格式建议选 PNG,瓦片大小选 256 或 512,坐标系按服务提供的选,比如天地图有 w(3857)和 c(4326)两套瓦片矩阵集,国内项目一般选 w。
  5. 勾选需要的图层,点击“添加”即可。

WMTS 和 XYZ 在 QGIS 里的本质区别是:XYZ 直接把 URL 模板写死,加载时不需要和服务端做任何“握手”;WMTS 则要先拉取能力文档,再按文档里的规则请求瓦片。所以 WMTS 地址如果变了,界面上会卡在“读取能力文档”那一步,这时候就要回去检查密钥或地址是否仍然有效。

3.3 图源连接的管理、备份和团队共享

加了一堆图源之后,很多人会问“我换台电脑是不是又要全部重新加一遍?”答案是可以不用。

QGIS 会把所有连接配置保存在当前用户配置目录下的 QGIS3.ini 文件里。Windows 上大致路径是C:\Users\你的用户名\AppData\Roaming\QGIS\QGIS3\profiles\default\QGIS\QGIS3.ini。里面会有一个[qgis]段落和[connections]段,记录的正是 XYZ Tiles 和 WMS 的地址。你只需要把这个文件备份到网盘或者传给同事,覆盖到对方电脑的相同路径,图源连接就全部带过去了。

不过实测下来,直接用 QGIS3.ini 覆盖有个风险:不同机器上 QGIS 版本不一致时,某些新版本的连接参数可能读不出来。所以我在团队里的做法更简单粗暴——维护一个共享表格,列清楚“图源名称、协议、URL 模板、是否需要密钥、坐标系、最大缩放级别、适用场景”,谁需要新图源就直接从表格里复制 URL,5 秒建一个新连接。表格比配置文件更直观,也更容易排查问题。

4. 常见问题与排查技巧实录

4.1 瓦片出不来、白屏、报错,先查这五件事

在线图源加载失败是很常见的,我自己踩过的坑按概率排序大概是:密钥失效、URL 填错、网络不通、坐标系错乱、缩放级别超限。下面这张表可以直接当排查手册用。

现象可能原因处理方法
整个图层白屏网络连不上图源服务器,或域名被封用浏览器直接打开瓦片 URL 测试,能打开就是 QGIS 配置问题
只有部分级别空白超过服务最高缩放级别把地图缩放到 z=18 以内;更高级别换其他图源
瓦片拼接错位{z}/{y}/{x}顺序写错,或 TMS 方向反转核对模板,Esri 系列用 y/x 顺序;TMS 源把{y}换{-y}
HTTP 403天地图密钥过期、被禁用或没填去官网重新申请或换新 tk
图和矢量数据错位坐标系不一致,GCJ-02 与 WGS84 差异换天地图/Esri 底图,或对矢量做坐标转换
加载极慢网络代理、子域名堵塞换高德/天地图的备用子域名,或打开 QGIS 瓦片缓存

有一个很管用的排查动作:把 URL 模板里的{z}、{x}、{y}手动替换成具体的数字,比如 z 换成 6、x 换成 30、y 换成 20,得到一个完整的链接,粘贴到浏览器地址栏打开。浏览器能出图,说明服务本身是好的,问题一定出在 QGIS 配置;浏览器打不开,那就先解决网络和密钥问题,再回来碰 QGIS。

4.2 坐标系偏移是最难发现的问题,教你怎么判断和规避

国内图源的坐标系偏移,我在第 1 节已经提过,这里展开说说实操层面怎么判断。

最简单的判断方法:在同一张地图里叠加 OSM 标准底图和高德影像底图,看某条明显的城市道路或者河流,在两张图之间是否出现了错位。如果错位确实存在,而你矢量数据的坐标本身是 WGS84,那就别强行叠高德了,换天地图或者 Esri 影像。

QGIS 里的工程 CRS 动态重投影并不能解决瓦片偏移问题。因为 XYZ 瓦片本质上是一张张固定编号的图片,它们的坐标已经写死在瓦片像素里,QGIS 只能按瓦片服务声明的坐标系把它们“摆放”到工程里。如果服务声明是 GCJ-02,而你工程是 WGS84,QGIS 不会知道两者之间还有一道非线性偏移,它只会简单地把 GCJ-02 当作一个普通坐标系处理,结果就是错位。

真正要解决偏移,只有两个方向。一是把矢量数据转成 GCJ-02 坐标系再叠高德影像,这一步可以用 QGIS 插件商城里的一些坐标转换插件来完成。二是底图改用和 WGS84 基本重合的天地图,省去转换这一步。我的经验是,只要不是专门做互联网地图数据融合,绝大多数业务直接选天地图就把问题绕开了,没必要为了高德那点影像清晰度去踩坐标转换的坑。

4.3 用 QGIS Python 终端批量检查图源连通性

图源清单维护时间长了之后,手动一个个打开浏览器测试很累。我后来在 QGIS 自带的 Python 控制台里写了个小脚本,每次更新清单就批量跑一遍,谁失效了立刻知道。

import requests templates = { "OSM标准": "https://tile.openstreetmap.org/{z}/{x}/{y}.png", "Esri影像": "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}", "天地图影像": "https://t0.tianditu.gov.cn/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=你的密钥", } z, x, y = 6, 30, 20 # 一个肯定存在的瓦片坐标 for name, tmpl in templates.items(): url = tmpl.replace("{z}", str(z)).replace("{x}", str(x)).replace("{y}", str(y)) try: resp = requests.get(url, timeout=8) print(name, "状态码", resp.status_code, "内容类型", resp.headers.get("Content-Type")) except Exception as exc: print(name, "请求异常", exc)

这段代码里我测试的是 z=6、x=30、y=20 这个瓦片,它在地球中部区域必然存在。跑完如果某个源返回 200 且内容类型是 image/png 或 image/jpeg,说明图源可用;返回 403 说明密钥或者权限有问题;抛异常说明网络和域名有问题。不过注意一点,有些图源对非浏览器请求做了防盗链,脚本返回 403 但浏览器里却能正常打开,所以脚本结果只能作为初步参考,最终判断还是要回浏览器确认。

5. 关于图源维护的个人建议,顺便说几个省心组合

5.1 建一张属于自己的图源速查表

加图源这件事,最怕的不是加不上,而是加上了不知道这个图源能干什么、最大支持多少级、坐标系是什么,等用到时才想起来去查。我建议你按这个结构维护一张自己的速查表:图源名称、协议类型、URL 模板、是否需要密钥、坐标系、最大缩放级别、适用场景、失效时间。把前面清单里的信息填进去,再补上自己业务里常用的一些字段,这张表就是你图源管理的“主数据库”。

我自己还会在表格里加一列“备用替换”,专门记录同一类型图源的替代方案。比如天地图影像万一某天密钥政策变了,我的备选是 Esri 影像加上天地图注记;高德街道如果失效,备选是 OSM 加 CartoDB。这样谁挂了都有后手,项目现场不会因为一个图源挂掉就停工。

5.2 几套不用花钱也比较稳的底图组合

根据我这些年的使用经验,有几套组合在不同场景下表现非常稳定,你可以直接抄作业。

使用场景推荐组合
外业数据采集底图OSM 标准底图 + Esri 卫星影像
国内规划项目底图天地图影像 + 天地图影像注记
专题可视化分析底图CartoDB Dark Matter 或 Positron
地形地貌研判底图OpenTopoMap + Esri 全球地形
野外考察纸质出图USGS 地形 + OSM 路网

这几套组合里,最省心的其实是天地图加注记的两层结构。天地图影像负责给卫星底图,注记层负责地名和路网文字,两层都是 WMTS 瓦片,加载速度很快。唯一要注意的是天地图所有的请求都会校验 tk,密钥别传到公开仓库里,一旦泄露要回控制台重置。

最后再分享一个小经验:在线图源再稳定,也架不住演示现场突然断网。我经历过一次重要汇报,现场网络抽风,所有在线图源全变白屏,最后是靠提前下载好的区域离线切片底图救回来的。所以如果你有项目汇报、迎检或者其他不能出错的场景,务必提前把重点区域的瓦片下载到本地,或者用 QGIS 栅格导出功能把当前视图范围的底图裁剪出来备用。这个清单我会持续更新,大家在使用过程中如果有稳定可靠的图源,也欢迎在评论区互通有无,一起把这份清单养得越来越实用。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/13 15:45:57

大模型三层架构实战:输入层、模型层与输出层的工程化拆解

1. 大模型三层架构到底在拆什么1.1 从一个常见困惑说起这两年AI圈的新东西多到让人眼花缭乱。今天出一个能读图的模型,明天出一个能操作电脑的智能体,后天又冒出一个能实时语音对话的助手。很多人看着这些新名词,第一反应是“又来了一个新模型…

作者头像 李华
网站建设 2026/10/13 15:44:17

西门子S7-1200钢板恒张力放卷收卷系统:从卷径计算到PID调试全解析

说到基于西门子PLC1200的钢板恒张力放卷收卷系统,很多人第一反应是“不就是PID加变频器嘛”,但真正在现场调过这套系统的人都知道,坑远比想象中多。钢板放卷收卷在金属制品行业的酸洗、纵剪、彩涂、冷轧线里满地都是,搞定了它&…

作者头像 李华
网站建设 2026/10/13 15:41:18

Decision-1决策模型解析:从推理链到反事实推演的落地实践

1. 从“会聊天”到“能拍板”:Decision-1 到底想解决什么问题第一次看到“Decision-1”这个名字,我的直觉是:这不像一个普通的对话模型,更像一个专门用来“做决定”的东西。事实也确实如此。过去两年,我们习惯了让大模…

作者头像 李华
网站建设 2026/10/13 15:39:07

JAK-STAT信号通路全解析:从分子机制到实验验证

做实验这些年,我越来越觉得信号通路是门“翻译学”:细胞外一个分子浓度变了,细胞就要决定分裂、死亡还是分泌细胞因子,中间靠的就是几条高度保守的信号链。JAK-STAT 信号通路就是其中最典型的一条——它没有 MAPK 通路那么多级联放…

作者头像 李华
网站建设 2026/10/13 15:36:47

OpenCV findContours 详解:mode 与 hierarchy 参数实战指南

只要碰过 OpenCV 图像处理,十有八九绕不开cv2.findContours。这个函数表面看着简单,但很多人会在mode和hierarchy上翻车,尤其是hierarchy里那一串四个数字,第一次看到基本等于读天书。这篇文章我就把这两个参数彻底讲透&#xff1…

作者头像 李华