小さなポリゴンの除去方法

257 views
Skip to first unread message

Kazushi Nakano

unread,
Sep 17, 2021, 4:24:29 AM9/17/21
to QGIS初心者質問グループ
ラスターレイヤをポリゴン化し、それぞれのポリゴンの重心を出そうとしていたのですが、
ポリゴン化した際に目当てのポリゴンと極小のポリゴンができてしまい、
重心を出そうとするとその小さなポリゴンにも生成されてしまいます。

ラスターレイヤがグラデーションがかっているため、その一つ一つがポリゴン化してしまったことで生じたものなんだろうと思うのですが、
小さい不必要なポリゴンを取り除く方法、周りと合体させる方法など思い当たる方がいればご助言いただければ幸いです。

よろしくお願いいたします。

福岡

unread,
Sep 18, 2021, 4:34:47 AM9/18/21
to QGIS初心者質問グループ
Kazushi Nakano 様

こんにちは
しっかりとイメージできていないので、アイディア出し程度ということでご容赦ください。m(__)m

1 フィールド計算機で$areaを使って面積を計算します。
2 属性テーブルで面積計算したフィールドをソートします。
3 面積が著しく小さいポリゴンを選択して、削除します。

このような操作で、極小ポリゴンは削除できるように思いました。

2021年9月17日金曜日 17:24:29 UTC+9 Kazushi Nakano:

ありた

unread,
Sep 18, 2021, 8:26:14 PM9/18/21
to QGIS初心者質問グループ
こんにちは

・属性テーブルで ε ボタン(式による地物選択)で $area <= 10 などの条件に合致する
 地物を選択し、削除する方法
・プロセシングツール「QGIS 式による抽出」で $area > 10 などの条件に合致する
 地物のみで構成されるレイヤを作成する方法

大量の地物がある場合、前者は少し処理に時間がかかるかもしれません。


ラスタからベクタポリゴンに変換する際は、当然ながらラスタのセル値が異なる場合、
別々のポリゴンが生成されます。(じゃないと値をちゃんと保存できない)

もし、同一のクラスとして認識させたいのであれば、はじめにラスタそのものの値を
丸める必要があります。
プロセシングツールの「ラスタを丸める」や「区分表(テーブル)で再分類」を使用し
同一のクラスの値にしてから処理します。

Kazushi Nakano

unread,
Sep 21, 2021, 4:30:55 AM9/21/21
to QGIS初心者質問グループ
福岡様
ありた様


ご回答いただきありがとうございます。
お二方のアドバイスを参考になんとなくやり方を理解しました。
やりたい機能がどこにあるのか分からなかったので大変助かりました。

重ねて、ご助力いただきましたこと感謝いたします。
2021年9月19日日曜日 9:26:14 UTC+9 ありた:

Kazushi Nakano

unread,
Sep 24, 2021, 1:40:32 AM9/24/21
to QGIS初心者質問グループ
ありた様


申し訳ありません。
解決したようなところではあったんですが、ラスタのクラスを同一にする方法で少しひっかかっています。
「テーブルで再分類」はやり方が分かりましたが、「ラスタを丸める」は調べても見つけることができません。
私の使っているQGISのバージョンは3.10.9です。別のバージョンから実装されているんでしょうか…?
それとも別の名称なのか、プラグインするものなのでしょうか…?

初心者の質問で申し訳ないのですが、よろしくお願いいたします。

2021年9月21日火曜日 17:30:55 UTC+9 Kazushi Nakano:

ありた

unread,
Sep 24, 2021, 10:11:18 AM9/24/21
to QGIS初心者質問グループ
「ラスタを丸める」は QGIS 3.14 からの機能となります。
Reply all
Reply to author
Forward
0 new messages