空間演算ツールのディゾルブに関して

271 views
Skip to first unread message

IwaU

unread,
Jul 19, 2021, 5:55:10 AM7/19/21
to QGIS初心者質問グループ
こんにちは
平素より大変お世話になっております.

ある複数のポリゴンからなるshpファイルを
 空間演算ツール>融合(ディゾルブ)
を実行し1つのポリゴンにすると
ポリゴン内部に線分が残存してしまいます.
 プロセッシングツール>孔の削除
を実行しても幾つかの線分が残ってしまいます.
このようなゴミはなぜ生じてしまうのでしょうか?
できれば融合前のポリゴンの段階で,ゴミが発生しないようにしたいのですが...

対策・解決法をご存知のかたはご教授のほどよろしくおねがい申し上げます.


tomoyuki arai

unread,
Jul 20, 2021, 12:57:56 PM7/20/21
to QGIS初心者質問グループ
IwaUさま

こんにちは。新井と申します。

グループの会話ログを確認すると、半年ほど前にも同様の質問をされているようですが、
ディゾルブしようとしているポリゴン群はジオメトリのギャップ(隙間)チェックで
エラーが全く出ない状態でしょうか?

各辺が座標レベルで一致していればディゾルブ時に内部にゴミが残ることはありませんが、
ノードツールでノードを移動・追加削除していると、わかりにくい隙間が残りがちです。
ギャップチェックで確認して、一つ一つ潰してしていくしかないと思います。

手作業では手に負えない個数のジオメトリの場合には、
ディゾルブ後のジオメトリの形状に目をつむるのであれば、
画像処理におけるモルフォロジー変換の応用で内部のごみをつぶすことはできます。

①元のポリゴンレイヤに対し、ベクタ - 空間演算ツール - バッファ で、
 ギャップ幅をカバーできるくらいのバッファ距離設定(例えば100m)で
 バッファ処理を実行する
②バッファ処理後の出力レイヤをディゾルブする
③ディゾルブ後のレイヤに対し、今度はバッファ距離に先ほどの
 マイナス値(例えば-100m)を入力して実行する

といった手順を踏めば、内部のギャップに由来するごみを潰せます。
バッファ距離は何度か試行錯誤する必要があるかもしれません。

作業イメージとしては、
にあるクロージング処理と同じです。

各ポリゴンが全て凸多角形の場合には、理論的にはこの処理で元の角が再現されますが、
ポリゴンに凹部がある場合にはその角が変わってしまうという副作用があります。

ご参考まで。

新井 智之

2021年7月19日月曜日 18:55:10 UTC+9 IwaU:

IwaU

unread,
Jul 21, 2021, 8:52:42 AM7/21/21
to QGIS初心者質問グループ
新井様.
ご返答頂きましてありがとうございます.

>>>ディゾルブしようとしているポリゴン群はジオメトリのギャップ(隙間)チェックで
エラーが全く出ない状態でしょうか?
→→ はい.エラーが全く出ない状態にしています.

>>>ディゾルブ後のジオメトリの形状に目をつむるのであれば、
画像処理におけるモルフォロジー変換の応用で内部のごみをつぶすことはできます。
→→ なるほどこのような方法があるのですね,知りませんでした.
こちらの方法でなんとかなりそうです.誠にありがとうございます.




2021年7月21日水曜日 1:57:56 UTC+9 tarai...@gmail.com:
Reply all
Reply to author
Forward
0 new messages