QGISでベクトルデータを表示してみる その4
図形の座標変更してみます。
layer,dataProviderの順に持ってきて、QgsVectorDataProvider::changeGeometryValuesを使ってみました。
対象図形のidをキーに、入れ替えるQgsGeometryを値に指定します。
l = qgis.utils.iface.activeLayer() l.startEditing() p = l.dataProvider() p1 = QgsGeometry.fromPolygon([ [QgsPoint(-120000,-300000),QgsPoint(-100000,-300000),QgsPoint(-100000,-280000),QgsPoint(-120000,-280000)]]) p.changeGeometryValues({0 : p1}) l.commitChanges()
もう少しスマートな方法が有るような気もしますが、これでも出来ました。