ベクタに変換したDEM等を「空間演算ツール」で結合したりするとき、一部が結合できていない事に気が付きました。
結合をしている時に赤文字でエラーの警告が出ますが、最後に「アルゴリズム ‘●●’が終了しました」と出て、問題ない箇所だけは演算ができるので、ほんの一部だけエラーが存在する場合は、うっかり見過ごしかねません。
「ベクタ」の「ジオメトリツール」から「妥当性チェック」を行ってみると「リングの自己交差」という種類のエラーであることがわかりました。
そもそも自己交差エラーとは、こんなふうにポリゴンの一部が内側に食い込んでしまっている状況です。
これは明らかにおかしいので直す必要があります。
問題はこちら。同一ポリゴンの頂点と頂点がスナップ機能等で「接して」いる場合。
ある。あり得る。植生図や標高DEMをベクタ化した時なんか余裕であり得る形。
このポリゴンはスナップ機能で作図しているので、拡大しても重なり合っている事はありません。
この形状自体は重なっているわけではないので、別に問題ないはずです。
しかし「妥当性チェック」をかけると不正なジオメトリ扱いとなってしまいます。
当然、「和」「クリップ」等の処理しようにもエラーとなり計算されません。
【解決法】
「空間演算ツール」より「バッファ」から、”0m”のシェイプを新規で作成する
qgisの内部で何が起こっているのかは不明ですが、これでエラーは解消されました。
0mバッファなのでデータは(素人が確認できる範囲では)全く変化ありません。
なお、接している部分をちょっとだけ離せばエラーは解消するのですが、多少なりとも隙間が空いてしまうのでおすすめはしません。何より手間ですし。0mバッファにたどり着くまで何時間無駄にしたことやら。。。。。
また、空間演算ツールを使うときの赤文字エラーは絶対見逃さないようにしましょう。(自分への戒め)
以上、QGIS3系におけるジオメトリの自己交差エラーの解決法でした。
コメントを残す