龙空技术网

PyQGIS入门「1、瓦片地图加载」

辛律plus 882

前言:

目前同学们对“瓦片地图js”大致比较珍视,看官们都想要学习一些“瓦片地图js”的相关内容。那么小编在网络上收集了一些有关“瓦片地图js””的相关内容,希望各位老铁们能喜欢,咱们快快来学习一下吧!

引言

QGIS是一款开源的GIS地理化工具,QGIS可以通过内嵌的Python空间进行脚本编写和二次开发。本期为PyQGIS系列内容的第一期,请大家点击关注期待后续的内容。

本文使用的QGIS版本为 QGIS 3.16.7

一、手动加载瓦片地图(OpenStreetMap)

1、QGIS默认配置了OpenStreetMap,配置方法如下:

2、双击XYZ Tiles中的OpenStreetMap即可加载OpenStreetMap:

二、Python加载瓦片地图(OpenStreetMap)

1、使用的函数:

iface.addRasterLayer(map_uri,map_name, "wms")

注:

map_url:图层地址(对应图层的源url)

map_name:图层名称

"wms":通常使用Web 地图服务 (WMS) 协议,默认填写”wms”

2、OpenSreetMap源url分析

1)图层右键查看属性

得到URL为OpenSreetMap的地址,源为当前图层的源url。

URL:{z}/{x}/{y}.png

源:

crs=EPSG:3857&format&type=xyz&url=

2)源url构造解读

将源url解码:

crs=EPSG:3857&format&type=xyz&url={z}/{x}/{y}.png&zmax=19&zmin=0

可以看到参数url即为OpenSreetMap的地址。也就是说,我们将URL编码后即可得到该图层的源url。

3、实战演示

1)QGIS的Python控制台

QGIS提供了一个集成的python控制台,可以从插件→python控制台菜单中打开。启动QGIS的python控制台时,会自动执行以下语句,因此使用图层加载函数时无需额外导入qgis.core。

from qgis.core import *import qgis.utils

2)OpenSreetMap url编码

from urllib import parseurl = 'tile.openstreetmap.org/{z}/{x}/{y}.png'encode_url = parse.quote(url)

3)生成瓦片地图图层

map_url ="type=xyz&url=; + encode_urlmap_layer =iface.addRasterLayer(map_url, "OpenStreetMap", "wms")

4、效果演示

如果你觉得文章还不错,请 点赞、分享、关注、转发 ,PyQGIS 将是一期系列内容,下期内容很快更新。

标签: #瓦片地图js