2023年1月23日に法務省登記所備付地図データが公開されました。しかし、ダウンロードに時間がかかったり、XML形式のファイルをコンバートする手間などがあり、少し使いにくいものです。
ですが、北海道分のデータに関しては北海道庁の喜多耕一さんがGeojsonに変換したものをGitHubにアップロードして公開してくれました(登記所備付地図(Geojson)のダウンロード)。
せっかくのデータですので、使い倒していきたいと思います。
地番データは細かい領域に分かれている
ダウンロードしたGeojsonは小さな領域に分割されています(厚沢部町は36の領域に分割されていました)。このままQGISに読み込んでもきちんと表示されるのですが、このままでは少し具合が悪いので、Rを利用して一つのファイルに結合します。
データをマージする
tidyverse
とsf
パッケージを使います
library(tidyverse)
library(sf)
データを読み込みつつ結合していきます。
# read data
map <-
# geojsonファイルをリスト化する
list.files(path = "data/", # データの格納されているディレクトリを指定
pattern = ".geojson", # 「.geojson」が含まれるファイルを検索
full.names = T) %>% # ファイル名をフルパスで取得
# map関数で、リスト化されたデータにそれぞれst_readを適用
purrr::map(sf::st_read) %>%
# geojsonファイルを結合
dplyr::bind_rows() %>%
# 座標系をJGD2000UTMzone54に変換(オリジナルはJGD2011の緯度経度系)
sf::st_transform(3100) %>%
# 必要なデータ項目だけを残す
dplyr::select(市区町村名, 大字名, 丁目名, 小字名, 地番)
データの中身はこんな感じです。
>map
Simple feature collection with 33550 features and 5 fields (with 395 geometries empty)
Geometry type: MULTIPOLYGON
Dimension: XY
Bounding box: xmin: -1358599 ymin: 4630667 xmax: 8537937 ymax: 17948300
Projected CRS: JGD2000 / UTM zone 54N
First 10 features:
市区町村名 大字名 丁目名 小字名 地番 geometry
1 檜山郡厚沢部町 <NA> <NA> 字峠下 1 MULTIPOLYGON (((449812.8 46...
2 檜山郡厚沢部町 <NA> <NA> 字峠下 2 MULTIPOLYGON (((449809 4644...
3 檜山郡厚沢部町 <NA> <NA> 字峠下 3 MULTIPOLYGON (((449817.8 46...
4 檜山郡厚沢部町 <NA> <NA> 字峠下 4 MULTIPOLYGON (((449838.6 46...
5 檜山郡厚沢部町 <NA> <NA> 字峠下 6 MULTIPOLYGON (((450081.3 46...
6 檜山郡厚沢部町 <NA> <NA> 字峠下 7 MULTIPOLYGON (((449854.8 46...
7 檜山郡厚沢部町 <NA> <NA> 字峠下 8 MULTIPOLYGON (((449849.2 46...
8 檜山郡厚沢部町 <NA> <NA> 字峠下 11 MULTIPOLYGON (((449869.7 46...
9 檜山郡厚沢部町 <NA> <NA> 字峠下 13-1 MULTIPOLYGON (((450816.7 46...
10 檜山郡厚沢部町 <NA> <NA> 字峠下 13-2 MULTIPOLYGON (((450799 4644...
mapview()
関数で表示してみます。
library(mapview)
mapview(map)
データを書き出す
うまくデータを結合できたので書き出します。
# write data
sf::st_write(
obj = map,
driver = "GPKG",
append = FALSE ,
"output/01363_JGD2000utm54.gpkg")
まとめ
結合された地番データは様々な使いみちが考えられます。次回は地番データをりようした郷土研究への活用事例を紹介します。