QGISでポリゴン面積を計算していますか?


72

面積シェープファイルの面積を平方メートルまたはエーカー(ha)で計算するにはどうすればよいですか?

ベクターツールにはその機能が見つかりませんでした。


フォローアップの質問:State Plane NAD83にレイヤーがあります。これらのコマンドを使用すると、フィート単位で領域が作成されます。エーカーまたは平方マイルが必要な場合はどうなりますか?ありがとう
-C_K

2つの答えは機能しましたが、特に多くのポリゴンベクトルファイルの領域を特定しようとしている場合、実装が少し遅くなります。ポリゴンを右クリックするだけでポリゴンの領域を取得するプラグインや他の方法はありませんか?提供される回答は、新しいフィールド属性(つまり、エリア)で終わりますが、ポリゴンが変更されても値は更新されません。そのため、多くの場合、領域を別のフィールド属性に表示する必要はありません。領域がページの下部などに小さなグラフで数字として表示される場合は、それで十分です。だから、
デビッド

2
識別ツールを使用して、ポリゴンをクリックします。面積が計算され、識別ウィンドウの「派生」の下に表示されます。設定で単位を変更できます。
csk

回答:


70

レイヤーを編集可能にし、フィールド計算機を使用します(レイヤー>属性テーブルを開く>フィールド計算機/ Ctrl + I、またはシェープファイルを右クリック>属性テーブルを開く>フィールド計算機/ Ctrl + I)。テーブルの各行の面積を計算する演算子「$ area」があります。すべての単位は、投影の単位で計算されるため、緯度/経度ではなく、フィートまたはメートルを使用する投影に投影することをお勧めします。


6
現在のバージョンのQGISでは、データがGeographic CRSにある場合、関数transform()を使用して、データを複製する必要なく、投影システム(できれば等面積のもの)にジオメトリを投影できます。フィールド計算機では、次のようなものが機能するはずです:area($ geometry、 'EPSG:4326'、 'EPSG:3763')
Alexandre Neto

9
@AlexandreNeto:という意味area(transform($geometry, 'EPSG:4326','EPSG:3763'))ですか?
スチュワートマクドナルド

@smacdonaldはい、私の間違い。
アレクサンドル・ネト

18

これは、Vector | Geometry Tools | Add / export geometry columnsでも実行できます。これにより、面積と周囲長(または長さ)の列が追加された新しいシェープファイルが作成されます。

編集:(上記のツールを使用して、V1.8で[新しいシェイプファイルとして保存]の選択を解除することもできます。シェイプファイルは更新されるだけです!)

ただし、新しい電卓を作成する必要がないため、フィールド計算機を使用することをお勧めします。


最初に編集を有効にせずにシェープファイルの属性を変更することはできません(属性の編集として領域カウントを計算すると、新しい列が追加されます)。すべての単位は投影の単位で計算されることに注意してください(デフォルトではメートル)、最初に投影座標系に再投影する必要があります。
ハサンムスタファ

4

これ専用のスクリプトを作成しました。データを再投影したくない場合は、楕円数学を使用して面積を計算できます。

Processing Toolbox -> Tools -> Get scripts from on-line scripts collection -> Ellipsoidal Area

スクリプトは次の場所にインストールされています。 Processing Toolbox -> Utils -> Ellipsoidal area

ツールは自明である必要があり、投影に関係なく、選択した単位で面積を計算できます。


コードとしてより良い例を挙げることができますか?
レオレオポルドヘルツ

0

インフラストラクチャレイアウト、集水域、学習エリアなどを見ているように、見ているエリアが変化する可能性がある場合、エリアを属性として追加するのではなく、単にラベルを付けると便利です。

Label-> round($area/10000,2)||' ha'

この方法では、属性テーブルの集水域を頻繁に更新することを覚えておく必要はありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.