QGIS Python控制台下脚本编写

目录

1、打印当前项目的文件名

3、获取矢量图层名

 4、控制图层树中图层是否显示

5、选择要素


1、打印当前项目的文件名

打开QGIS Desktop,加载一个项目

from qgis.core import QgsProject

project = QgsProject.instance()
print(project.fileName())  # 打印当前项目的文件名
print(project.homePath())  # 打印当前工程所在目录

 2、加载矢量图层

3、获取矢量图层名

from qgis.core import QgsProject,QgsVectorLayer

project = QgsProject.instance()
vlayer=project.mapLayersByName("airports")[0]
print(vlayer.name())

 检查图层是否存在

layer_names = [layer.name() for layer in QgsProject.instance().mapLayers().values()]
print(layer_names)

 4、控制图层树中图层是否显示

from qgis.core import QgsProject,QgsVectorLayer

project = QgsProject.instance()
vlayer=project.mapLayersByName("airports")[0]

root=project.layerTreeRoot()
node_layer=root.findLayer(vlayer.id())
node_layer.setItemVisibilityChecked(False)

5、选择要素

from qgis.core import QgsProject,QgsVectorLayer

project = QgsProject.instance()
vlayer=project.mapLayersByName("places")[0]

vlayer.selectByExpression('"name"=\'Riga\'', QgsVectorLayer.SetSelection)

 

6、图层遍历要素

from qgis.core import QgsProject,QgsVectorLayer

project = QgsProject.instance()
vlayer=project.mapLayersByName("places")[0]

for feature in vlayer.getFeatures():
    print("name:",feature['name'])

 7、向图层中添加点

from qgis.core import QgsProject,QgsVectorLayer,QgsFeature,QgsGeometry,QgsPointXY

project = QgsProject.instance()
vlayer=project.mapLayersByName("places")[0]

feature = QgsFeature(vlayer.fields())
feature.setAttribute('name','hello2')
feature.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(-49.8, 49.8)))
vlayer.dataProvider().addFeatures([feature])

参考:湖师 | GIS原理及应用 | 第十讲 PyQGIS_哔哩哔哩_bilibili

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值