登記所備付地図から地番に漢字が入っているデータを抽出して可視化

# はじめに

この記事は2024年11月10日に開催されたイベント「[FOSS4G 2024 Japan コアデイ](https://www.osgeo.jp/events/2024-2/foss4g-2024-japan/coreday)」での発表「登記所備付地図データを使って〇〇してみよう」の内容の一部をベースに加筆してまとめたものです。

関連記事についても参照ください。

https://qiita.com/tkhrmeme/items/fe29d628b07d083fdf6f

# 登記所備付地図とは

登記所備付地図は、法務省からオープンデータとして公開されている土地に関するデータです。登記に関する個人情報は含まれていませんが、土地の形状や地番が属性として含まれています。

https://www.moj.go.jp/MINJI/minji05_00494.html

https://qiita.com/kntoshiya/items/b1472cf8c29ed9b1d706

[G空間情報センター](https://front.geospatial.jp/)では、法務省から公開されているXMLデータと共に、GISで利用しやすくした GeoJSON や Shapefile といったフォーマットに変換済みのデータも公開されています。

# フォーマットの変換

法務省から公開されているオリジナルのXMLデータは、そのままではGISのソフトウェアで読み込めませんので変換が必要です。下記のようなツールで変換が可能です。

- [デジタル庁 GeoJSONコンバータ](https://github.com/digital-go-jp/mojxml2geojson)
- [MIERUNE QGISプラグイン](https://github.com/MIERUNE/qgis-mojxml-plugin)

# 地番の文字列を調べる

登記所備付地図に含まれている地番には、たいてい数字（とハイフン）が格納されています。例えば、北海道の虻田町のデータには次のようなデータが含まれています。

| 市区町村名 | 大字コード | 丁目コード | 小字コード | 地番 |
| --- | --- | --- | --- | --- |
| 虻田郡京極町 | 000 | 000 | 0009 | 1 |
| 虻田郡京極町 | 000 | 000 | 0009 | 3 |
| 虻田郡京極町 | 000 | 000 | 0013 | 810-1 |
| 虻田郡京極町 | 000 | 000 | 0013 | 810-5 |
| 虻田郡京極町 | 000 | 000 | 0013 | 812 |
| 虻田郡京極町 | 000 | 000 | 0013 | 809 |
| 虻田郡京極町 | 000 | 000 | 0013 | 793-3 |

GeoPandasを使って登記所備付地図を読み込み、正規表現を使ってデータフレームの「地番」から「先頭が数字でない文字列」のデータを抽出し、先頭文字をまとめてみます。

```Python
import geopandas as gpd

df = gpd.read_file("01399_京極町.gpkg")

df[df['地番'].str.contains('^(?!\d).+', regex=True)]['地番'].str[0].unique()
```

先頭に含まれる文字は以下のようなものがあるようです。

```
array(['水', '道', '長', '筆', '無'], dtype=object)
```

実際の地番の文字列はどうなっているでしょうか。

```
df[df['地番'].str[0]=='水']['地番'].head()
```

"水"で始まる地番は以下のようです。

```
87     水-450
90     水-239
93     水-241
104    水-455
114    水-245
Name: 地番, dtype: object
```

"長"で始まる地番は…
```
df[df['地番'].str[0]=='長']['地番'].head()
```

"長狭物不明"となっていました。

```
4393      長狭物不明-4
12900    長狭物不明-23
12915    長狭物不明-24
12921    長狭物不明-25
12922    長狭物不明-26
Name: 地番, dtype: object
```

その他いろいろ調べていくと、"筆界未定地"、"無地番"、"本番不明"、"河川"、"鉄道"、"国有地"などが地番に含まれているものを見つけることが出来ました。

# 可視化

地番に含まれている漢字をカウントしつつ、ポリゴンをプロットしてみます。

```Python
df[df['地番'].str.contains('^([水河道長無筆国地]).+', regex=True)]['地番'].str[0].value_counts()
```

プロットはデータフレームを一旦GeoPackage形式のファイルに出力し、QGISを使って描画しています。

## 京極町

地番に含まれている文字としては「水」が多く、次に「道」でした。

```
地番
水    510
道    236
長     46
無     19
筆      1
```

プロットしてみるとなんとなく水の流れが見えてきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3291613/c06ba1ea-820e-964c-3b6d-5cc3c24889c5.png)

## 洞爺湖町

町内の道路の多くが、地番に「道」の文字が入ったポリゴンになっているようです。また山の中には細長い「長狭物不明」のポリゴンがあります。林道でしょうか？

```
地番
長    346
道    308
水    178
筆    104
無     12
河      2
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3291613/4e28519d-5e03-3781-4b70-c163f7cb2375.png)

## 石狩市

国有地が随分と目立っています。また筆界未定地が集中している場所がありました。

```
地番
国    1755
道     982
水     426
筆     114
長      33
無      17
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3291613/a5dd94c5-272d-cc68-08d8-d6f80f0bf623.png)

## 羅臼町

海岸沿いに長狭物不明が連なっていました笑

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3291613/73b84250-a5c5-d905-4102-14131a59ec31.png)

# まとめ

自治体ごとに地番に含まれている漢字の割合が案外違うことが分かりました。その土地の歴史を何かしら反映していると考えられます。さらに背景を調べてみると面白いかもしれません。