国土地理院APIでお手軽ジオコーディング&逆ジオコーディング - 芽萌丸
国交省 国土地理院のサイトには、 GEOコーディングAPIの資料が見つかりませんでしたが、 上記urlで見つけたのでメモ。
GoogleMap APIと比較すると、精度(情報粒度)は粗いようですが。
GEOコーディング
https://msearch.gsi.go.jp/address-search/AddressSearch?q=東京都渋谷区渋谷1
↑アクセス例と、↓その結果
[ {"geometry" : {"coordinates": [139.704285,35.661812], "type" : "Point" }, "type" : "Feature", "properties": {"addressCode": "", "title": "東京都渋谷区渋谷一丁目" } } ]
逆GEOコーディング
https://mreversegeocoder.gsi.go.jp/reverse-geocoder/LonLatToAddress?lat=35.661812&lon=139.704285
↑アクセス例と、↓その結果
{ "results":{"muniCd":"13113","lv01Nm":"渋谷一丁目"} }
住所コード( muniCd )→住所変換
上記の逆GEOコーディングにある住所コード( muniCd )は、 https://maps.gsi.go.jp/js/muni.js にあるマスターで変換できます。
例えば、先程の「"muniCd":"13113"」は 「GSI.MUNI_ARRAY["13113"] = '13,東京都,13113,渋谷区';」 と定義されています。
以下は、muni.js の抜粋です。
/************************************************************************ 設定:旧地理院地図より ************************************************************************/ GSI.MUNI_ARRAY = {}; GSI.MUNI_ARRAY["1100"] = '1,北海道,1100,札幌市'; GSI.MUNI_ARRAY["1101"] = '1,北海道,1101,札幌市 中央区'; GSI.MUNI_ARRAY["1102"] = '1,北海道,1102,札幌市 北区'; GSI.MUNI_ARRAY["1103"] = '1,北海道,1103,札幌市 東区'; GSI.MUNI_ARRAY["1104"] = '1,北海道,1104,札幌市 白石区'; GSI.MUNI_ARRAY["1105"] = '1,北海道,1105,札幌市 豊平区'; GSI.MUNI_ARRAY["1106"] = '1,北海道,1106,札幌市 南区'; GSI.MUNI_ARRAY["1107"] = '1,北海道,1107,札幌市 西区'; GSI.MUNI_ARRAY["1108"] = '1,北海道,1108,札幌市 厚別区'; GSI.MUNI_ARRAY["1109"] = '1,北海道,1109,札幌市 手稲区'; GSI.MUNI_ARRAY["1110"] = '1,北海道,1110,札幌市 清田区'; GSI.MUNI_ARRAY["1202"] = '1,北海道,1202,函館市';