Как добавить геометку к фото: четыре рабочих шага

Чтобы добавить геометку к фотографиям, вы записываете широту и долготу в собственные метаданные EXIF файла изображения, так что координаты путешествуют внутри снимка, а не в подписи, названии папки или таблице. Весь процесс сводится к четырём шагам: получить координаты, открыть фотографию в программе, умеющей записывать EXIF, записать местоположение и прочитать файл обратно, чтобы убедиться, что оно на месте.
Именно последний шаг почти все пропускают, и именно он ловит две ошибки, о которых пойдёт речь ниже: местоположение, которое так и не попало в файл, и местоположение, которое попало, но указывает на противоположную сторону света.
Как добавить геометку к фотографиям за четыре шага
- Найдите широту и долготу той точки, где был сделан снимок.
- Откройте фотографию в редакторе, умеющем записывать данные о местоположении.
- Поставьте точку на карте, а затем запишите её в файл.
- Прочитайте файл обратно и убедитесь, что местоположение в нём есть.
Первый шаг, это поиск по карте. Второй шаг отсекает большую часть того, что уже стоит на вашем компьютере: галерея телефона и панель сведений о файле в Windows охотно покажут вам местоположение, но ни одна из них не запишет новое. На третьем шаге местоположение и создаётся. Выберите точку на карте и запишите координаты в файл, и вы получите обратно копию снимка, который несёт своё местоположение внутри себя.
Что на самом деле записывается в файл
Вот тот же снимок со скриншота, открытый затем в просмотрщике метаданных. Так «снимок с геометкой» выглядит изнутри:
Две нижние строки, это координаты в том виде, в каком вы сами бы их набрали: 40.7 и -73.9. Строки выше показывают, как снимок хранит их на самом деле, и здесь важны два отличия.
Первое состоит в том, что десятичное число разбивается. Значение 40.7 записывается как 40, 42, 0: 40 градусов, 42 минуты, 0 секунд. Это смена формата, и в ней ничего не теряется.
А вот второе отличие и подводит. Знак минуса исчез. Сохранённая долгота, это положительное 73, 54, 0, а «западная» половина значения -73.9 лежит в отдельном поле:
GPSLatitudeиGPSLongitudeхранят расстояние от экватора и от Гринвича, всегда в виде положительных чисел.GPSLatitudeRefиGPSLongitudeRefхранят по одной букве каждое,NилиS,EилиW. Это единственное во всём файле, что говорит, по какую сторону экватора и по какую сторону Гринвича вы стояли.GPSAltitudeиGPSAltitudeRefработают так же для высоты. Высота хранится как обычное положительное число, поэтому один этот признак и есть всё, что отличает крышу от подвала.
Все поля местоположения, которые может нести фотография, перечислены в справочнике GPS для ExifTool, а подробный разбор поле за полем есть в материале что геотегирование записывает в фотографию.
Почему координаты оказываются не в том полушарии
Запишите ту же пару координат в снимок, пропустите те два однобуквенных поля и прочитайте файл обратно. Вы получите вот это:
GPSLatitude : 40 deg 42' 0.00"
GPSLongitude : 73 deg 54' 0.00"
GPSPosition : 40 deg 42' 0.00", 73 deg 54' 0.00"
Числа верны, а N и W просто отсутствуют. В снимке не осталось ничего, что фиксировало бы, что долгота должна была быть западной. Файл по-прежнему сообщает о местоположении и по-прежнему выглядит как снимок с геометкой, поэтому ошибка проходит любую проверку, кроме той, что ставит метку на карту.
Именно с этим сталкиваются люди, когда верная координата даёт метку не в той стране. Обычно всё начинается со знакового десятичного числа, скопированного прямо с карты в инструмент, который никогда не разделяет его на число и направление.
В момент съёмки или добавлено позже
Телефон с включёнными службами геолокации записывает местоположение прямо при сохранении снимка, и то же делает камера со встроенным GPS или соединённая с логгером. Больше ничего не нужно: координаты есть уже с первого сохранения.
Всё остальное относится ко второму пути: камера без GPS-приёмника, кадр, снятый с выключенной геолокацией, файл, уже прошедший через сервис, который вырезает метаданные, или скан старого отпечатка. Все они приходят с пустым местоположением, и его приходится вписывать потом. Как раз этот случай и описывают четыре шага выше.
Что переживает загрузку
Местоположение живёт внутри файла, поэтому оно путешествует ровно настолько, насколько файл добирается целым. Организация IPTC, стандартизирующая метаданные фотографий, проверила шестнадцать сервисов обмена изображениями и файлами в серии тестов весной 2019 года. Обнаруженная картина такова:
| Сервис | Что показал тест | Что это значит для вашего местоположения |
|---|---|---|
| Instagram, Twitter | Все метаданные удалены | Местоположение не переживает загрузку |
| Pexels, Pixabay, Unsplash | Удалены из скачиваемых файлов | Тот, кто скачает ваш снимок, не получит местоположения |
| Flickr | Данные камеры сохранены при скачивании | Местоположение обычно возвращается вместе с файлом |
| Google Photos | Данные камеры сохранены при скачивании | Местоположение обычно возвращается вместе с файлом |
| Dropbox, OneDrive | Исходный файл сохранён без изменений | Вы получаете обратно ровно то, что загрузили |
Та серия уже стара, и более свежую по соцсетям IPTC не публиковала, поэтому читайте её как описание формы проблемы, а не как точную таблицу результатов на сегодня. Рабочее правило в любом случае остаётся в силе: храните оригинал с геометкой там, где вы всё контролируете, и никогда не считайте, что файл, прошедший через чужой сервер, всё ещё несёт своё местоположение. Рассуждение работает и в обратную сторону. Когда снимок отправляется в публичное место, а местоположение никого не касается, уберите координаты обратно, прежде чем он уйдёт.
Проверка того, что координаты действительно в файле
Это четвёртый шаг, и он занимает около десяти секунд. Откройте готовый снимок в программе для чтения метаданных и посмотрите на поля местоположения.
Если и широта, и её однобуквенное направление на месте, местоположение действительно записано в файл и будет путешествовать вместе с ним. Если этот раздел пуст, ничего записано не было, что бы ни показывал вам на экране редактор. Прочитать поля местоположения снимка можно, ничего не устанавливая.
Проверяйте буквы направления, а не только числа. Широта без N или S рядом, это и есть описанная выше ошибка, и выглядит она совершенно правильной до тех пор, пока что-нибудь не попробует нанести её на карту. Если вам удобнее работать с настольной программой, а не с браузером, то варианты для Windows и Mac изложены здесь, включая то, какие из них умеют записывать местоположение, а какие способны лишь показать его.



