2016-10-06 29 views
1

私は、Pythonを使用してQGISでポリゴンの重心を取得しようとしています。ここで私に与え、私のコードPython経由でQGISの重心を取得

layerPluto = iface.addVectorLayer("/path/to/mn_mappluto_16v1/MNMapPLUTO.shp", "PLUTO", "ogr") 
features = layerPluto.getFeatures() 
counter = 0 
for feature in features: 
    # Get the first feature from the layer 
    if counter < 3: 
     print feature['Address'] 
     print getCentroid(feature) 
     counter += 1 

...である「名前 『をgetCentroid』が定義されていません」というエラーが。

QGISのpythonエディタがドロップダウン構文補完オプションとして​​を持っているので、これは驚きです。

また、feature.getCentroid()経由でフィーチャオブジェクトのメソッドとしてこの関数を使用しようとしましたが、同様のエラーが発生しました(「QgsFeatureオブジェクトには「getCentroid '属性がありません」)。

同様に、feature.centroid()が私に「QgsFeature」オブジェクトに「セントロイド」属性がないのに、「NameError:name 'セントロイドが定義されていません」というエラーが表示されます。

この操作には別の方法を使用する必要がありますか?

+1

チェックこの記事を。 http://gis.stackexchange.com/questions/209292/getting-x-y-of-polygon-in-pyqgis –

答えて

1

centroid()は、QgsGeometryクラスのメソッドです。 あなたがgeometry()方法 でQgsFeatureのジオメトリセクションを取得することができますので、あなたがsiply私の二つの方法を連鎖重心ジオメトリ入手することができます。

feature.geometry().centroid() 
関連する問題