Рубрики
Без рубрики

Получение данных GPS EXIF с Python

Получите практические, реальные навыки Python на наших ресурсах и пути

Автор оригинала: Mike Driscoll.

Знаете ли вы, что вы можете получить данные EXIF из файлов изображений JPG, используя язык программирования Python? Вы можете использовать подушку, дружелюбную вилку библиотеки визуализации Python, чтобы сделать это. Вы можете прочитать статью об этом на этом сайте, если вы хотите.

Вот какой-то пример код для получения регулярных данных EXIF из файла JPG:

# exif_getter.py

from PIL import Image
from PIL.ExifTags import TAGS


def get_exif(image_file_path):
    exif_table = {}
    image = Image.open(image_file_path)
    info = image.getexif()
    for tag, value in info.items():
        decoded = TAGS.get(tag, tag)
        exif_table[decoded] = value
    return exif_table


if __name__ == "__main__":
    exif = get_exif("bridge.JPG")
    print(exif)

Этот код был запущен с помощью следующего изображения:

В этой статье вы будете сосредоточены на том, как извлечь GPS-теги с изображения. Это специальные теги EXIF, которые присутствуют только в том случае, если камера, которая взяла фотографию, имела информацию о вашем расположении для камеры. Вы также можете добавить теги GPS на своем компьютере после факта.

Например, я добавил GPS-теги на эту фотографию Jester Park, которая находится в Granger, Ia:

Чтобы получить доступ к те меткам, вам нужно будет предпринять более ранний пример кода и выполнять небольшие настройки:

# gps_exif_getter.py

from PIL import Image
from PIL.ExifTags import TAGS, GPSTAGS


def get_exif(image_file_path):
    exif_table = {}
    image = Image.open(image_file_path)
    info = image.getexif()
    for tag, value in info.items():
        decoded = TAGS.get(tag, tag)
        exif_table[decoded] = value

    gps_info = {}
    for key in exif_table['GPSInfo'].keys():
        decode = GPSTAGS.get(key,key)
        gps_info[decode] = exif_table['GPSInfo'][key]

    return gps_info


if __name__ == "__main__":
    exif = get_exif("jester.jpg")
    print(exif)

Чтобы получить доступ к тегам GPS, вам нужно импортировать GPstags из Pil.Exiftags. Затем после анализа регулярных тегов из файла вы добавляете второй цикл, чтобы искать тег «GPSINFO». Если это присутствует, то у вас есть теги GPS, которые вы можете извлечь.

Когда вы запускаете этот код, вы должны увидеть следующий вывод:

{'GPSLatitudeRef': 'N',
 'GPSLatitude': (41.0, 47.0, 2.17),
 'GPSLongitudeRef': 'W',
 'GPSLongitude': (93.0, 46.0, 42.09)}

Вы можете использовать эту информацию и использовать ее для загрузки карты Google с Python или работать с одним из популярных библиотек Python, связанных с ГИС.

Связанное чтение

  • Получение фото метаданных (EXIF) с помощью Python

  • Добавление Viewer Exif на изображение просмотра изображения