写真のexifから緯度・経度を取得する
写真のexif情報から撮影場所の緯度・経度を取得します
環境
- windows10 home
- Anaconda 3/ jupyter notebook 5.6.0
- Python 3.7.0
準備
スマホで撮影したこちらの写真を使います。撮影場所は静岡県熱海市の港です。
コード
Pillowの_getexif() メソッドでexif情報を取得し、緯度・経度を示すid34853の値から必要なデータを抜き取っています。
from PIL import Image img = Image.open('atami_cat.jpg') exif = img._getexif() # EXIF情報を得る # idが34853(GPS情報)の場合valueより必要な情報を得る for id,value in exif.items(): if id==34853: N1 = value[2][0][0] N2 = value[2][1][0] N3 = value[2][2][0]/100 E1 = value[4][0][0] E2 = value[4][1][0] E3 = value[4][2][0]/100 print(N1,N2,N3) print(E1,E2,E3)
実行結果
北緯(35度5分32.29秒)および東経(139度4分47.44秒)が表示されます。
35 5 32.29
139 4 47.44
確認のためこの数字をGoogle Mapに入力すると、撮影場所が正しく表示されました。
以下のサイトを参考にさせていただきました
ゼロからはじめるPython>>Pythonで写真に埋め込まれているGPS情報から撮影場所を調べよう
Exif 情報一覧