IPアドレスから緯度、経度などの位置情報を調べる
ラズパイが使っているIPアドレスからその場所(位置情報)を調べることができます。まずは、以下のコマンドを実行して準備してください。
` sudo pip3 install geocoder `
このgeocoderというモジュールを使って位置情報の検索をします。ip-loc.pyとusstates.pyを同じフォルダに置いて、ip-loc.pyを実行してください。
IPアドレスから現在地を検索するには、関数geocoder.ip()
に"me"
という値を渡します。
geoInfo = geocoder.ip("me")
この関数は現在地の位置情報を返します。それを取り出すには以下のようにします。
# ラズパイが使っているIPアドレス
ip = geoInfo.ip
# 現在地の緯度
lat = geoInfo.lat
# 現在地の経度
lon = geoInfo.lng
# 現在地の都市名
city = geoInfo.city
# 現在地の州名
state = geoInfo.state
# 現在地の郵便番号
zipCode = geoInfo.postal
# 現在地の国名
country = geoInfo.country
州の名前は、「Massachusetts」などフルネームになっています。これを2文字の略称(州名コード)に変換するには以下のようにしてください。
stateCode = stateToStateCode[state]