別名・略称:マッピング処理
ジオコード変換(Geocoding):住所と緯度経度の相互変換
東京都千代田区永田町1-7-1緯度 35.6759, 経度 139.7448(35.6895, 139.6917)東京都新宿区西新宿2丁目SSDSE 47 都道府県の県庁所在地に緯度経度を付与する例:
| 都道府県 | 県庁所在地 | 緯度 | 経度 |
|---|---|---|---|
| 北海道 | 札幌市 | 43.06 | 141.35 |
| 東京都 | 新宿区 | 35.69 | 139.69 |
| 沖縄県 | 那覇市 | 26.21 | 127.68 |
SSDSE-B-2026(47 都道府県・2023 年データ)を題材にした最小コード:
1 2 3 4 5 6 7 | # GeoPy を使ったジオコーディング from geopy.geocoders import Nominatim geolocator = Nominatim(user_agent='ssdse-demo') location = geolocator.geocode('東京都千代田区永田町1-7-1', timeout=10) print(location.latitude, location.longitude) # 35.6759, 139.7448 |
SSDSE-B-2026 の都道府県名を国土交通省提供の都道府県界 GeoJSON とジオコーディングで結びつけ、 高齢化率のコロプレス地図を描く。
| 要素 | 具体 | SSDSE-B での使い方 |
|---|---|---|
| ジオコーディング | 住所→緯度経度 | 地域コード(R01000 等)と GeoJSON のキーを突合 |
| 逆ジオコーディング | 緯度経度→住所 | GPS ログ→都道府県の集計 |
| シェイプファイル | .shp 形式の境界 | GADM, 国土数値情報 |
| GeoJSON | JSON ベース地理 | Web 描画用 |
| MVT | ベクトルタイル | Mapbox/MapLibre |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | # SSDSE-B-2026 で都道府県別高齢化率を地図化
import pandas as pd
import geopandas as gpd
import folium
# 1. SSDSE-B 読み込み
df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=1)
df = df[df['年度']==2023].copy()
df['高齢化率'] = df['65歳以上人口']/df['総人口']*100
# 2. 都道府県境界 GeoJSON (例: 国土数値情報)
geo = gpd.read_file('data/raw/japan_prefectures.geojson')
# 3. 結合
merged = geo.merge(df[['都道府県','高齢化率']],
left_on='nam_ja', right_on='都道府県')
# 4. 地図化
m = folium.Map(location=[36, 138], zoom_start=5)
folium.Choropleth(
geo_data=merged.__geo_interface__,
data=merged, columns=['nam_ja','高齢化率'],
key_on='feature.properties.nam_ja',
fill_color='YlOrRd', fill_opacity=0.7,
legend_name='高齢化率 (%)',
).add_to(m)
m.save('aged_ratio_map.html')
# 上位5県: 秋田(38.6), 高知(36.1), 山口(35.2), 徳島(34.7), 山形(34.6)
print(df.nlargest(5,'高齢化率')[['都道府県','高齢化率']])
|
| サービス | コスト | 精度 | 利用規約上の注意 |
|---|---|---|---|
| Google Geocoding API | 従量課金 | ◎ | 地図表示と組み合わせ必須 |
| Mapbox | 従量課金 | ○ | 商用OK |
| 国土地理院 | 無料 | ○ 日本特化 | 商用OK・出典明記 |
| OpenStreetMap (Nominatim) | 無料(共有) | △ | 負荷制限あり、 商用は自前ホスト |
| jageocoder (Python) | 無料・オフライン | ○ 日本特化 | パッケージ単独で動作 |
点(緯度経度)が含まれるポリゴン(都道府県)を判定する操作。 geopandas の sjoin で実装。 SSDSE-B-2026 の市町村別データを使えば、 GPS ログから滞在都道府県を集計できる。