境界がズレると政策がズレる:自治体データの地理整合性をコードで直す話

IT政策の提案
境界がズレると政策がズレる:自治体データの地理整合性をコードで直す話

どうも〜おかむーです!今日はちょっとエンジニアっぽい話をしますよ〜。データの話って地味に見えて政策評価にはガツンと効くんですよね。これ見てくださいよ:東京都オープンデータカタログ(https://catalog.data.metro.tokyo.lg.jp/dataset)や各地のCSV公開(例:函館市のCSV一覧 https://www.harp.lg.jp/opendata/dataset/79.html、デジタル庁の医療機関CSV https://www.digital.go.jp/assets/.../xxxxxx_hospital.csv)を眺めると、”数”と”場所”の噛み合わなさが散見されます。

  • データの位置(座標系や精度)がバラバラで空間結合が不安定
  • 行政区画の変更・コード差異で時系列比較がズレる
  • ポリゴン(境界)と時点を明示してないため、指標の分母・分子が噛み合わない

結論

自治体・政府データを「場所でつなぐ」には、座標参照系(CRS)の明記、境界のバージョン管理(時点付きポリゴン)、および自治体コードの正規化が必須です。これが揃ってないと、人口当たり指標や施設分布の評価が誤差どころか政策判断を歪めます。エンジニア的に言うと、地理情報は仕様バグになりやすいんですよ!

レポート本文

問題の現場観

これ見てくださいよ:多くのCSVは緯度経度を付けているけど、CRSを書いてないことが多い(WGS84前提でも地方ではJGD2011/JGD2000混在が起き得る)。また、人口統計は「市区町村別」だけど、その市区町村の境界がいつの版か分からない。合併や境界変更があった場合、同名でも面積が違うんです。

要するに、違う“地図”に基づいた数をそのまま割り算すると誤った指標ができあがるということです。

技術的検証ポイント

  • CRSの明記(EPSG:4326/WGS84 vs JGD2011)
  • 緯度経度の小数点桁数(精度)とジオコーディングのバイアス
  • 行政コードの系統(JISコード/e-Statコード/自治体独自ID)のマッピング
  • 境界ポリゴンの時点(versioned GeoJSON/TopoJSONが望ましい)

実践レシピ(コード例)

エンジニア的に言うと、geopandasで空間結合→集計→時間軸整合をやればOKな話なんですよね。例:

import pandas as pd

import geopandas as gpd

施設CSV(lat/lon)読み込み

f = pd.read_csv('xxxx_hospital.csv')

fg = gpd.GeoDataFrame(f, geometry=gpd.points_from_xy(f.lon, f.lat), crs='EPSG:4326')

行政境界GeoJSON(versioned)を読み込む

muni = gpd.read_file('municipalities_2024-04-01.geojson').to_crs('EPSG:4326')

空間結合

joined = gpd.sjoin(fg, muni[['municipality_code','geometry']], how='left', predicate='within')

集計(例えば市区町村ごとの医療機関数)

agg = joined.groupby('municipality_code').size().rename('hosp_count')

要するに、境界版を明示しておけば、いつの「地図」で集計したかを保証できます!

境界変更への対処(面積比配分)

合併などで境界が変わった場合は、古い境界上のポリゴンを新しい境界に対して面積比で配分する「面積重み補間(area-weighted interpolation)」を使います。geopandasで交差→面積比を計算すれば実装できます。

政策評価への影響例

たとえば「人口1万人あたりの医療機関数」を政策指標にするとき、分母の人口が旧境界で集計されていると過小/過大評価になります。これが予算配分や評価指標に直結するんですよね。

提案:実装しやすいガイドライン

  • 全ての地理データにCRSを明記(EPSGコード)
  • 境界はGeoJSON/TopoJSONで公開し、ファイル名orメタに有効日を必須に
  • CSVには自治体のJIS/e-Statコードを必須カラムにする
  • 小さなライブラリ(Python/R)で「境界整合モジュール」を提供:読み込み→リプロジェクト→時点での再集計をAPIで返す
  • これ、地方自治体でも導入ハードルは低いです。GeoJSON出力とsmall utilityがあれば即実行できます。

    まとめ

    • 座標系と境界時点がないデータは政策評価を歪める
    • 地理整合性はコード(CRS/JIS/バージョン)で管理するのがシンプルで強い
    • geopandas等のツールで再現可能なワークフローを標準化しよう

    おかむーから一言

    テクノロジーで社会をアップデートするなら、まず“地図”をちゃんとすること!境界が揃えば、政策の議論が一気に実証的になりますよ〜。

    シェアする