GIS

【LLoco】Google Maps APIで住所とポリゴンをマッチング

弊社の提供するLLocoというサービスでは、郵便番号粒度の地理情報を提供しています。

ここで地域情報と地図(ポリゴン)のマッチングには郵便番号を用いますが、郵便番号データを保持しておらず、住所(地名)のデータのみを保持している場合も考えられます。

しかし、地名によるマッチングでは、旧字・新字など文字が統一されていないなどの理由から完全にはマッチングされません。そこでGoogle Maps PlatformのGeocodingAPIを用いて地名から郵便番号を取得する方法について紹介していきます。

今回はgooglemapapiをpythonで呼び出して地名を入力し、郵便番号や緯度経度をもとにLLocoの郵便番号とマッチングします

import googlemaps
googleapikey = {apiキー}
gmaps = googlemaps.Client(key=googleapikey)
gmaps.geocode({調べる地名})

弊社の所在地である「東京都港区芝公園2-3-6」を入力した結果は次のようになりました。

[{'address_components': [{'long_name': '6',
    'short_name': '6',
~~~~<省略>~~~~~
  'formatted_address': '2-chōme-3-6 Shibakōen, Minato City, Tokyo 105-0011, Japan',
  'geometry': {'bounds': {'northeast': {'lat': 35.6568916, 'lng': 139.7527693},
    'southwest': {'lat': 35.6568093, 'lng': 139.7526944}},
   'location': {'lat': 35.6568446, 'lng': 139.7527413},
   'location_type': 'ROOFTOP',
   'viewport': {'northeast': {'lat': 35.6581994302915,
     'lng': 139.7541231302915},
    'southwest': {'lat': 35.6555014697085, 'lng': 139.7514251697085}}},
  'place_id': 'ChIJ6ehaWceLGGARd8MSJGSB5VA',
  'types': ['premise']}]

住所、郵便番号を認識していることがわかります。また、緯度経度地図 でgeometryのlocationを検索すると正確に認識しています。

googlemapapiを用いて住所から郵便番号・緯度経度を予測しました。これによりLLocoとマッチングし、位置情報に紐づいた統計情報にアクセスすることができるようになります。

 

sato
データサイエンス事業部所属 寒さと生活が苦手