in mapillary_tools/exif_read.py [0:0]
def extract_lon_lat(self) -> Tuple[Optional[float], Optional[float]]:
lat_tag = self.tags.get("GPS GPSLatitude")
lon_tag = self.tags.get("GPS GPSLongitude")
if lat_tag and lon_tag:
lat_ref_tag = self.tags.get("GPS GPSLatitudeRef")
lat = gps_to_decimal(
lat_tag.values, lat_ref_tag.values if lat_ref_tag else "N"
)
lon_ref_tag = self.tags.get("GPS GPSLongitudeRef")
lon = gps_to_decimal(
lon_tag.values, lon_ref_tag.values if lon_ref_tag else "E"
)
if lon is not None and lat is not None:
return lon, lat
# repeat above
lat_tag = self.tags.get("EXIF GPS GPSLatitude")
lon_tag = self.tags.get("EXIF GPS GPSLongitude")
if lat_tag and lon_tag:
lat_ref_tag = self.tags.get("EXIF GPS GPSLatitudeRef")
lat = gps_to_decimal(
lat_tag.values, lat_ref_tag.values if lat_ref_tag else "N"
)
lon_ref_tag = self.tags.get("EXIF GPS GPSLongitudeRef")
lon = gps_to_decimal(
lon_tag.values, lon_ref_tag.values if lon_ref_tag else "E"
)
if lon is not None and lat is not None:
return lon, lat
return None, None