“ 引言 ”
QGIS是一款開源的GIS地理化工具,QGIS可以通過内嵌的Python空間進行腳本編寫和二次開發。本期為PyQGIS系列内容的第二期,請大家點擊關注期待後續的内容。
PyQGIS系列筆記:
PyQGIS入門「1、瓦片地圖加載」
本期目标:将csv文件中的經緯度數據加載到QGIS圖層中。
本文使用的QGIS版本為 QGIS 3.16.7。
一、手動加載經緯度數據
1、添加定界文本數據圖層
添加方式:圖層→添加圖層→添加定屆文本數據圖層
2、選擇csv文件、橫坐标、縱坐标等信息
注:csv文件建議使用utf-8編碼格式。
3、效果演示
注:圖層右鍵點擊縮放到圖層範圍即可快速定位。
二、Python加載經緯度數據
1、使用的函數
vlayer = QgsVectorLayer(layer_url, layer_name, type) #生成圖層
layer_url:圖層地址(對應圖層的源)
layer_name:圖層名稱
type:此處填寫"delimitedtext",即定界文本數據
QgsProject.instance().addMapLayer(vlayer) #添加圖層
2、源url分析
源:
file:///C:/Users/admin/Desktop/qgis圖層/qgis課件/基礎數據.csv?type=csv&maxFields=10000&detectTypes=yes&xField=經度&yField=緯度&crs=EPSG:4326&spatialIndex=no&subsetIndex=no&watchFile=no
将源url解碼後:
file:///C:/Users/admin/Desktop/qgis圖層/qgis課件/基礎數據.csv?type=
csv&maxFields=10000&detectTypes=yes&xField=經度&yField=緯度&crs=EPSG:4326&spatialIndex=no&subsetIndex=no&watchFile=no
注意幾個細節:
①建議使用英文路徑,若使用中文路徑會增加更多的轉碼工作。
②本地路徑必須以 file:/// 為前綴。
3、實戰演示
1)layer_url 構造
from urllib.parse import quote
path = 'D:/qgistool/' quote('基礎數據.csv')
url = "file:///{path}?type=csv&xField={x}&yField={y}&crs=EPSG:4326".format(path=path,x=quote('經度'),y=quote('緯度'))
2)圖層創建
data_layer = QgsVectorLayer(url, "基礎數據圖層", "delimitedtext")
QgsProject.instance().addMapLayer(data_layer)
3)效果演示
如果你覺得文章還不錯,請 點贊、分享、關注、轉發 ,PyQGIS 将是一期系列内容,下期内容很快更新。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!