Рисование придорожных ориентиров

Месяц назад случилось поехать в командировку пассажиром на автомобиле. Из мск в Волгоград. Дорога была длинная и чтобы не умереть со скуки я решил покартографировать придорожные ориентиры для OSM. Под рукой был линуховый ноут, из программ на нем был только трекер gpsdrive. Видимо в gpsdrive можно как-то точки ставить, но на ходу в машине было не удобно ковыряться в графических интерфейсах. Когда за окном проносятся заправки, мосты и указатели нужно успеть как-то быстро зафиксировать точку.

Короче, я сделал скрипт из одной единственной строчки date >> wpt.txt (правда позже сказался недостаток - полученную дату сложно перевести в какой нть старндартный вид, например в unixtime, поэтому лучше использовать форматный вывод date+%FT%TZ >> wpt.txt, чтобы сразу получить формат даты GPX 1.0). 
Оказалось, что это неимоверно удобно. Проехал одновременно один за другим: пост дпс, мост, заправку - ткнул 3 раза в скрипт. Потом открыл текстовым редактором и вписал после даты -  название места.
Возможно у такого способа не очень высокая точность. Так как трекер писал точки по секундам, а машина ехала от 100 до 180 км/ч (50м/с), то погрешность самого метода - уже 50 метров. Но учитывая, что сами записываемые объекты не очень маленькие (мосты над реками, площадки заправок) и то что на дорогах вообще мало что нанесено, такие данные, думаю, будут полезны. 

За четыре дня поездок по окрестностям Волгограда у меня накопилось 600 точек.

На днях для этих данных написал скрипт командной оболочки, преобразующий полученные точки в формат gpx для последующей обработки, например, в JOSM. Полученный результат проверил на участке дороги Волгоград - Камышин. Мои точки совпали с ранее нанесенными объектами и подложкой спутниковой фотографии (мосты через реки).
Сейчас имеются необработанные точки для трассы на участке между Москвой и Воронежем, а также окрестности Курска.
Если общественность заинтересуется - могу выложить довольно сырой скрипт, которым делал из текста xml файл в формате gpx (использована программка xmlstarlet, по которой не так много полезной информации и внятных примеров на просторах инета, скрипт пожет быть полезен для изучения ее синтаксиса)

Конечно выкладывай, наверняка многим интересно.

Я использую для этих целей фотик, в котором предварительно синхронизирую время с gps-приёмником. Потом обрабатываю полученные фотки скриптом gpsPhoto (прописывает координаты в exif). Благодаря фоткам не надо вспоминать, что это за объект был на таком-то километре и пр. Да и другая полезная информация иногда из фотографии извлекается.

ещё в скрипт удобно добавить после записи времени запись голоса секунд на 5

В гармине точка ставится кнопкой enter, причём координата записывается сразу же, а потом уже можно дать ей имя. Можно имя не давать, просто удовлетвориться очередным последовательным номером. И в блокнотике выписать что этот номер значит. Потом выгрузить точки из прибора в JOSM, и переписать названия из блокнотика.

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

Нда… Насчет голосовых меток я тоже думал, но

  • во-первых это потеря времени (нужно еще по хорошему чтобы начало и конец каким нить “пиком” обозначалось). А пока время на воспроизведение и запись пройдет - машина уже кучу всего проскочит. Хотя для реализации технологии hands free может оказаться удобно. Ведешь машину и на кнопку одну тычешь периодически. А файлам с голосом присваивать имена в виде даты и времени. Можно будет как нть такое слепить тоже из пары строк. (А потом написать скрипт для разгребания записанного таким образом голоса.)
    - во вторых не всегда удобно говорить с компутером. например сидя в общественном транспорте )))

Вернемся к моим баранам
Вот скрипт: http://icf.bofh.ru/~krysha/parsergpx1.1.sh
Исходные данные для него:
трек gpx и текстовый файл вида

2009-04-23T09:41:21Z > fuel
2009-04-23T09:42:25Z r. Pichuga

То есть время в формате gpx1.0, пробел, метка.
Символами “<” и “>” я для себя показывал где объект находится по ходу движения (кстати, как в JOSM посмотреть направление записанного трека? )

Замеченные недостатки скрипта-

  1. медленно работает (оптимазацией не занимался, хотелось побыстрее данные разгрести)
  2. Не воспринял единственную из сотен метку из русских символов (я по привычке записывал все метки транслитом).
  3. Некоторые символы меток вопринимаются как управляющие (у меня споткнулся на символе “*”). Так что не советую пробовать его на строчках содержащих в названии какого нть населенного пункта что-то типа “sudo rm -rf /” :))

Натыкал еще кучу точек по записанному маршруту Кашира-Богородицк-Елец-Воронеж-Борисоглебск-Новониколаевский. С имеющимися ориентирами во многих местах расхождение метров в 70 (например с уже нанесенными АЗС). Если у кого-то есть дополнительная инфа - поправьте пожалуйста.

М4 я рисовал не так давно по своим фотографиям. Сверял со спутником, должно быть нормально.

Ага. Видел. Вот как раз с ними и сверял. Как раз там и заметил разницу в 70 метров ))
Допускаю, что моё конфу слабее ). Ваши, там где были одни и теже объекты, не трогал.
Свои пока оставил. Там где явно видно что ушли (например реки и некоторые дороги на спутниковой подложке) - перетаскивал на место. Остальные точки оставил как получились.
У меня вообще, когда еду, запаздывает курсор немного в навигационной программе. Может быть в этом проблема. Интересно, какую метку трекер (gpsdrive) ставит в лог - из приемника или локальную… В принципе на ноуте был поднят ntpd. Но если он писал с локальным временем точку за предыдущую секунду, то как раз могла дополнительная погрешность возникнуть…

Теперь знаю, для чего может пригодиться функция Footprint в свежекупленном HTC :slight_smile: В Гармине фиксировал Mark’ом и добавлял по возможности какое-то описание. А здесь можно сразу сфотографировать. А ведь в голову после покупки не пришло :roll_eyes:

А не подскажете ли, господа, как синхронизировать время на фотике? У меня Canon A620. В нем только с точностью до минут время через меню выставить можно? Есть ли какой-то софт. Желательно линуховый

Мой метод.
После того, как геотеги будут проставлены, я просто загружаю их в JOSM плагином AgPifoJ.

Проще всего сфотографировать часы на КПК и при импорте в JOSM есть возможность сделать коррекцию между exif и часами КПК.
Hind опередил :slight_smile:

Устанавливаешь время в фотике на какую-то (целую, ближайшую :)) минуту и жмёшь кнопку ok (сохранить/запомнить время) в тот момент, когда часы в навигаторе покажут это время.

Либо ещё вариант - сфоткать часы в навигаторе. Потом полученную разницу вбить в скрипт, который координаты пишет в фотки.

А некоторые из таких фотоаппаратов, хе-хе, не обнуляют секунды при установке времени. Это уж надо экспериментально определять.

Так, маленькое дополнение :3