from PIL import Image
import glob
get_float = lambda x: float(x[0]) / float(x[1])
def convert_to_degrees(value):
d = get_float(value[0])
m = get_float(value[1])
s = get_float(value[2])
return d + (m / 60.0) + (s / 3600.0)
def get_lat_lon(info):
try:
gps_latitude = info[34853][2]
gps_latitude_ref = info[34853][1]
gps_longitude = info[34853][4]
gps_longitude_ref = info[34853][3]
lat = convert_to_degrees(gps_latitude)
if gps_latitude_ref != "N":
lat *= -1
lon = convert_to_degrees(gps_longitude)
if gps_longitude_ref != "E":
lon *= -1
return lat, lon
except KeyError:
return None
filenames = 'D:/RPS/drone/2018-03-24_connamesset/*.jpg'
latlons = [get_lat_lon(Image.open(f)._getexif()) for f in glob.glob(filenames)]
import folium
m = folium.Map( location=latlons[0], zoom_start=14 )
for coord in latlons:
folium.CircleMarker( location=[ coord[0], coord[1] ], radius=1 ).add_to(m)
m