end0tknr's kipple - web写経開発

太宰府天満宮の狛犬って、妙にカワイイ

国交省 国土地理院 による GEOコーディング & 逆GEOコーディング API

国土地理院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,函館市';