8 июня 2008 г.

Будни геотаггера

Я решил описать мой рабочий процесс по привязке и выкладыванию в сеть фотографий (геотаггинг) и предостеречь от ряда ошибок. На вопросы из серии "А почему используется именно этот сервис?" я отвечать не буду. Я не ставил перед собой цель провести масштабное исследование рынка, а решал конкретную задачу и преодолевал проблемы. Поэтому я использую те сервисы и программы что попались под руку, но при этом выполняют возложенные на них функции.

Геотаггинг разделяется на 2 фазы. Для начала нужно соотнести выполненные фотографии с географическими координатами местности. Обычно координаты записываются в EXIF-заголовок файла изображения. Вторая фаза состоит в формировании интерактивного альбома-карты с фотографиями и выкладывания его в сеть.

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

Второе замечание относится к GPS приёмнимкам Garmin, как в других моделях я не знаю. Во-первых нужно включить опцию записи текущего трека на карту памяти, если есть такая возможность. Во-вторых, привязка фотографий возможна только по текущему журналу (треку, ACTIVE LOG). При выполнении операции "Сохранить трек" приёмник Garmin не только существенно прореживает трек, оставляя 500 точек, но и удаляет информацию о времени. Таким образом, сохранённые прибором треки для геотагинга непригодны! Не повторяйте моих ошибок :) Если прибор поддерживает функцию "Сохранять активный трек на карту памяти", этот режим нужно обязательно включить. Прибор будет сохранять весь трек с полной информацией разбивая его по дням в файлах GPX пока есть место на карте памяти. Файлы GPX занимают мало места, а карты памяти сейчас большие и дешевые. Кроме того, потом, при выгрузке трека его не нужно будет лишний раз конвертировать.

Итак, путешествие закончено, фотографии загружены в компьютер, приёмник GPS подключен. Необходимо получить трек в формате GPX. Проще всего перевести GPS приёмник в режим "USB Mass Storage" и просто переписать небходимый трек с карты памяти. Если запись на карту не велась или трек многодневный необходимо выгрузить путевой журанал (ACTIVE LOG). Последняя версия программы MapSource умеет сохранять геоданные в формате GPX. Если вы пользуетесь программой Ozi Explorer или другой, можно также воспользоваться универсальным конвертором GPSBabel.

Привязка осуществляется программой GPicSync. Необходимо указать папку с фотограифиями (не пользуйтесь Copy-Paste, в программе есть недоработка, путь к папке нужно выбирать через окно выбора) и файл GPX с треком который мы получили на предыдущем этапе. Необходимо указать смещение поясного времени, для Москвы это 3 часа (UPD: летом 4 часа). После нажатия кнопки Let's Go! программа сделает следующие вещи:

  • Соотнесёт время съёмки фотографии и путевой журнал и запишет полученные координаты в EXIF-заголовок файла изображения.
  • Создаст подпапку "thumbs" в которую поместит миниатуюры изображенний.
  • При выборе опции "Backup files" сохранит оригинальые файлы фотографий
  • Создаст файл doc.kml для программы Google Earth. Этот файл будет содержать "альбом" путешествия с фотографиями и треком.
  • Если указана опция "Base URL", создаст аналогичный альбом doc-web.kml для загрузки в Google Maps. Как показала практика, пользоваться этой возможностью бессмысленно.


В принципе для домашнего просмотра этого достаточно. В Google Earth можно пересохранить получившийся файл doc.kml как файл KMZ. KMZ-файл это zip архив содержащий как сам файл kml, так и все фотографии и миниатюры. Такой архив удобно пересылать друзьям, записывать на оптический диск, хранить. Но размер этого файла значительный — он содержит копию всех входящих в него фотографий.

Однако возникает соблазн выложить свой альбом в сеть. К сожалению пользоваться фунцией программы GPicSynk "Export to Google Maps" неудобно. Для неё необходимо иметь фотохостинг, который не изменяет имён файлов, прелоставляет прямой доступ к файлам и позволяет "предсказать" полный адрес файла — получившийся файл doc-web.kml будет содержать прямые ссылки на файлы фотографий с добавлением базового адреса. Например популярный российский фотохостинг http://photofile.ru не отвечает указаным требованиям. Но даже если ваш хостинг выполняет все условия, результат загрузки в Google Maps далеко не идеальный. Ссылки на фотографии отмечены знаком "Фотоаппарат", а сами фотографии не масштабируются. Что делать?

Я пробовал воспользоваться сервисом Panoramio. Но оказалось что для создания личных альбомов этот сервис малопригоден. Он не позволяет создавать отдельные альбомы, добавление и редактирование фотографий утомительно. Цель этого сервиса — выложить "лучшие из лучших" фотографий разных мест Земли в открытый доступ и публикация из в Google Earth. Вот пример

Однако оказалось что лучше всего справляется с задачей сервис Google Picasa. Неудивительно что он имеет наилучшую интеграцию с Google Maps! Во-первых при загрузке в альбом Пикасы фотографий с геоданными автоматически создаётся карта для просмотра. Вот пример:
Пущино - Ледовские Выселки

Выбрать "Посмотреть Карту"

Во-вторых, альбом позволяет загрузить "правильный" файл kml, содержащий миниатюры фотографий и ссылки на масштабированные копии. В Google Maps такой файл можно загружать напрямую, минуя сохранение на диск. Вот используемая мною последовательность действий что-бы получить карту в Google Maps:

  • Загружаем трек или треки в MapSource и производим объединение треков
  • Прореживаем трек до 250 точек — это ограничение Google Maps, иначе трек дробится на части.
  • Сохраняем трек в формате GPX. На этом работа с MapSource закончена.
  • Загружаем трек в Google Earth и сохраняем "местоположение" как kml или kmz. Поскольку данные содержат только трек, это почти одно и то-же. К сожалению мне не удалось добиться приемлемого результата при использовании на этом этапе конвертора GPSBabel. Трек получается не "ломаной" в понимании Google Maps, а набором огромного числа точек.
  • Создаём новую карту Google Maps и импортируем полученный kml-файл. Важно вначале загрузить трек. В этом случае трек будет вначале списка объектов и имя и описание карты будет загружени при импорте фотографий.
  • Создаём альбом в Пикасе, загружаем в него фотографии с прописанными координатами.
  • На вкладке "Карта" альбома находим ссылку "Посмотреть в Google Earth" и копируем адрес.
  • Возвращаемся к карте Google Maps, выбираем Импорт и указываем во втором поле ввода полученный URL.
  • Наслаждаемся результатом :)


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

  • MapSourece — программа прилагающаяся к GPS приёмнику Garmin
  • Google Earth — испльзуется для просмотра альбомов и для конвертации GPX в KML.
  • GPSBabel — используеься для конвертации из треков других фориматов, например Ozi plt.
  • GPicSync — основная программа привязки фотографий
  • Сервисы: Panoramio — выкладываение "Лучшего из лучшего" на всеобщее обозрение.
  • Picassa — фотохостинг интегрированный с Google Maps
  • Google Maps — основной картографический сервис, формирование "Пользовательских" карт.


Всё!

1 коммент.:

Unknown комментирует...

Добрых суток ! А удалось-таки победить, чтобы при импорте KML-файла прорисовывалась ломанная, а не множество точек ? Замечено, что если напрямую подавать файл, то будет куча точек, если сохранить и подать путь (URL), то точки преобрахзаются в линию. По возможности ответьте на почту temporary{слитно}blocked(a)gmail.com