点群の最外形線を作りたい。

1,191 views
Skip to first unread message

QGIS初心者

unread,
May 18, 2022, 9:55:50 PM5/18/22
to QGIS初心者質問グループ
お世話になってます。

QGISに取り込んだ点群データの外形線を作成したいのですが、
規則正しく並んでいる点群の場合は、「レイヤ領域の抽出」コマンドで簡単に抽出できると思います。(添付ファイル1.zip)

対して、下記のように、一部が欠けている点群の場合、どのように実施したら点群の最外形を抽出することができるでしょう?(添付ファイル2.zip)
無題.png


すみませんが、いいアイデアがあれば教えて頂きたいです。
よろしくお願いします。
添付ファイル2.zip
添付ファイル1.zip

Bun

unread,
May 19, 2022, 1:09:26 AM5/19/22
to QGIS初心者質問グループ
こんにちは
点が同距離配列で並んでいることから、最短距離でフィルターにかけられそうだと思いました。
概ね以下の手順でできそうです。

1)ベクター>ドロネー三角分割
2)1)に対し、「ポリゴンを線に変換」
3)2)に対し、「線をセグメントに分解」
4)3)に対し、「フィールド計算機」で$length
※ご提供のデータでは、int型でよさそうです(縦横の距離が異なるため)
5)4)の最小値以外を削除(点同士が最短距離でつながったラインレイヤができる)
6)5)に対し、「ポリゴン化」

あくまでご提供の添付ファイル2に対し実施したものなので、
点同士が縦と横の距離がちょうど2倍であったりすると
最小値以外でのフィルターが難しそうです。
その場合はドロネー三角分割の面積でのフィルター、
「点をつないで線に」にて縦線と横線に分けるなどするとうまくいくかもしれません。


2022年5月19日木曜日 10:55:50 UTC+9 QGIS初心者:

tomoyuki arai

unread,
May 19, 2022, 10:09:34 AM5/19/22
to QGIS初心者質問グループ
QGIS初心者さま、Bunさま

こんにちは。
一般にばらけた点群に対しては、プロセシングツールボックスの
ベクタジオメトリ→凹包(アルファシェイプ)または 凹包(k近傍法)
選択肢になるかと思います。
添付ファイル2のポイントデータに対してできるか試してみましたが、
近い形状は得られるものの、残念ながら希望の形状は作成できなさそうでした。
アルファシェイプ(閾値0.45)での結果を添付します。

凹包(アルファシェイプ_0.45).png
進行方向に対して270度回る凹な角が鈍ってしまい、これ以上閾値を小さくすると
アルゴリズムがエラーを吐いてジオメトリが生成されませんでした。

点間距離が全て等しい場合にはBunさんの方法で対処できるかと思いますが、
距離がさまざまに異なる点群に対しては、これを下準備として
目視でジオメトリを修正していくのが良いのかなと思います。
閾値は点の分布具合によって適切な値が変わるので、試行錯誤が必要です。

新井 智之


2022年5月19日木曜日 14:09:26 UTC+9 Bun:

QGIS初心者

unread,
May 19, 2022, 10:23:30 PM5/19/22
to QGIS初心者質問グループ
Bun様
新井様

ありがとうございます。
やり方としては色々とありそうで勉強になりました。

たいへん助かります。
引き続きよろしくお願いいたします。

2022年5月19日木曜日 23:09:34 UTC+9 tarai...@gmail.com:
Reply all
Reply to author
Forward
0 new messages