【APIキー・アカウント不要】Pythonで住所から緯度経度を取得する

【APIキー・アカウント不要】Pythonで住所から緯度経度を取得する プログラミング

「Pythonで住所から緯度・経度を簡単に取得したい」
「プログラムで2点間の距離を計算したい」

このような場合には、geopyがオススメです。
この記事では、geopyについて解説しています。

本記事の内容

  • geopyとは?
  • geopyのシステム要件
  • geopyのインストール
  • geopyの動作確認

それでは、上記に沿って解説していきます。

geopyとは?

geopyは、ジオコーディングWebサービス用のPythonクライアントです。
geopyを利用すると、簡単に住所・ランドマーク名の緯度・経度を取得できます。

geopyが対応しているのは、次のサービス・APIになります。

  • OpenStreetMap Nominatim
  • Google Geocoding API (V3)
  • その他ジオコーディングサービス

利用する上で、API登録・アカウント登録なども不要です。

以上、geopyについて説明しました。
次は、geopyのシステム要件を説明します。

geopyのシステム要件

現時点(2022年9月)でのgeopyの最新バージョンは、2.2.0となります。
この最新バージョンは、2021年7月11日にリリースされています。

サポートOSに関しては、以下を含むクロスプラットフォーム対応です。

  • Windows
  • macOS
  • Linux

サポート対象となるPythonのバージョンは、以下となっています。

  • Python 3.5
  • Python 3.6
  • Python 3.7
  • Python 3.8
  • Python 3.9

この状況は、以下のPython公式開発サイクルとはかけ離れています。

バージョンリリース日サポート期限
3.62016年12月23日2021年12月23日
3.72018年6月27日2023年6月27日
3.82019年10月14日2024年10月
3.92020年10月5日2025年10月
3.102021年10月4日2026年10月

ここでは、Python 3.7の利用を推奨しておきます。

以上、geopyのシステム要件を説明しました。
次は、geopyのインストールを説明します。

geopyのインストール

検証は、次のバージョンのPythonで行います。

$ python -V
Python 3.10.2

まずは、現状のインストール済みパッケージを確認しておきます。

$ pip list
Package    Version
---------- -------
pip        22.2.2
setuptools 65.3.0
wheel      0.36.2

次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。

python -m pip install --upgrade pip setuptools

では、geopyのインストールです。
geopyのインストールは、以下のコマンドとなります。

pip install geopy

geopyのインストールは、一瞬で終わります。
終了したら、どんなパッケージがインストールされたのかを確認します。

$ pip list 
Package       Version
------------- -------
geographiclib 1.52
geopy         2.2.0
pip           22.2.2
setuptools    65.3.0
wheel         0.36.2

geopyは、1つのパッケージに依存していることが確認できます。
これであれば、既存環境にも問題なくgeopyを導入できるでしょう。

以上、geopyのインストールを説明しました。
次は、geopyの動作確認を説明します。

geopyの動作確認

geopyの動作確認を行います。
みんな大好き東京タワーの位置情報を取得してみましょう。

from geopy.geocoders import Nominatim

geo = Nominatim(user_agent="myapp")
location = geo.geocode("東京タワー")
print(location.address)
print((location.latitude, location.longitude))
print(location.raw)

上記コードを実行すると、次のような結果が表示されます。

東京タワー, 東京タワー通り, 麻布台二丁目, 港区, 東京都, 106-0041, 日本
(35.65858645, 139.74544005796224)
{'place_id': 298695709, 'licence': 'Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright', 'osm_type': 'relation', 'osm_id': 4247312, 'boundingbox': ['35.6580427', '35.6591227', '139.744746', '139.7461594'], 'lat': '35.65858645', 'lon': '139.74544005796224', 'display_name': '東京タワー, 東京タワー通り, 麻布台二丁目, 港区, 東京都, 106-0041, 日本', 'class': 'tourism', 'type': 'attraction', 'importance': 0.5000314898471236, 'icon': 'https://nominatim.openstreetmap.org/ui/mapicons/poi_point_of_interest.p.20.png'}

簡単に住所や緯度経度を取得できました。

以上、geopyの動作確認を説明しました。

タイトルとURLをコピーしました