Pythonでgeopyを使用しジオロケーション(位置情報)を取得する

Pythonでgeopyを使用しジオロケーションを取得してみます。

ジオロケーション(Geolocation)とは、ユーザの位置情報を扱う技術のことで、ジオロケーションを使用することで、位置情報を取得することができます。

なお、今回はgeopyモジュールを使用します。geopyモジュールはPythonの標準ライブラリではありませんので、事前にインストールする必要があります。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■指定した場所の名前から座標を取得する

では、指定した場所の名前から座標を取得するスクリプトを書いていきます。

■コード

from geopy.geocoders import Nominatim

loc = Nominatim(user_agent="test1")

getlocation = loc.geocode("大阪城")

print("住所: ",getlocation.address,"\n")
print("緯度: ",getlocation.latitude,"\n")
print("経度: ",getlocation.longitude,"\n")
print("詳細な情報: ",getlocation.raw)

geopy.geocodersのNominatimを呼び出す。Nominatimは名前や住所を入力するとデータを提供してくれます。(無料のAPIです。)

呼び出した後に、locという変数を作成し、その中にNominatim()を記述し、括弧内に「user_agent=」を指定します。Nominatim()関数で、Nominatimを呼び出すと、サービスを提供するアプリケーションの名前と判断され、任意の名前を指定することができます。今回は「test1」とします。

次に、getlocationという変数を作成し、その中にgeocode()関数を使用します。括弧内で指定する場所を記述します。今回は「大阪城」と指定しています。これで場所の名前を渡し、Nominatimからジオデータが返されます。ジオデータは、データフレームなので、住所、緯度、経度を取得することができます。

最後にprint関数で返されたジオデータを出力します。今回は「address(住所)」、「latitude(緯度)」、「longitude(経度)」、「詳細な情報,生データ(raw)」を出力してみます。

■実行

このスクリプトを「get_geolocation.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、今回指定した場所の位置情報を取得し、出力することができました。

コメント

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