最初にQgsGeometryを作成
points = [] point1=QgsPoint() point1.setX(-31446.8) point1.setY(-51366.4) points.append(point1) point2=QgsPoint() point2.setX(-31446.8) point2.setY(-50366.4) points.append(point2) point3=QgsPoint() point3.setX(-30446.8) point3.setY(-50366.4) points.append(point3) point4=QgsPoint() point4.setX(-31446.8) point4.setY(-51366.4) points.append(point4) line = QgsLineString() line.setPoints(points) poly = QgsPolygon() poly.setExteriorRing(line) geom = QgsGeometry(poly)
QgsGeometryをWKTから作成する時は
geom = QgsGeometry.fromWkt('Polygon ((-31446.7999999999992724 -51366.40000000000145519, -31446.7999999999992724 -50366.40000000000145519, -30446.7999999999992724 -50366.40000000000145519, -31446.7999999999992724 -51366.40000000000145519))')
Featureを作成
features = [] feature = QgsFeature(l.fields()) feature.setAttribute(0, 'HELLO100') feature.setAttribute(1, 2) feature.setGeometry(geom) features.append(feature) iface.activeLayer().dataProvider().addFeatures(features) iface.activeLayer().triggerRepaint()
2019/01/15 修正
iface.activeLayer().addFeatures([feature])
を
iface.activeLayer().dataProvider().addFeatures(features)
に修正