CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
23.10.2019

Последние комментарии

ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 December, 22:53
Kubuntu Feisty (15)
24 December, 18:42
Один на один с Windows XP (3758)
24 December, 11:46

Каталог софта

Desktop
Internet
Internet-серверы
Безопасность
Бизнес/Офис
Игры
Мультимедиа
Наука
Операционные системы
Программирование
СУБД
Создание веб-сайтов
Утилиты

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Заметки :: Блогометки :: Приложения

Как добавить геотеги к фотографиям

http://sovety.blogspot.com/2008/07/blog-post.html

Материал распространяется на условиях Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.

Продолжаю серию заметок про GPS. В этот раз расскажу, как, используя GPS, добавить к фотографиям геотеги.

геотег — связанная с фотографией информация о географических координатах места съёмки, высоте над уровнем моря и географическом названии местности; технически, геотеги — это дополнительные поля «GPS Latitude», «GPS Longitude» и «GPS Position» в заголовках EXIF.

Если в фотографии присутствует геотег, то при загрузке её на Flickr или Panoramio она может быть автоматически привязана к карте (на фликере это надо явно разрешить в настройках учётной записи). Умеют обрабатывать геотеги и многие другие сервисы и программы (например, есть плагин для Gallery2).

Для создания геотегов нужно 3 вещи:

  1. Фотографии с правильными датами и временем в EXIF (для этого лучше ещё до съёмки установить часы фотокамеры по приёмнику GPS).
  2. GPS-трек, в котором записана траектория перемещения фотоаппарата (фотографа) с указанием времени.
  3. Программа, которая присваивает фотографии географические координаты из трека. Я расскажу о двух их них: digiKam и HappyCamel (хотя есть ещё gPicSync и другие программы)

Фотографии

Как я уже отметил, часы фотоаппарата лучше синхронизовать с GPS заранее, ещё до съёмки. Если же так случилось, что часы синхронизованы не были, то в дальнейшем придётся установить, какое было расхождение часов в двух приборах, и указывать его в процессе присвоения геотегов. Здесь и далее я предполагаю, что фотографии уже обработаны и сохранены в формате JPEG (не RAW) и имеют EXIF-заголовки с правильной датой съёмки.

GPS-трек

Подготовка GPS-трека — вещь более тонкая. Трек должен содержать время для каждой точки. Желательно, чтобы трек был непрерывным (я выключаю GPS на время стоянок и ночёвок ⇒ треки отдельных переходов нужно объединить в один). Из трека лучше выкинуть «ошибочные» точки (в зонах с плохим приёмом координаты GPS часто «скачут»). Желательно, чтобы максимальный временной интервал между точками трека был небольшим (иначе придётся полагаться на автоматическую интерполяцию уже в процессе присвоения координат). В случае навигаторов Garmin это всё означает, что в приборе не надо пользоваться функцией «Save track». Она не только не сохраняет трек, но и удаляет из него данные о времени, а также сокращает количество точек ради экономии памяти. Подробнее об этом здесь. Для наших целей нужно или брать основной и единственный активный трек из памяти устройства (он обычно называется «ACTIVE LOG #XX») или «сырой» GPX-трек, сохраняемый на карточку памяти. А про функцию «Save track» в Garmin лучше забыть и проводить всю обработку треков на компьютере. Скопировать трек на компьютер можно любым удобным способом (некоторые из них я уже описал в предыдущей заметке).

Похоже, самый универсальный и мощный инструмент для обработки треков — GPSBabel. В случае, если я хочу сразу взять активный трек с устройства Garmin, подключенного к /dev/ttyUSB0, команда будет выглядеть так:

 $ gpsbabel -t -w -i garmin -f /dev/ttyUSB0 -x radius,distance=3K,lat=45.058646,lon=6.907375 -x track,pack -x discard,hdop=3,vdop=3 -x position,distance=5m -x interpolate,time=60 -o gpx -F мойтрек.gpx 
где параметры коммандной строки означают следующее:
  • -i garmin -f /dev/ttyUSB0 говорит, что нужно брать исходные данные прямо с устройства Garmin, подключенного по USB (если исходные данные уже доступны в виде GPX-файла, можно заменить на -i gpx -f исходный-трек.gpx; если исходных GPX-файлов несколько, то можно указать их всех, например, -i gpx -f 20080621.gpx -f 20080622.gpx -f 20080623.gpx -f 20080624.gpx);
  • -t -w говорят, что с устройства нужно брать информацию только о треках (-t) и точках маршрута (-w) — точки маршрута включаю, потому что трек мне пригодится и для других целей;
  • -x radius,distance=3K,lat=45.058646,lon=6.907375 — это фильтр, отсекающий всё, что не входит в круг радиусом 3 км относительно заданной точки (необязательно);
  • -x track,pack — этот фильтр объединяет треки отдельных переходов в один большой;
  • -x discard,hdop=3,vdop=3 — этот фильтр выбрасывает из трека точки, для которых горизонтальная или вертикальная мера ошибки больше 3 (как HDOP и VDOP связаны с метрами); на практике этот фильтр действительно эффективно отсеивает точки, внезапно «выскочившие» из траектории; значение «3» эмпирическое, иногда я указываю даже «10»;
  • -x position,distance=5m — объединяет точки, расстояние между которыми меньше 5 м (короткие остановки)
  • -x interpolate,time=60 — интерполирует трек так, чтобы между соседними точками было не более 60 секунд (это один из самых полезных фильтров для создания геотегов!);
  • -o gpx -F мойтрек.gpx — сохраняет результат в файл мойтрек.gpx в формате GPX.

Проверить качество полученного трека можно, просмотрев его в какой-нибудь программе. Мне пока больше всего нравится Viking, он быстро запускается и позволяет подгрузить карты Google под трек, чтобы посмотреть, как трек соотносится с местностью. Если трек получился красивый и правильный, переходим к следующему этапу.

Добавление геотегов

Расскажу о двух программах, которые позволяют добавить геотеги: о digiKam (красивый фотоорганайзер с большими возможностями, для добавления геотегов есть графический интерфейс) и о HappyCamel (скрипт для командной строки, написанный на Python). Желающие могут легко найти и другие инструменты.

В любом случае, при добавлении геотегов на этом этапе кроме подготовленного трека в формате GPX и фотографий потребуется ещё вспомнить, в каком часовом поясе живём (какое время на фотоаппарате). Здесь нюанс: часовой пояс нужно будет указывать с поправкой на летнее время, то есть, если зимой +03:00, то летом будет +04:00, если зимой +01:00, то летом +02:00.

Добавляем геотеги в digiKam

Признаюсь, после долгого перерыва я опять установил digiKam, как раз чтобы попробовать добавить геотеги. К своему удивлению, обнаружил, что как фото-каталогизатор digiKam стала за эти год-два гораздо лучше. Я бы даже сказал лучшим из всех доступных под Linux :-) Настолько, что я его даже оставил и стал пользоваться. Тем более, что работает быстро, структуру моего фотоархива (ГОД/ГГГГММДД-название-альбома) понимает и не пытается переделывать, метаданные пишет в виде стандартного и открытого IPTC, а по возможностям превосходит всех остальных (F-Spot, Blue Marine, gThumb, Picasa).

Ну, а как добавить геотеги, проще показать, чем рассказать:

Добавляем геотеги с помощью HappyCamel

Можно добавить теги и из коммандной строки. Результат получается примерно тот же, только гибкости немного больше. В репозиториях Debian скрипта HappyCamel ещё нет, но установить его несложно с помощью

$ ./setup.py install --prefix=/префикс/для/установки
(если использовать checkinstall или stow, то потом его можно будет легко и просто убрать).

Лучше, конечно, если в системе будет установлен и exiftool (libimage-exiftool-perl в Debian). HappyCamel умеет писать в EXIF и без него, но автор рекомендует всё же полагаться на exiftool.

Чтобы добавить теги, переходим в каталог с фотографиями и выполняем примерно такую команду:

$ happycamel -x y --exiftool=y \
--utc-offset=+02:00 --elevation=2 --use-outside=y \
-t мойтрек.gpx *.jpg

  • -x y — писать геотеги в EXIF; можно попросить внести туда и географические названия с Geonames.org (-g y);
  • -exiftool=y — читать и писать EXIF, используя exiftool;
  • --utc-offset=+02:00 — часовой пояс фотоаппарата (с учётом летнего времени!);
  • --elevation=2 — интерполировать данные о высоте над уровнем моря (не обязательно);
  • --use-outside=y — фотографии, сделанные до начала или после конца записи трека, помечать, используя первую и последнюю точки трека соответственно (не обязательно);
  • -t мойтрек.gpx — трек с траекторией;
  • *.jpg — no comments :-)
Вот в общем, и всё. Теперь можно загружать фотографии на Flickr или Panoramio. Да, если кому-то интересно, можете посмотреть на мои фотографии.

Другие заметки про GPS в Linux:




Комментарии

Страницы комментариев: 1 :: 2 :: 3 :: 4 :: следующая

отдых в подмосковье, Wed Dec 16 12:35:53 2009:
Отличный отдых в Подмосковье.
В настоящее время отдых в Подмосковье становится все более распространенным среди москвичей.
Отдых в Подмосковье - возможность отдохнуть в Подмосковье не только во время длительного
отпуска, но и на выходные дни.
Туроператор "САНТА ЛЮЦИЯ"
М.Серпуховская
Будем рады видеть Вас в нашем офисе!
Корпоративный отдых, Mon Dec 14 12:29:23 2009:
Корпоративный отдых в Подмосковье. Корпоративные мероприятия
Профессионально организованный корпоративный отдых в Подмосковье - это то, что вам нужно.
Приятного Вам отдыха и успешной работы!

Туроператор "САНТА ЛЮЦИЯ"
М.Серпуховская
Т: 785-24-83, 785-24-84, 643-74-28, 643-74-29
отдых в сочи, Sat Dec 12 21:46:37 2009:
Сочи - летняя столица России
Благоухающий весенними ароматами город-сад ждет своих гостей. Отдых в Сочи – это высококлассные отели, уютные гостиничные номера, рестораны, развлечения, высокое качество обслуживания.
Звоните нам и мы поможем Вам в выборе Вашего отдыха.
Т: (495) 785-24-83, 785-24-84, 643-74-28, 643-74-29
М. Серпуховская
Туроператор "САНТА ЛЮЦИЯ"
Озеро Белое, Sat Dec 12 17:04:54 2009:
Озеро Белое. Шатура.
Родная природа, как известно, - главный эликсир здоровья и бодрости.
Уникальное озеро, красивая территория, качественное лечение.
Санаторий Озеро Белое ждет Вас!
Т: (495) 785-24-83, 785-24-84, 643-74-28, 643-74-29.
М. Серпуховская
Туроператор "САНТА ЛЮЦИЯ"
аноним, Thu Dec 10 19:09:43 2009:
Ребята, у меня ноут PentiumIII 500мгц.
ОЗУ 160мб, ХДД 7гб.
Стоит ВинХР. Работает, музыку, видео крутит. В интернет ходит. Но антивирусники уже не поставить...
Подскажите ПЛЗ, что сюда можно из линуксов впаять, чтобы работало не хуже но чтобы:
корректно работал тачпад (полосы прокрутки) спецклавиши (под виндой стоит прога MKey) + можно было общаться с мобилой по ИК порту (Сименс и Нокия) (а при необходимости GPRS Internet) + ADSL интернет через модем Zyxel который висит на USB порту и этот же модем еще у меня работает как хаб в локальной сети. Т.е. ноут по USB соединен с модемом, с этим же модемом соединен стационарный комп по Ethernet образуя таким образом локальную сеть + интернет-шлюз.
Есть какие-нибудь идеи?
Базы отдыха, Thu Dec 10 13:03:35 2009:
Базы отдыха в Подмосковье.
Базы отдыха в Подмосковье предложат Вам проживание в современных комфортабельных корпусах и коттеджах.
Т: (495) 785-24-83, 785-24-84, 643-74-28, 643-74-29
М. Серпуховская
Туроператор "САНТА ЛЮЦИЯ"
http://www.stlucy.ru/
аноним, Thu Dec 10 12:25:48 2009:
аноним, понедельник, 12 октября 2009 г. 14:58:11:

сама соси, дурочка в обоссаных колготах
отдых в подмосковье, Tue Dec 8 12:26:52 2009:
Отличный отдых в Подмосковье.
В настоящее время отдых в Подмосковье становится все более распространенным среди москвичей.
Отдых в Подмосковье - возможность отдохнуть в Подмосковье не только во время длительного
отпуска, но и на выходные дни.
Туроператор "САНТА ЛЮЦИЯ"
М.Серпуховская
Будем рады видеть Вас в нашем офисе!
аноним, Mon Oct 12 14:58:11 2009:
Ребята, у меня ноут PentiumIII 500мгц.
ОЗУ 160мб, ХДД 7гб.

---------------------

Ти хитры трол. На ноут поставить, что либо отличное от системы на которую рассчитывал разработчик - всегда риск. Так, что нехер тут про ноутбуки.

А для 500МГЦ пенки и 192 МБ ОЗУ пойдет новенький дистрибутив PUPPY LINUX. Так что, сосни хуйцов, дзэрэвеншына!
аноним, Sat Sep 26 14:17:29 2009:
геотег — связанная с фотографией информация о географических координатах места съёмки, высоте над уровнем моря и географическом названии местности

К чему привязаны координаты? Относительно положения галлактики или вселенной? Не хватает, так же, давления и скорости ветра.

Страницы комментариев: 1 :: 2 :: 3 :: 4 :: следующая

Комментарии заморожены.

Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)

24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds