日本の地域メッシュを作るQGISプラグインを作りました（おまけで国勢調査のデータも読めます）

![Untitled-1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/95370/17a0144a-51e3-c491-f7d0-146c3bdd9aa3.jpeg)

:::note
これは「[MIERUNE Advent Calendar 2023](https://qiita.com/advent-calendar/2023/mierune)」の14日目の記事です。昨日は、@dayjournal さんによる「[TiTilerでCloud Optimized GeoTIFF (COG) を利用した動的タイルサーバーを構築してみた](https://qiita.com/dayjournal/items/201cba368fd8d5b71c94)」でした。
:::

日本の大規模なGISデータはしばしば、経線・緯線に沿った約1km四方や約250m四方といった「標準地域メッシュ」というマス目ごとに整備・配布されます。地域メッシュ単位で配布されるデータの例としては、[基盤地図情報](https://fgd.gsi.go.jp/download/menu.php)や、[国勢調査や経済センサスのデータ](https://www.e-stat.go.jp/gis/statmap-search?type=1)、はたまた[PLATEAUの3D都市モデル](https://www.geospatial.jp/ckan/dataset/plateau-tokyo23ku)、といったものがあります。メッシュの各領域には一定のルールでメッシュ番号が振られます。

![Screenshot 2023-12-11 at 10.03.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/95370/99fb0c52-6dc3-9b83-fff4-e96dfb0b3435.png)

この標準地域メッシュはよく使われているものの、[QGIS](https://www.qgis.org/ja/)上でこのメッシュをさっと作れるプラグインは（私の知る限り）ありませんでした。なにかと不便に思うときがあるので、今回、ちょっとしたQGISプラグインを作ってみました。

:::note
（**追記**： 想定する用途が少し異なりそうですが、[Epoppo/JapanBasemap](https://github.com/Epoppo/JapanBasemap) というプラグインもあるようです）
:::

今回作ったプラグインは、いまのところ以下のような機能を持っています：

- 80km メッシュ から 125mメッシュまで、様々な**標準地域メッシュ**をQGIS上のベクタレイヤとして作れます。
- （おまけ機能１）政府統計 s-Stat の**国勢調査**や**経済センサス**の地域メッシュ統計のデータを読み込む機能も付けました。
- （おまけ機能２）行政関係などでしばしば使われる「**国土基本図図郭**」という比較的古くからあるメッシュも作れます。

## プラグインのインストール

プラグインは、QGISの公式プラグインリポジトリで「[Japanese Grid Mesh](https://plugins.qgis.org/plugins/japanese_grids/)」という名前で公開しています。

QGISのメニューにある「プラグインの管理とインストール...」から  “Japanese Grid Mesh” という名前で検索してインストールできます。

![Screenshot 2023-12-11 at 2.55.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/95370/0c35c9c2-31c2-9ee9-c207-002b1a8cd29e.png)

（プラグインのアイコンは @chizutodesign さんにお願いして用意して頂きました :pray:）

## 標準地域メッシュを作ってみる

1. メッシュを作りたいエリアをマップ上に表示します。（ここでは[国土地理院の標準地図タイル](https://maps.gsi.go.jp/development/ichiran.html#std2)を表示しています。）

    ![Screenshot 2023-12-11 at 3.02.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/95370/c35336e0-db38-4447-ce4b-afba9674f56b.png)

2. QGISのプロセッシングツールボックスを開いて、「地域メッシュ → 地域メッシュを作成」を開きます。

    ![Screenshot 2023-12-11 at 3.04.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/95370/357fda5d-0268-620d-80d9-cfc5173793ef.png)

3. すると、このようなダイアログが開きます。

    ![Screenshot 2023-12-11 at 10.58.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/95370/acb437c6-0a09-9368-0738-56abb3f8e1c2.png)

4. 地図上にいま表示している範囲をメッシュの作成範囲にしたいので、「メッシュの作成範囲」の欄にある、「現在のキャンパス領域に設定」ボタンを押しましょう。（さもないと日本全土のメッシュが生成されます！）

    ![Screenshot 2023-12-11 at 3.07.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/95370/2850c770-c495-bf62-7443-1ee5e72f12aa.png)

5. その下には、様々なメッシュサイズごとに、その出力先を選ぶ欄が並んでいます。デフォルトでは「出力をスキップ」になっており、どのメッシュも作成されません。**作成したい種類のメッシュの出力先を「一時レイヤ」などに切り替えてください**。（複数種類のメッシュを一度に生成することもできます）。

    ![Screenshot 2023-12-11 at 9.38.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/95370/c5d895df-b20a-0295-7d0f-19ea79c79220.png)

    ちなみに、いまのところ以下のメッシュサイズに対応しています。

    - 1次メッシュ（第1次地域区画、約80km四方）
    - 2次メッシュ（第2次地域区画、約10km四方）
    - （5倍地域メッシュ 約5km四方）
    - （2倍地域メッシュ 約2km四方）
    - 3次メッシュ（基準地域メッシュ、約1km四方）
    - 2分の1地域メッシュ（約500m四方）
    - 4分の1地域メッシュ（約250m四方）
    - 8分の1地域メッシュ（約125m四方）
    - 要望があれば、ほかのマイナーなメッシュサイズにも対応したいと思います。

6. 今回は3次メッシュ（基準地域メッシュ）を作ってみることにして、「実行」ボタンをクリックすると、メッシュが作成されます。

    ![Screenshot 2023-12-11 at 10.03.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/95370/99fb0c52-6dc3-9b83-fff4-e96dfb0b3435.png)

メッシュが作成されて、各領域の**メッシュ番号がラベルとして自動で設定**されていることも確認できるはずです。

## 国勢調査や経済センサスのデータを読み込む

せっかく地域メッシュを計算するコードを書いたので、おまけで[政府統計の総合窓口 (e-Stat) で公開されている](https://www.e-stat.go.jp/gis/statmap-search?type=1)「国勢調査」や「経済センサス」の地域メッシュ統計データを読み込む機能も付けてみました。これらのデータは若干特殊な形式になっており、QGISに正しく読み込むには本来特別なステップが必要ですが、本プラグインを使うことで元データを一発でQGIS上に読み込むことができます。

1. プロセッシングツールボックスから「地域メッシュ統計を読み込む」を選択してください。

    ![Screenshot 2023-12-11 at 10.54.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/95370/f2036d6e-a84a-7923-60d1-3af924aedb9a.png)

2. このようなダイアログが開きます。

    ![Screenshot 2023-12-11 at 18.49.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/95370/a8a74caa-fd33-9255-028a-57a362ca93c0.png)

3. e-Stat からダウンロードした、国勢調査や経済センサスの .txt (CSV) ファイルを選択し、プロセッシングプラグインを「実行」すると、e-Stat のGISデータが読み込まれます。

    ![Screenshot 2023-12-11 at 20.50.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/95370/aa670a32-e56c-2c37-2d4c-6eb5fef2875c.png)

4. シンボロジを設定してみましょう。ここでは「人口に占める14才以下の割合」をもとに色を塗ってみます（赤い場所ほど14才以下が多い地域です）。

    ![Screenshot 2023-12-11 at 20.38.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/95370/3505c938-ffa5-41c8-cd49-bef681ba997f.png)

国勢調査の地域メッシュデータは、人口や世帯数が一定数に満たない地域をまとめることで、人口が少ない地域の情報が特定されすぎないように「秘匿」する加工が施されています。このプラグインでは、その仕組みも考慮してポリゴンや統計値を併合するようにしています（**下図**）。

![Screenshot 2023-12-11 at 20.59.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/95370/2c4666e3-375e-5225-40f4-421108756be9.png)

## 追記: マウスカーソル位置のメッシュコードのリアルタイム表示機能

ビュー ＞ パネル ＞ 地域メッシュコード、で表示できます。

![44d5320ea40d59fead00f5764937997b.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/95370/c12e92d0-0d30-effc-a307-51098f453c26.gif)

## おわりに

追加機能のご要望や問題点の指摘があれば、ぜひGitHubリポジトリ (https://github.com/MIERUNE/qgis-japan-mesh/) のIssueに投稿していただくか、この記事にコメントを頂ければ幸いです。今後の改善の参考にさせて頂きます。

https://github.com/MIERUNE/qgis-japan-mesh/

:::note
明日の [MIERUNE Advent Calendar 2023](https://qiita.com/advent-calendar/2023/mierune) は @xinmiao1995 さんによる記事です！ お楽しみに！
:::