c全国の町丁目、大字、小字レベルの住所データをオープンデータとして公開しているサイト「Geolonia 住所データ」のご紹介です。
なお、登録されている住所データの件数は 277,191件 とのこと。
データの更新頻度も高く、国土交通省や日本郵便のサイトを元に、毎月更新を行っているとのことです。
現在開発しているプロジェクトの住所入力の補助として導入したのですが、とっても使い勝手が良いです!
ページはこちらから。
Geolonia 住所データ | japanese-addresses
https://geolonia.github.io/japanese-addresses/
私は API の方を使用しています。
まず、都道府県と市区名の一覧を取得できる API がこちら。
https://geolonia.github.io/japanese-addresses/api/ja.json
上記のURL にアクセスすればわかる通り、JSON 形式で都道府県とその市区名が取得できます。
{ "北海道": [ "札幌市中央区", "札幌市北区", "札幌市東区", ... ], "青森県": [ "青森市", "弘前市", "八戸市", ... ], "岩手県": [ "盛岡市", "宮古市", "大船渡市", ... ], ... }
次に、都道府県名と市区名して、町村とその緯度経度を取得できる API がこちらです。
https://geolonia.github.io/japanese-addresses/api/ja/静岡県/浜松市中区.json
例として、弊社のオフィスがある静岡県浜松市中区の町村を取得しています。
[ { "town":"相生町", "koaza":"", "lat":34.708039, "lng":137.746827 }, { "town":"葵西一丁目", "koaza":"", "lat":34.765339, "lng":137.714062 }, { "town":"葵西二丁目", "koaza":"", "lat":34.768452, "lng":137.7107 }, { "town":"葵西三丁目", "koaza":"", "lat":34.770128, "lng":137.707094 }, { "town":"葵西四丁目", "koaza":"", "lat":34.772909, "lng":137.705581 }, ... ]
ただし、「町丁目エンドポイントは、すべての地名を網羅しているわけではありません」とありましたので、その点だけご注意ください。
使用した感じとしましては、データの返却時間もとても短く、データ形式もシンプルなため、とても使いやすかったです。
更に、町村のデータに緯度経度が含まれていたのも嬉しいですね!
開発中のプロジェクトでは、入力した住所の地点を地図上に表示する機能があり、今までは住所の文字列から緯度経度を求めていたのですが、その手間が省けました!
以上、全国の住所データのオープンデータを提供している「Geolonia 住所データ」のご紹介でした。
ご参考になれば幸いです。