QGISの機能「有効性チェック」を用いたジオメトリのエラーへの対処方法

# はじめに
株式会社ナイトレイの森口です。
地理情報エンジニアとして、主に空間解析や可視化分析等の業務に携わっています。

普段は緯度経度などの**位置情報**が付与されている**地理情報データ**（またはGISデータ）を取り扱っていますが、この地理情報データを扱う際のトラブルの一つに**ジオメトリのエラー**というものがあります。

# ジオメトリとは
> また、複雑な形状を持つ立体を構成する、基本的な幾何学図形のことをジオメトリという場合もある。2次元であれば点や直線、多角形、円、楕円、扇形、円弧、自由曲線などが含まれ、3次元であれば立方体や直方体、球、楕円体（カプセル形状）、円柱、三角錐、円錐、トーラス（ドーナツ形状）などが含まれる。

IT用語辞典 e-words「[ジオメトリ](https://e-words.jp/w/%E3%82%B8%E3%82%AA%E3%83%A1%E3%83%88%E3%83%AA.html)」より抜粋

### ジオメトリのエラーとは
地理情報データにおけるジオメトリとは、ポイント（点）・ライン（線）・ポリゴン（面）やそれぞれの頂点を示しており、以下のような状態にある時にジオメトリのエラーが発生します。

例：
* 別々のポリゴンが重なる
* 接合すべきポリゴン同士が離れている
* 単一のポリゴンでねじれが生まれている（今回のサンプルデータです）

参考情報：[ポリゴンにおけるジオメトリのエラー（Qiita アレなGISデータ図鑑と対応(案)より）](https://qiita.com/Yfuruchin/items/20a21ad7bb402853aa51#%E3%83%9D%E3%83%AA%E3%82%B4%E3%83%B3%E3%83%87%E3%83%BC%E3%82%BF)

# ジオメトリのエラーへの対処法として...
このようなジオメトリのエラーが発生していると、面積算出やオーバーレイ計算など空間解析に支障をきたす恐れがあります。
こういった状況に対してエラー箇所を特定し修正する手助けとなるのがQGISの標準機能である**有効性のチェック**です。

# 使い方
使用環境は
OS：MacOS
QGIS：3.22.11-Białowieża
です。

### 0.使用データ
使用するのはこちらのポリゴンです。
![スクリーンショット 2022-09-30 10.20.08.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/442333/391aa0da-7f90-29d9-ef2e-77c77a900c4f.jpeg)



### 1.ツールの起動
プロセッシングツールボックスの検索窓に**有効性チェック**を入力、表示されるものをクリックするとポップアップウィンドウが開きます。
![スクリーンショット 2022-09-30 10.16.05.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/442333/9d5db9da-51fe-5f22-2a12-0fd91b42749b.jpeg)

↓ポップアップウィンドウ
![スクリーンショット 2022-09-30 10.21.39.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/442333/34aedd79-2bfc-592f-5a6a-6087674fd39c.jpeg)

### 2.設定
1.ツールの起動 で表示されたポップアップウィンドウにて以下の設定を行います。
* **入力レイヤ**：対象のデータを選択（今回はサンプルデータ）
* **方法**：「デジタイジング設定の選択」「QGIS」「GEOS」の3つがありますが、この中で空間解析のスピードが最も早い**GEOS**を選択します。

[以下はオプションであり、特に指定しなければ**一時レイヤ**が出力されます。]
* 有効なジオメトリの出力レイヤ
* 不正なジオメトリの出力レイヤ
* エラー部分の出力レイヤ

上記の設定が完了したら右下の**実行**をクリック。

### 3.出力結果
実行後に画像のように出力レイヤが追加されます。
![スクリーンショット 2022-09-30 10.33.06.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/442333/6ecf90ce-d195-aeba-330b-afa842e49705.jpeg)
上記のように
* 有効なジオメトリの出力レイヤ
* 不正なジオメトリの出力レイヤ
* エラー部分の出力レイヤ

の3つが追加されていますが、今回はレイヤに対してポリゴンは1つなので**有効なジオメトリの出力レイヤ**は表示されません。チェック対象のレイヤに複数のデータが含まれ、尚且つエラーがないデータがあれば表示されます。

今回の出力結果である
* 不正なジオメトリの出力レイヤ
* エラー部分の出力レイヤ

について確認します。


* 不正なジオメトリの出力レイヤ
こちらは、チェック対象のレイヤの中でジオメトリエラーがあるデータ（地物）を抽出したものになります。もし、複数のデータでエラーがある場合はその件数分追加されます。
![スクリーンショット 2022-09-30 10.38.17.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/442333/ac8dc342-15fa-d053-d9f3-c415d5b256c2.jpeg)

* エラー部分の出力レイヤ
上記の**不正なジオメトリの出力レイヤ**においてどの部分がエラー要因となっているかをポイントデータとして抽出したものになります。分かりづらいですが青い円の中心にあります。
![スクリーンショット 2022-09-30 10.44.33.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/442333/a7cdfb29-734e-02d7-69a0-4de3043aa1d3.jpeg)

# まとめ
このようにQGISの機能である**ジオメトリの有効性チェック**を用いることで、空間解析を進める上でのトラブルの一つに対応することができます。

## 参考情報

https://qiita.com/Yfuruchin/items/20a21ad7bb402853aa51


# 最後に
私たちの会社、ナイトレイでは一緒に事業を盛り上げてくれるGISチームメンバーを募集しています！
現在活躍中のメンバーは開発部に所属しながらセールス部門と密に動いており、
慣れてくれば顧客とのフロントに立ち進行を任されるなど、顧客に近い分やりがいを感じやすい
ポジションです。

 このような方は是非Wantedlyからお気軽にご連絡ください（もしくは recruit@nightley.jp まで）

 ✔︎ GISの使用経験があり、観光・まちづくり・交通系などの分野でスキルを活かしてみたい
 ✔︎ ビッグデータの処理が好き！（達成感を感じられる）
 ✔︎ 社内メンバーだけではなく顧客とのやり取りも実はけっこう好き
 ✔︎ 地理や地図が好きで仕事中も眺めていたい 

一つでも当てはまる方は是非こちらの記事をご覧ください 。
二つ当てはまった方は是非エントリーお待ちしております(^ ^)

「位置情報×モビリティ.まちづくりetc事業領域拡大の為GISエンジニア募集」

 https://www.wantedly.com/projects/1031814

▼ナイトレイとは？

https://www.wantedly.com/companies/nightley