矢量数据组织结构
显示几何要素的全流程
导入 模块 | 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