Руководство по GPS метаданным в фотографиях (ч. 3): Построение треков движения на основе группы фотографий


Оглавление: Руководство по GPS метаданным в фотографиях

1. Географические координаты и их извлечение из файлов

2. Как изменить GPS и другие метаданные в фотографии

3. Построение треков движения на основе группы фотографий

3.1 Реконструкция передвижений по фотографиям

3.2 Формат записи треков GPX

3.3 Как создать файл GPX из фотографий

3.4 GPXSee

3.5 GPX-Viewer

3.6 GottenGeography

3.7 Google Earth

3.8 Заключение


Реконструкция передвижений по фотографиям

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

Конечно, расставлять вручную метки на карте утомительно и в этой статье мы поговорим о программах, которые позволяют автоматизировать процесс построения маршрута перемещения на основе GPS данных из серии фотографий. Мы рассмотрим сразу четыре программы, две из которых являются кроссплатформенными и работают, в том числе, и на Windows.

Кстати, владельцам зеркальных камер без GPS на заметку: если в вашем фотоаппарате нет GPS чипа, это не означает, что на ваших фотографиях не может быть GPS меток. Вы можете использовать метод под названием GPS корреляция. Он обратный тому, который будет описан в этой статье. Суть его в следующем: при съёмке на фотоаппарат без GPS, возьмите с собой мобильный телефон, на нём есть GPS. И во время съёмки запустите запись маршрута — вы без труда найдёте бесплатные программы, которые это умеют, главное, чтобы она могла сохранять записанные треки в формате GPX. Затем используйте программу GPS Correlate. У каждой точки трека есть две характеристики: 1) время и 2) координата. Для каждого снимка также известно время его создания (хранится в метаинформации и свойствах файла). Программа смотрим, в какое время был сделан снимок, затем смотрит координаты той точки трека, которая соответствует этому времени, а затем просто записывает данные координаты в метаданные фотоснимка. На мой взгляд, отличная идея.

Формат записи треков GPX

Познакомимся с GPX цитатой из Википедии.

GPX (GPS eXchange Format) — это текстовый формат хранения и обмена данными GPS, основанный на XML. GPX является свободным форматом и может быть использован без каких либо лицензионных отчислений.

Формат позволяет хранить информацию об ориентирах (waypoints), маршрутах (routes) и треках (tracklogs). Для каждой точки хранятся её долгота, широта и высота над уровнем моря (если имеется информация о высоте). Для точек трека хранится также время прохождения точки. XML-схема предусматривает также хранение произвольной пользовательской информации по каждой точке, обязательными являются только долгота и широта. Примером пользовательской информации может быть высота местности(ele), скорость, частота пульса(hr), число шагов, темп вращения педалей (каденс)(cad), температура и т. п.

Формат воспринимается многими программами, в том числе Google Earth, Ozi Explorer, Яндекс.Навигатор (официальный список смотрите здесь).

В общем, это текстовый файл примерно с таким содержимым:


Как создать файл GPX из фотографий

Как уже было упомянуто в Википедии, программ, которые понимают GPX, много. И задача в том, чтобы сгенерировать этот файл на основе метаинформации из серии фотографий. К счастью, это уже умеет ExifTool и нам достаточно просто указать папку с фотографиями.

Чтобы создать файл маршрута GPX из фотографий, нужно запустить команду следующего вида:

exiftool -fileOrder DateTimeOriginal -p /ПУТЬ/ДО/gpx.fmt -d %Y-%m-%dT%H:%M:%SZ ДИРЕКТОРИЯ > out.gpx

В этой команде:

-fileOrder DateTimeOriginal

Устанавливаем сортировку выводимых данных по времени съёмки фотоснимков. Как бы это не было удивительно, но ExifTool обрабатывает и выводит данные не по дате съёмки, используется сортировка по другому признаку. Что ещё более удивительно, программы по работе с GPX обрабатывают файлы .gpx независимо от дат, указанных для точек, а просто последовательно.

-p /ПУТЬ/ДО/gpx.fmt

Это файл gpx.fmt поставляется вместе с ExifTool. Пользователи Linux могут найти его в своей системе командой

locate gpx.fmt

Например, в Kali Linux путь до этого файла: /usr/share/doc/libimage-exiftool-perl/fmt_files/gpx.fmt

В Arch Linux/BlackArch путь до этого файла: /usr/share/perl-image-exiftool/fmt_files/gpx.fmt

Пользователям Windows, видимо, нужно с сайта ExifTool скачать пакет для Linux и взять файл оттуда.

-d %Y-%m-%dT%H:%M:%SZ

Эта опция устанавливает формат даты и времени в выводимых данных.

ДИРЕКТОРИЯ

Папка с фотографиями, которые вы хотите обработать для составления трека передвижения.

> out.gpx


Сохранение выводимых данных в файл out.gpx

Мой пример генерации файла .gpx.

Перехожу в папку с фотографиями:

cd /mnt/disk_d/Share/TestPics2/

Теперь в качестве директории указываю . (точку), то есть текущий каталог:

exiftool -fileOrder DateTimeOriginal -p /usr/share/perl-image-exiftool/fmt_files/gpx.fmt -d %Y-%m-%dT%H:%M:%SZ . > out.gpx

На скриншоте видно, что обработано 33 изображения, но также в выводе имеются следующие строки:

Warning: [Minor] Tag 'gpsaltitude' not defined - ./20191218_045322.jpg
Warning: [Minor] Tag 'gpsaltitude' not defined - ./20191218_060840.jpg
…………...

Это не ошибки, а малозначительные предупреждения о том, что для некоторых файлов не определён тег gpsaltitude — возможно, GPS во время съёмки был выключен или какой-то другой сбой во время съёмки. Эти пять фотографий не попали в трек, но там ещё предостаточно снимков для построения маршрута.

Полная запись о точке выглядит примерно так:

<trkpt lat="17.8966666666667" lon="101.658055555556">
  <ele>0</ele>
  <time>2019-12-17T23:27:08Z</time>
</trkpt>

В моём файле попались неполные записи вроде таких (отсутствует время):

<trkpt lat="17.8961111111111" lon="101.656388888889">
</trkpt>
<trkpt lat="17.8969444444444" lon="101.659722222222">
</trkpt>
<trkpt lat="17.8969444444444" lon="101.659722222222">
</trkpt>
<trkpt lat="17.8972222222222" lon="101.659444444444">
</trkpt>

В принципе, можно их удалить, но они оказались расставленными в правильном порядке и, следовательно, не испортили построение трека. Видимо, программа взяла время из других свойств файла.

GPXSee

GPXSee — это программа для просмотра и анализа файлов журнала GPS, которая поддерживает все распространённые форматы файлов журнала GPS.

Ключевые особенности:


  • Открывает файлы GPX, TCX, FIT, KML, NMEA, IGC, CUP, SIGMA SLF, Suunto SML, LOC, GeoJSON, OziExplorer (PLT, RTE, WPT), Garmin GPI и CSV и файлы JPEG с геотегами.
  • Указываемые пользователем онлайн-карты (OpenStreetMap/Google tiles, WMTS, WMS, TMS, QuadTiles).
  • Автономные карты (OziExplorer maps, карты/атласы TrekBuddy, карты Garmin IMG/GMAP и JNX, TwoNav RMaps, изображения GeoTIFF, MBTiles).
  • Графики высоты, скорости, пульса, частоты вращения педалей, мощности, температуры и передаточного соотношения/сдвигов.
  • Поддержка файлов DEM (SRTM HGT).
  • Поддержка файлов POI.
  • Печать и экспорт в PNG и PDF.
  • Несколько треков в одном окне.
  • Полноэкранный режим.
  • Поддержка дисплеев и карт HiDPI/Retina.
  • Собственный графический интерфейс (Qt) для Windows, Mac OS X и Linux.
  • Бесплатное программное обеспечение (лицензия GPLv3 с открытым исходным кодом).

GPXSee разработан как небольшое (без зависимостей, кроме Qt), быстрое и несложное средство просмотра данных GPS/карт, а не полнофункциональное программное обеспечение ГИС. Однако спектр поддерживаемых файлов данных/источников карт относительно богат.

Установка GPXSee в Windows

Скачайте установочный файл со страницы https://sourceforge.net/projects/gpxsee/


Затем установите и запустите как любое другое приложение.

Установка GPXSee в Kali Linux

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

echo 'deb http://download.opensuse.org/repositories/home:/tumic:/GPXSee/Debian_Testing/ /' | sudo tee /etc/apt/sources.list.d/home:tumic:GPXSee.list
curl -fsSL https://download.opensuse.org/repositories/home:tumic:GPXSee/Debian_Testing/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_tumic_GPXSee.gpg > /dev/null
sudo apt update
sudo apt install gpxsee

Установка GPXSee в Arch Linux, BlackArch и их производные

Достаточно выполнить следующую команду:

sudo pacman -S gpxsee

Установка GPXSee в любой Linux

Для GPXSee собираются бинарные пакеты под все популярные дистрибутивы. Инструкции по установки в другие дистрибутивы Linux и файлы вы найдёте здесь.

Запустите из меню или командой:

gpxsee

Перетащите и бросьте в программу ранее созданный файл out.gpx.

Будет открыта карта с маршрутом передвижения.

Внизу вы увидите график с общей дистанцией пути и перепадами высоты.

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

По умолчанию выбрана карта 4UMaps, которая позволяет масштабировать только до определённого предела. С картой Open Street Map можно масштабировать сильнее.

При изменении карты может потребоваться время прежде чем она будет показана — видимо, это время на скачивание карты.

Зелёными стрелочками в меню можно переходить от точки к точке. Чтобы вновь увидеть весь трек, перейдите к последней точке.

GPX-Viewer

GPX-Viewer — это простой инструмент для визуализации треков и путевых точек, хранящихся в файле gpx.

Установка GPX-Viewer в Debian, Kali Linux, Linux Mint, Ubuntu и их производные:

sudo apt install gpxviewer

Установка GPX-Viewer в Arch Linux, BlackArch и их производные

sudo pacman -S gpx-viewer

Запустите программу из меню или в командной строке:

gpxviewer # Debian и производные
gpx-viewer # Arch Linux и производные

Откройте файл out.gpx. Вы увидите трек передвижения.

В левой части окна вы увидите вкладку с подробной статистикой, включающей: расстояние, длительность, время начала и окончания, различные скорости и информацию об изменении высоты.

Внизу показан график. Вы можете выбрать отображение: скорость, высота, дистанция и пр.

На вкладке с детальной информацией вы найдёте кнопку «Воспроизведение».

А на графике можно выбрать соседние точки для их показа на карте.

GottenGeography

GottenGeography — это простое в использовании приложение, которое показывает место съёмки для фотографий по GPS тегам в метаданных, а также маршруты из файлов GPX.

Эта программа очень старая и использует Python 2 и его библиотеки. Поэтому в Kali Linux эту программу запустить не получится.

В Arch Linux (из которого поддержка Python 2 не убрана), программу можно установить одной командой:

sudo pacman -S gottengeography

Программу можно запустить из меню или в командной строке:

gottengeography

Кроме отображения треков передвижения, программа поддерживает показ места съёмки фотографий на карте. По функциям эта программа уступает предыдущим.

Google Earth

Google Планета Земля в Linux (Google Earth Pro) — это 3D-интерфейс для исследования земного шара, местности, улиц, зданий и других планет.

Возможности Google Планета Земля Про:

  • Расширенные возможности импорта данных GIS.
  • Измерение площади, протяжённости и периметра земельных участков.
  • Печать скриншотов в высоком разрешении.
  • Создание потрясающих офлайн-фильмов.

Среди многочисленных возможностей этой программы, она также умеет показывать маршруты из GPX файлов. Отличительной особенностью этой программы являются детализированные спутниковые снимки. Предыдущие программы используют свободные карты, которые не всегда такие детализированные.

Для установки пользователям Windows достаточно перейти на официальный сайт и скачать установочный файл.

Для пользователей Linux подготовлена инструкция «Как установить Google Планета Земля в Linux (Google Earth Pro)».

Если вы не видите файл для импорта, то переключитесь на тип файлов «Gps».

При импорте не ставьте галочку «Создать ломанные линии KML».

На больших масштабах треки выглядят похоже с другими программами.

Но при большом приближении можно оценить качество спутниковых снимков.

Заключение

Поскольку между фотографии может быть значительный временной интервал, то нужно понимать, что линии не показывают реальные маршруты передвижения — они просто соединяют две точки, найденные в последовательно сделанных фотоснимках. Чем меньше время между фотоснимками, тем детальнее маршрут передвижения.


Рекомендуется Вам:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *