QGIS入门指南:详解qgis basemaps的使用技巧
场景引入:当项目制图被“底图”卡住时,我如何用好 qgis basemaps
在 QGIS 的日常工作里,qgis basemaps、XYZ Tiles 与矢量瓦片是我最常被问到的三个关键词:到底该用哪种底图?怎样既清晰、又合法、还高效。很多同学在项目推进到“最后出图”的关键节点被底图卡住——渲染模糊、坐标不对、网络慢、版权风险,这些问题如果不系统解决,会把上游所有努力拖成“慢动作”。
底图不是装饰,而是地图可读性与可信度的“地基”。选型与配置的每个细节(投影、比例尺、缓存、授权)都会直接影响终版质量。
它是什么:basemaps 的类型与差异
理解 qgis basemaps 的类型是第一步,我通常把它们分为三类:XYZ Tiles(栅格切片)、WMTS 与矢量瓦片(MVT)。不同类型在清晰度、可编辑性、样式可控度与性能上各有权衡。| 类型 | QGIS添加方式 | 优势 | 注意点 |
|---|---|---|---|
| XYZ Tiles(栅格切片) | 浏览器面板 → XYZ Tiles → 新建连接(URL 含 {z}/{x}/{y}) | 简单、来源多、加载快、缓存友好 | 多为 EPSG:3857;打印高DPI易模糊;版权与速率限制必须遵守 |
| WMTS | 图层 → 添加图层 → 添加 WMS/WMTS → GetCapabilities | 标准化、可选比例级、部分服务含权威覆盖(如国家级底图) | 配置略繁琐;有时需要密钥;投影/比例级需与项目匹配 |
| 矢量瓦片(MVT) | 图层 → 添加图层 → 添加矢量瓦片层(URL/Style JSON) | 样式高度可控、文字清晰、适合高DPI出图 | 通常需样式JSON与密钥;部分服务商业授权 |
为什么要在 QGIS 中“正确地”使用 basemaps
围绕 qgis basemaps 的最佳实践,核心动因是投影一致性、合法合规与成图清晰度:XYZ Tiles 和大多数在线底图采用 EPSG:3857(Web Mercator),这与我们进行距离/面积测量的需求(常见于 EPSG:4547/4490/4326 等)并不相同;矢量瓦片虽然在高DPI打印更清晰,但样式与密钥管理也更复杂。只有在“投影—比例尺—缓存—授权”四环扣合的前提下,才算“正确地”使用底图。怎么做(一):通过内置 XYZ Tiles 快速添加常用底图
在 QGIS 中添加 qgis basemaps 最轻量的方式是 XYZ Tiles,我在项目早期探索与制图校核时几乎都从它开始;如果需要后期高DPI出图,再考虑矢量瓦片或权威 WMTS。- 打开“浏览器”面板,右键 XYZ Tiles → 新建连接。
- 命名为“OSM”,URL 填写:
# OpenStreetMap 标准切片(遵守其使用政策) https://tile.openstreetmap.org/{z}/{x}/{y}.png # 可设置最小/最大层级(例如 0–19),子域名、多线程等按服务说明配置 - 设置最小/最大缩放等级(例如 0 与 19),勾选缓存,确认。
- 将连接拖到画布,检查工程 CRS 是否为 EPSG:3857(或开启“按需投影”)。
- 在图层属性中填写/校验 Attribution(署名),并在最终版式中加入版权声明。
# 在 QGIS Python 控制台中执行(QGIS 3.x)
# 说明:通过 'type=xyz' 指定 XYZ 提供者;zmin/zmax 控制层级
uri = 'type=xyz&url=https://tile.openstreetmap.org/{z}/{x}/{y}.png&zmin=0&zmax=19'
layer = QgsRasterLayer(uri, 'OSM', 'wms') # 一些版本以 'wms' 作为提供者入口解析 XYZ
if layer.isValid():
QgsProject.instance().addMapLayer(layer)
else:
raise Exception('添加 OSM XYZ 失败,请检查网络或 URL')
提示:部分服务采用 TMS(Y 轴向下起算)。在“新建 XYZ 连接”对话框中留意 Y 轴方向选项,或按服务文档调整 URL 与层级。
怎么做(二):配置 WMTS 与权威地图服务(以国家/全球服务为例)
当项目需要权威覆盖或严格比例级控制时,我常选择 WMTS 来补充 qgis basemaps。与 XYZ Tiles 相比,WMTS 的 GetCapabilities 能返回可用图层、比例级与投影,非常利于规范制图。- 菜单 → 图层 → 添加图层 → 添加 WMS/WMTS 图层。
- 新建连接,填写 GetCapabilities URL,例如:
# ArcGIS Online 全球影像 WMTS 能力文档(无需密钥,公共访问) https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/WMTS?request=GetCapabilities&service=WMTS # 天地图 WMTS(需要申请 tk) https://t{s}.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetCapabilities&tk=你的密钥 # 其中 {s} 可按服务说明替换为 0–7 子域名 - 从列表选择图层(如 World_Imagery),匹配工程 CRS(常为 EPSG:3857),添加。
- 按需设置图层可见比例范围,确保与项目的目标比例尺一致。
# PyQGIS 示例:以 WMTS(World_Imagery)添加
url = 'contextualWMSLegend=0&crs=EPSG:3857&dpiMode=7&format=image/png&layers=World_Imagery&styles=&tileMatrixSet=GoogleMapsCompatible&url=https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/WMTS'
wmts = QgsRasterLayer(url, 'World_Imagery (WMTS)', 'wms')
QgsProject.instance().addMapLayer(wmts) if wmts.isValid() else None
怎么做(三):使用矢量瓦片实现清晰、可控的底图样式
当我需要在高DPI版式中保持标注锐利、符号可控时,会采用 矢量瓦片(MVT) 来丰富 qgis basemaps。相较 XYZ Tiles 的栅格,矢量瓦片配合样式 JSON 可以灵活定制要素可见性、文字语言与颜色体系。- 菜单 → 图层 → 添加图层 → 添加矢量瓦片层。
- 使用提供商的 Style JSON(Mapbox/MapTiler/OpenMapTiles 等),示例:
# 以 MapTiler 为例(需密钥) https://api.maptiler.com/maps/streets/style.json?key=你的密钥 # 或直接 MVT 瓦片端点(与样式配合) https://api.maptiler.com/tiles/v3/{z}/{x}/{y}.pbf?key=你的密钥 - 加载后在“图层样式”面板中细化字体、语言(如本地化标签)、配色与可见级别。
- 在布局(Layout)中以 300–600 DPI 输出,矢量文字保持清晰不糊边。
类比理解:栅格切片像“打印好的地图照片”,放大就糊;矢量瓦片像“可编辑的绘图指令”,放大仍锐利,还能改样式。
进阶技巧:投影、标注、缓存与打印清晰度
围绕 qgis basemaps 的出图质量,我在项目里长期沉淀了几个关键做法,适用于 XYZ Tiles 与矢量瓦片:- 投影一致性:底图多为 EPSG:3857。若你的分析层使用国家/地方投影,开启“按需投影”并核对量算单位;严肃量算建议在平面等距投影中进行,底图仅作显示。
- 标注与署名:在图层属性填写 Attribution;版式中使用“装饰 → 版权标签”或文本框显式署名(例如 “© OpenStreetMap contributors”)。
- 网络缓存:选项 → 网络 → 缓存,增大缓存大小并指向高速磁盘;外业或受限网络可预缓存自有数据(第三方数据请遵守条款)。
- 打印清晰度:栅格底图在 300+ DPI 时可能显得“糊”。可选择矢量瓦片,或使用支持高分辨率/2x 切片的服务(URL 带
@2x/tileScale=2),同时控制版式缩放。 - 比例级匹配:WMTS/XYZ 的最佳显示级别是离散的;在图层样式中设置可见比例范围,避免“半级”插值带来的模糊。
性能与合规:速率限制、密钥与授权红线
我把合规与性能放在与画面质量同等重要的位置,这对 qgis basemaps、XYZ Tiles 和矢量瓦片都是硬性要求。- 速率限制:公共服务(如 OSM)限制并发与总流量,避免在短时间内大量抓取;团队协作时尽量共享缓存。
- 密钥管理:Mapbox/MapTiler/天地图等需要密钥(token/tk),不要把密钥提交到公共仓库;在 QGIS 配置为“认证”条目或本机环境变量。
- 授权与署名:遵循各提供商 ToS 与署名要求;商业项目务必核对再分发条款(尤其是线下/印刷)。
对外发布与印刷前,逐条核对数据许可与署名格式,这是避免合规风险的最低成本做法。
常见问题排查(FAQ)
- 画布空白/403:检查 URL、密钥、Referer 与网络代理;确认未触发速率限制。
- 位置偏移:核对工程 CRS 是否为 EPSG:3857;检查数据坐标系与坐标轴顺序(尤其是 WMS/WMTS)。
- 打印模糊:栅格切片在高DPI放大不可避免;改用矢量瓦片或 WMTS 的更高层级,或减小版式缩放。
- 缩放后花屏:尝试关闭/开启“使用渲染缓存”;在图层属性中限制可见比例级。
- 中文标注缺失:矢量瓦片需在样式 JSON 中选择合适语言;部分服务默认英文标签。
实战案例:城市更新评估图的一套稳健流程
在一个城市更新项目中,我用 qgis basemaps 组合提升从浏览到出图的全流程体验:前期用 XYZ Tiles(OSM)快速勘界,中期接入 WMTS(World_Imagery 与天地图影像)核实名称与地貌,最终版式采用矢量瓦片作为底板以确保高DPI清晰,叠加规划分区与指标图层,统一配色与标注语言。- 加载 OSM(XYZ)进行初步选址与道路层级确认。
- 接入 World_Imagery(WMTS)核查地物现状,必要时叠加天地图影像作交叉验证。
- 切换矢量瓦片底图,按照企业 VI 方案调整色板与中文标注。
- 版式中以 400–600 DPI 输出,加入比例尺、指北针与版权信息。
参考配置清单(可复制试用)
以下示例覆盖 qgis basemaps 常见场景:XYZ Tiles、WMTS 与矢量瓦片,按需替换密钥并遵守服务条款。# 1) XYZ Tiles:OSM
名称: OSM
URL: https://tile.openstreetmap.org/{z}/{x}/{y}.png
最小/最大层级: 0 / 19
Attribution: © OpenStreetMap contributors
# 2) WMTS:Esri World Imagery(公共)
GetCapabilities:
https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/WMTS?request=GetCapabilities&service=WMTS
CRS: EPSG:3857
图层: World_Imagery
# 3) WMTS:天地图(需 tk)
GetCapabilities:
https://t0.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetCapabilities&tk=你的密钥
图层: img / cia / vec 等按需选择
提示: 遵循天地图使用规范与流量限制
# 4) 矢量瓦片:MapTiler(需 key)
Style JSON:
https://api.maptiler.com/maps/streets/style.json?key=你的密钥
可选语言: 在样式中切换 local/zh-Hans 等
结语
回到最初的问题:只要围绕“类型选型(XYZ/WMTS/矢量)—投影匹配—样式与清晰度—缓存与合规”这条主线推进,qgis basemaps 就不再是“最后一公里”的拦路虎,而是你地图表达力的放大器。作为一名长期一线实践者,我更建议把底图当作“工程化资产”来管理:有标准、有清单、有授权、有缓存。 你在项目里更偏好哪种底图组合?是否遇到特殊行业的合规边界或高DPI输出难题?欢迎留言讨论。更多系统化 GIS 实战与方法论,欢迎关注 GIS研习社(gisyxs.com)。参考文献
- QGIS 用户手册:管理与打开数据源(含 XYZ Tiles)—— https://docs.qgis.org/latest/zh_Hans/docs/user_manual/managing_data_source/opening_data.html
- QGIS 用户手册:矢量瓦片支持—— https://docs.qgis.org/latest/zh_Hans/docs/user_manual/working_with_vector_tiles/vector_tiles.html
- QuickMapServices 插件主页(NextGIS)—— https://github.com/nextgis/quickmapservices
- OpenStreetMap Tile Usage Policy—— https://operations.osmfoundation.org/policies/tiles/
- Esri World Imagery WMTS 服务—— https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/WMTS
- MapTiler Docs:QGIS 集成指南—— https://documentation.maptiler.com/hc/en-us/articles/4404020346770-QGIS
- 天地图开发平台:WMTS 服务文档—— https://lbs.tianditu.gov.cn/server/WMTS.html
- QTiles 插件(自有数据离线瓦片制作)—— https://plugins.qgis.org/plugins/qtiles/
相关文章
-
GIS坐标系总是搞混?各行业投影选择与WGS84、CGCS2000转换实战技巧(含:对照表) 2026-01-14 08:30:02
-
GIS坐标系位置总对不上?三步搞定数据偏移修正(附:参数对照表) 2026-01-14 08:30:02
-
GIS坐标系6位转8位总出错?核心算法与精度提升技巧详解(附:参数对照表) 2026-01-14 08:30:02
-
GIS坐标系转换为何总出错?常见误区排查与修正方案(附:对照表) 2026-01-13 08:30:02
-
GIS坐标系转换总出错?核心参数与校正流程详解(附:参数表) 2026-01-13 08:30:02
-
GIS坐标系怎么设置?从定义到投影转换的实战指南(附:参数对照表) 2026-01-13 08:30:02
-
GIS坐标系到底用哪个?盘点国内主流坐标系及转换技巧(附:参数表) 2026-01-13 08:30:02
-
GIS坐标系转换工具怎么选?高精度投影转换实战技巧(附:对照表) 2026-01-13 08:30:02
-
GIS坐标系到底怎么选?一文搞懂投影与转换(含:常用参数表) 2026-01-13 08:30:02
-
GIS坐标系与投影傻傻分不清?GIS中地理坐标系转投影坐标系实战指南(含:常用投影参数表) 2026-01-13 08:30:01
-
GIS坐标系与投影总是报错?ArcGIS坐标定义与转换参数详解(附:对照表) 2026-01-13 08:30:01
-
GIS坐标系与投影总报错?地理坐标系和投影坐标系的核心区别(含:转换公式) 2026-01-13 08:30:01
-
WGS84坐标系转换CGCS2000总出错?原理剖析与实战转换步骤(附:常用GIS软件参数表) 2026-01-13 08:30:01
-
GIS坐标系统与投影转换必学!(含:坐标系定义与投影作用详解) 2026-01-12 08:30:02
-
GIS坐标系与投影转换总出错?排查思路与常用坐标系对照表(附:EPSG代码) 2026-01-12 08:30:02
-
GIS坐标系与投影到底怎么选?常见误区盘点与选型指南(附:对照表) 2026-01-12 08:30:02
-
ArcGIS地理坐标系和投影坐标系有何区别?一文读懂核心差异与转换技巧(含:实战案例) 2026-01-12 08:30:02
-
ArcGIS坐标系选择总出错?一文搞懂GIS地理坐标与投影转换(附:常用参数对照表) 2026-01-12 08:30:02
-
WGS84坐标系如何正确选择投影?常用GIS投影坐标系推荐(含:EPSG代码与参数) 2026-01-12 08:30:02
-
GIS投影后坐标没变化?定义坐标系与投影工具使用误区详解(附:对照表) 2026-01-12 08:30:02
热门标签
最新资讯
2026-01-15 08:30:02
2026-01-14 08:30:02
2026-01-14 08:30:02
2026-01-14 08:30:02
2026-01-14 08:30:02
2026-01-14 08:30:02
2026-01-14 08:30:02
2026-01-14 08:30:02
2026-01-14 08:30:02
2026-01-14 08:30:02