ネコと和解せよ

街区レベル位置参照情報の調査記録

オフラインで経緯度から住所地名(そこまで正確でなくともよい)に変換するシステムを作るための調査記録。

国土地理院が公開する街区レベル位置参照情報を調べた。

2023年度のものを使用する。

提供形式

提供されているのは都道府県別のZipファイルで、圧縮後のファイルサイズはそれぞれ1M~11MB、合計で132MB。
各Zipにはデータ形式を説明するテキスト文章と街区データのCSVファイルがある。

展開後のCSVファイルは8~215MB、合計1.96GBになる。

データ形式

CSVにはヘッダに続いて以下の項目が格納されている。詳細は同梱されているHtmlで確認できる。

列名 カテゴリ
都道府県名 地名 string
市区町村名 地名 string
大字・丁目名 地名 string
小字・通称名 地名 string(空有)
街区符号・地番 地名 string
座標系番号 座標1 string
X座標 座標1 float (少数桁6)
Y座標 座標1 float (少数桁6)
緯度 座標2 float (少数桁1)
経度 座標2 float (少数桁1)
住居表示フラグ 数値
代表フラグ 数値
更新前履歴フラグ 数値
更新後履歴フラグ 数値

分析

地名、および座標2を対象に分析する。座標1は座標2から計算により算出できる。
緯度経度と平面直角座標の相互変換をPythonで実装する #Python - Qiita

方法

解像度を知るために、各項目のユニーク値、及び複合ユニーク値の数を調べる。
最初はデータベースに格納してから分析しようとしたが、効率よく処理できなかったので、pandasで直接処理することにした。(とてもはやい)

都道府県単位で処理し、最後にすべて結合した全国の値を調べた。

評価

全国

列名は変な英語になっているが以下の通り

  • prefecture 都道府県ユニーク数
  • records CSVのレコード数
  • city 市町村ユニーク数
  • block 大字ユニーク数
  • unit 小字ユニーク数
  • parcel 地番ユニーク数
  • lat 経度ユニーク数
  • lon 緯度ユニーク数
  • location [経度,緯度]複合ユニーク数
  • municipality [都道府県,市町村]複合ユニーク数
  • district [都道府県,市町村,大字]複合ユニーク数
  1. レコード数(都道府県、市区町村、大字、小字、地番の複合ユニーク数)は1957万6027件である。
  2. cityは別都道府県同一名市町村があるため、municipalityより少ない。
  3. block,unit,parcelはレコード数に対して1%以下である。大字、小字、地番は全国に同じものがたくさんある。
  4. lat,lonの数が異なる。同一緯度に存在するレコードが存在する。
  5. locationの数がrecordに対して少ない。同じ場所に複数のレコードが登録されていることがある。
  6. lat,lon,locationの数が異なる。同一緯度、又は直線上に、地番が同一でないレコードが存在する。
  7. municipalityの数が自治体の数1718よりも少ない。データが整備されていない自治体がある。

都道府県別

列の意味は以下の通り。

  • prefectureName 都道府県ユニーク数

他は全国版と同一


  • recordは愛知、千葉、埼玉、茨木がやたらと多い。東京、大阪は意外と少ない。徳島、福井が少ない。東京と大阪が少ないのは区画整理の影響?愛知県はもう少し頑張っていただきたい。
  • cityは統一感がある。平成の大合併の効果だろうか。
  • blockは都市部に多く、地方ほど少ない。愛知県は何故か多い。
  • unitは地方に多く、都市部に少ない。愛知県は何故か多い。
  • parcelは地方都市に多い。
  • lat,lot,locationは大都市を持つ都道府県に多い。

考察

  • locationは解像度を落として圧縮できる可能性がある。初期解像度は0.000001度(だいたい10cm以下)なので、100倍くらいにして再調査してみてもよい。
  • lat,lon,locationの数値が一致しない場所は、地番の異なる複数のレコードが直線的に並んでいる。分布をみるとデータ作成時の偏りが見えるかもしれない。
  • locationとrecordの割合から、各都道府県の測量事業に対する積極性がわかるかもしれない。
  • RDB化する場合、ユニーク数が一番多い項目でデータサイズが概ね決まるので、locationかdistrictを削減する必要がある。
  • 愛知県は都会と地方両方の性質をあわせ持つ。

おまけ

CSVを置いておくのでご自由にお取りください。
gist.github.com