ボロノイポリゴンの面積について

98 views
Skip to first unread message

爽平久米

unread,
Aug 21, 2022, 12:01:46 AMAug 21
to QGIS初心者質問グループ
質問失礼致します。

ボロノイポリゴンの面積の最大値や最小値、平均値を調べる方法を分かる方がいらっしゃいましたら教えて頂きたいです。
また、50㎡以上100㎡未満は赤色、100㎡以上150㎡未満は黄色、といった風にこちらで指定した面積の値で色分けする方法もご教授して頂ければ幸いです。
ご回答宜しくお願い致します。

福岡

unread,
Aug 22, 2022, 1:31:02 AMAug 22
to QGIS初心者質問グループ
こんにちは

面積計算をフィールド計算機で行い、その結果が記載される属性テーブルを表計算ソフトに貼り付けて処理するというのが良いように思います。

フィールド計算機は「ソロバンの形をしたアイコン」をクリックすると立ち上がります。
「$area」という関数で面積を求めることができます。

属性テーブルは「表の形をしたアイコン」をクリックすると立ち上げることができます。
「Ctrl + A」で全てのデータを指定し、「Ctrl + C」でクリックボードに取り込みます。
後は表計算ソフトに貼り付けて、「max」、「min」、「average」などの関数を使うとお望みの値を得ることができると思います。

色分けは、レイヤのプロパティで行います。
「シンボロジ」タブでは、一番上の設定が「単一定義」となっていると思います。
これを「連続値による定義」に変更して「クラス数」に分割したい数を入力して「分類」ボタンをクリックします。
分割した後に「値」は編集できるので、ここで「50 - 100」の様に修正します。
色もアイコンをダブルクリックすると編集できますので、適宜修正してください。

2022年8月21日日曜日 13:01:46 UTC+9 kumes...@gmail.com:

tomoyuki arai

unread,
Aug 22, 2022, 10:32:23 AMAug 22
to QGIS初心者質問グループ
久米さま

余計な心配かもしれませんが、ボロノイポリゴンの座標参照系CRSが地理的座標系、つまりは緯度経度単位のもの(例えばEPSG:4326やEPSG:6697など)にはなっていないでしょうか?
先日の投稿にあったスクリーンショットではプロジェクトの座標系がEPSG:4326となっていましたので、ボロノイポリゴンの作成元となった点データのレイヤをこのCRSで作成したならば、結果として得られるボロノイポリゴンの座標も緯度経度で記述されたものになっていると思います。

もしそうならば、$area関数で得られる値は緯度経度の座標で計算されたいわば「平方度」とでも呼ぶべき単位になるので、50や100どころではない、非常に小さな値となってしまいます。この場合は、先にメートル単位の何らかの投影座標系へと変換する必要があります。

いくつか前に話題のあった福岡さんのQiita への投稿記事などに座標系の変換方法がありますので、参考にしてください。

新井 智之



2022年8月22日月曜日 14:31:02 UTC+9 福岡:

ありた

unread,
Aug 23, 2022, 11:03:36 AMAug 23
to QGIS初心者質問グループ

こんにちは

新井さんが補足された内容ですが、誤った記述になっております。


利用できる関数等について詳細はフィールド計算機内で確認できますが $area
以下のように記されています。
> 地物の面積を返します。この関数で計算される面積には、現在のプロジェクトの
> 楕円体設定と面積単位設定の両方が反映されます。例えば、プロジェクトに
> 回転楕円体が設定されている場合、楕円体面積になり、設定されていない場合、
> 平面上の面積になります。

つまりプロジェクト CRS ( QGIS ウィンドウ右下に記載されている CRS )として
「 EPSG:4326 WGS84 」が設定されている場合は WGS84 楕円体上での面積が計算されますし、
「 EPSG:6677 JGD2011 平面直角座標系9系」が設定されている場合は GRS80 楕円体上での
面積となります( JGD2011 で採用している楕円体が GRS80 であるため)。
その際には(プロジェクトプロパティの設定に依りますがデフォルトの設定値では)
メートル単位で正確に計算されます。

これは地物(レイヤ)の座標系が、緯度経度座標系であっても、面積の歪みが大きな
メルカトル図法などであっても同様ですので、基本的に問題はありません。

なお計算式が area($geometry) ですと、仮に地物(レイヤ)が緯度経度座標系の場合には、
面積の単位は平方度となります。



それはそれとして、「経度差1度」と「緯度差1度」は、同じ「1度」でも距離は異なります。
ボロノイ図とは、同一の点を最近傍とする領域を示すものですので、ボロノイポリゴンを
求める際に、「度」単位で解析すると不適切な結果が得られることが考えられます。
ボロノイポリゴンを求める前の点の段階で、平面直角座標系等に再投影しておいた方が
よろしいかと思います。



統計量の算出ですが、 HTML 形式でのレポートでよければプロセシングツールより
「属性の基本統計量」。属性値に付与したい場合は「集計」などが利用できます。

tomoyuki arai

unread,
Aug 23, 2022, 8:28:22 PMAug 23
to QGIS初心者質問グループ
ありたさま、皆さま

ありたさんの先の投稿のとおり、$area関数の理解が間違っていて失礼いたしました。普段は解析に用いるレイヤは早々に再投影することがほとんどなので、思い込みでコメントしてしまいました。

手元で簡単なテストを行って、関数の説明のとおり平方メートル単位で結果が出ることを確認できました。またひとつ勉強になりました。

今後とも、お手柔らかによろしくお願いします。

新井 智之

2022年8月24日水曜日 0:03:36 UTC+9 ありた:

爽平久米

unread,
Aug 29, 2022, 11:19:56 AMAug 29
to QGIS初心者質問グループ
皆様、ご回答いただきありがとうございました。

追って質問させて頂きたいのですが、現在作成しているボロノイポリゴンは、シンポロジタブを「カテゴリ値による定義」に変更すると5つに分類される状況です。この際に「$area」を使用し、5つ全てのポリゴンの面積を算出し、福岡様の教えて頂いた通りにできたのですが、カテゴリ値による定義で分類されたものの5つの内、4つのタブの面積だけを算出し、それを利用して面積の範囲ごとの色分けを行う、といった方法はありますでしょうか。

伝わりづらい説明になってしまい申し訳ありません、ご教授頂けると幸いです。

2022年8月24日水曜日 9:28:22 UTC+9 tarai...@gmail.com:

ありた

unread,
Aug 31, 2022, 8:08:43 AMAug 31
to QGIS初心者質問グループ
こんにちは

> カテゴリ値による定義で分類されたものの5つの内、4つのタブの面積だけを
> 算出し、それを利用して面積の範囲ごとの色分けを行う

すみません。意図をつかむことができませんでした。

現在の状況をスクリーンショットで保存し、ペイントで手書きでも構いませんので
どのような結果を希望しているのか、具体的に提示していただけますでしょうか。

よろしくおねがいします。
Reply all
Reply to author
Forward
0 new messages