geo.admin.ch的XYZ地图无法在QGIS 3.0中使用的技术求助
解决QGIS 3.x中添加瑞士swisstopo切片地图的问题
我完全懂你这种在Leaflet里能用的切片地图,到QGIS里就掉链子的郁闷——这俩工具对瓦片图层的参数要求差异不小,尤其是针对swisstopo这类官方WMTS服务。下面给你两种靠谱的解决办法:
方法一:修正参数后添加为XYZ瓦片图层
你之前大概率只是直接粘贴了URL,但没配置QGIS需要的关键参数,按下面步骤来:
- 打开QGIS,点击顶部菜单栏的「图层」→「添加图层」→「添加XYZ瓦片图层」
- 在弹出的窗口里点「新建」,填入这些信息:
- 名称:随便起个好记的,比如
Swisstopo 彩色像素地图 - URL:
https://wmts20.geo.admin.ch/1.0.0/ch.swisstopo.pixelkarte-farbe/default/current/3857/{z}/{x}/{y}.jpeg - 最小缩放级别:设为
2(swisstopo的这个服务最低只支持到缩放级2) - 最大缩放级别:设为
19(这是该服务的最高缩放级) - CRS:选择
EPSG:3857(和你Leaflet代码里的设置保持一致)
- 名称:随便起个好记的,比如
- 点「确定」后,选中这个新建的图层,再点「添加」,地图就能正常加载了。
方法二:通过WMTS服务规范添加(更稳定)
既然这是官方的WMTS服务,直接用WMTS方式添加会更靠谱,还能自动获取所有可用图层:
- 点击「图层」→「添加图层」→「添加WMTS图层」
- 在「WMTS连接」窗口点「新建」,填写:
- 名称:
Swisstopo WMTS 服务 - URL:
https://wmts20.geo.admin.ch/1.0.0/WMTSCapabilities.xml
- 名称:
- 点「确定」后,QGIS会自动解析服务里的所有图层,找到
ch.swisstopo.pixelkarte-farbe选中,点击「添加」就搞定了。
为啥Leaflet能用QGIS不行?
Leaflet会自动兼容很多瓦片服务的默认参数,比如缩放范围,但QGIS是个更严谨的GIS工具,必须明确指定这些参数才能正确请求到瓦片。要是缩放范围设错了,QGIS会去请求不存在的瓦片,自然加载失败。
小提示:如果还是加载失败,检查下QGIS的网络设置,看看是不是代理或者防火墙挡住了对geo.admin.ch的访问。
内容的提问来源于stack exchange,提问作者Mattia Raffa
相关产品推荐
相关产品推荐

