Соответствие треков GPS местным дням - PullRequest
1 голос
/ 10 февраля 2010

Я пишу приложение геотеггинга и сталкиваюсь с головной болью с часовыми поясами. В основном мое приложение имеет следующие данные:

  • Изображения с местными временными метками (т.е. относительно часового пояса)
  • Файлы треков GPS, состоящие из записей, использующих метки времени UTC

Моя проблема: мне нужен способ получить все данные, относящиеся к конкретному дню, в зависимости от часового пояса, в котором они были получены. Для изображений это легко (я спрашиваю часовой пояс у пользователя при импорте и сохраняю его в данных EXIF), но я не уверен, как это сделать для треков GPS (как правило, несколько треков в день, и Назначение им часовых поясов для пользователя нелегко при импорте данных, охватывающих несколько дней и часовых поясов). Я могу придумать два возможных решения:

  • Используйте эвристику, основанную на том факте, что дорожки записываются в то же время и в том же месте, что и изображения, - но могут быть дорожки до первого снимка дня или после его последнего, которые все еще должны быть включены - я не уверен, как реально обрабатывать такие крайние случаи
  • Определить часовой пояс по координатам GPS - это было бы идеальным решением, но есть ли библиотека с открытым исходным кодом, которая делает это (в идеале, работающая в автономном режиме)?

Ответы [ 2 ]

1 голос
/ 11 февраля 2010

Я думаю, что эвристический метод не сработает.

Во-первых, всегда храните время как UTC и часовой пояс происхождения, в противном случае время будет менее значимым.

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

В зависимости от того, сколько деталей вы хотите получить, я думаю, GeoTog может помочь вам найти город и, следовательно, страну по широте / долготе (хотя для ее работы потребуется изменить ее). *

Если нет, то Gisgraphy будет работать с большей базой данных GeoNames . Вы можете использовать веб-сервис или извлечь данные.

Если ни один из них не является достаточно хорошим, то я думаю, что вам нужно получить некоторые данные ГИС, возможно, границы из VMAP0 и обработать их в многоугольники или что-то для поиска.

1 голос
/ 10 февраля 2010

Второй вариант: Вы можете начать с проверки этого сайта: http://www.twinsun.com/tz/tz-link.htm

Вариант один (менее сложный, но я не уверен, что точно понимаю вашу потребность ...) Таким образом, у вас есть в качестве ввода:

  • Целевой день, определенный в известном часовом поясе TZ, начиная с t0 и заканчивая t1 (исключено)
  • Изображения с отметками времени ti в одном и том же часовом поясе TZ ( Верна ли эта гипотеза? )
  • GPS-треки с временными метками UTC tg, которые могут охватывать несколько часовых поясов. Мы также знаем, что для каждого изображения есть как минимум одна дорожка GPS.

Вот что должно работать:

  • Конвертируйте ваш целевой день в UTC. Вы получаете значения t0 / UTC и t1 / UTC
  • Преобразование временных меток изображений в UTC (вы получаете ti / UTC из известных ti / TZ)
  • обрабатывать изображение, если (t0 / UTC <= ti / UTC <t1 / UTC), т.е. оно было снято в течение целевого дня. </li>
  • найти GPS-трек, включая ti / UTC (без проблем, поскольку треки имеют временную метку в UTC), а затем ближайшую метку времени в списке точек на этом треке. Эта точка является наиболее вероятной позицией вашего изображения.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...