几何对象的显示

该文介绍了如何利用Python的PyQGIS库来创建和操作矢量数据。首先展示了创建单个几何要素(点)并添加到内存图层的过程,然后演示了生成包含100个随机分布点的图层的方法。这些步骤涵盖了从创建要素、定义图层到更新图层范围和在地图上显示的完整流程。
摘要由CSDN通过智能技术生成

矢量数据组织结构

 显示几何要素的全流程

  导入

  模块

from qgis.core import QgsPoint, QgsVectorLayer, QgsFeature, QgsProject
from qgis.utils import iface
创建几何要素
pa = QgsPoint(3, 4)
创建要素
feat = QgsFeature()
feat.setGeometry(pa)
创建图层
vlayer = QgsVectorLayer("point", "temporary_point", "memory")
pr = vlayer.dataProvider()
pr.addFeatures([feat])
显示图层
vlayer.updateExtents()
QgsProject.instance().addMapLayer(vlayer)
iface.zoomFull()
from qgis.core import QgsPoint, QgsVectorLayer, QgsFeature, QgsProject
from qgis.utils import iface

# 创建几何要素
pa = QgsPoint(3, 4)

# 创建要素
feat = QgsFeature()
feat.setGeometry(pa)

# 创建图层
vlayer = QgsVectorLayer("point", "temporary_point", "memory")
pr = vlayer.dataProvider()
pr.addFeatures([feat])

# 显示图层
vlayer.updateExtents()
QgsProject.instance().addMapLayer(vlayer)
iface.zoomFull()

创建一个随机采样点图层

from qgis.core import QgsPoint, QgsVectorLayer, QgsFeature, QgsProject
from qgis.utils import iface
import random

feats = []
for i in range(100):
    x = random.random() * 360 - 180
    y = random.random() * 180 - 90
    pt = QgsPoint(x, y)
    feat = QgsFeature()
    feat.setGeometry(pt)
    feats.append(feat)
vlayer = QgsVectorLayer("point", "temporary_point", "memory")
pr = vlayer.dataProvider()
is_succeeded, pts = pr.addFeatures(feats)
vlayer.updateExtents()
QgsProject.instance().addMapLayer(vlayer)
iface.zoomFull()

 

参考:pyqigs2.02

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值