回答:
重心は定義ごとにポイントレイヤーであり、ポリゴンではありません。そのため、新しいレイヤーを作成する必要があります。これは、QGIS 1.8以降のバージョンでは簡単です。
その後、空間結合を作成して、重心の列をポリゴンに追加し、ポイントレイヤーを再度削除します。
実際、新しいシェープファイルを作成することは、最も簡単なオプションの1つです。ただし、座標をコピーして貼り付ける必要はありません。これを行う:
または、データをPostGISにインポートしてから、ST_Centroid関数を使用してポリゴンを反復処理し、結果を新しいフィールドに保存する必要があります。関連する作業はほぼ同じですが、2番目のオプションは、別のセントロイドポイントファイルがないことを意味します。
マイクの答えに対するより堅牢な解決策:
long = toreal(regexp_substr(geom_to_wkt(centroid($geometry)), '(-?\\d+\\.?\\d*) -?\\d+\\.?\\d*'))
lat = toreal(regexp_substr(geom_to_wkt(centroid($geometry)), '-?\\d+\\.?\\d* (-?\\d+\\.?\\d*)'))
5年近く遅れてこの投稿に出会いました(!)が、バージョン2.18.14でポリゴンの重心を計算するために次のようにしています。