среда, 19 июня 2013 г.

Навигация. Обработка треков

Кэш навигатора за этот и прошлый сезон


Началось всё с того, что захотел я вытащить трек возвращения из Самары с "Рок над волгой". Там навигатор работал всё время, и трек должен получиться целым. Обзор кэша навигатора ввёл меня в ступор. Вроде и не ездил никуда, а надо-же. Видимо, термин "не ездил" в моём случае другое значение имеет.
В общем попросили меня обращаться с треками научить. Дай, думаю, статейку накатаю. Тема нужная, у народа с навигацией по жизни проблемы.

Народ под навигатором понимает коробочку с экранчиком, купленную в магазине штук за пять, и которая, по наивным представлениям, покажет кратчайший путь из одной точки в другую. Но гладко было на бумаге, да забыли про овраги. В реальности навигатор - это обычная программа, которая запускается на наладоннике или ноуте, и интерпретирует свою базу данных в карты и маршруты. А коробочка за пять тысяч - это, по сути, кастрированая версия наладонника, на которой запускается единственная программа. По сути - деньги на ветер.
Навигационных программ существует дофига и больше, но я пользую OziExplorer за возможность работы с растровыми картами. Он изначально был заточен под то, чтоб отсканировали бумажную карту, привязали к географическим координатам, и он с такой картой и работал. То есть на вход ему можно сувать любые картинки. Лично я чаще всего использую схемы с yandex map (есть программа, которая скачивает и склеивает карты по заданным границам координат).
Ozi можно невозбранно скоммуниздить тут.

Но поскольку озик работает с растровыми картами, то и треки ему нужно задавать вручную. Я обычно в GoogleEarth смотрю, где дороги проходят, и по ним трек и рисую. Более автономные навигаторы имеют базу треков мутного происхождения, и по запросу пользователя пытаются из них кратчайший маршрут скомпоновать. Причём происхождение треков в них настолько мутное, что стало уже анекдотом, когда навигатор работает похлеще Сусанина. Ведь если в эту базу попадут треки от Человека-Паука, то навигатор эту дорогу и выберет :-)

Посмотрим, как вытащить нужный трек из истории и обработать его.
 Запускаем озик. Интерфейс у него, мягко говоря, весьма странный. Привыкать надо долго и мучительно. Жмём кнопель треков (1), в открывшемся списке треков (2) дважды кликаем на первом слоте, в параметрах слота (3) жмём кнопель Load (4). В открывшемся диалоге указываем файл plt. Это формат, в котором озик хранит точки трека. Формат текстовый, и при желании его любым текстовым редактором можно легко отредактировать. В моём случае это файл, в которую мобильная версия озика при работе логирует текущие координаты, то есть история, по сути. В моём случае там оказался прошлый и этот сезоны. Жмём кнопель Split (5).

Из всей помойки нас интересует только цвета детской неожиданности коричневый трек (1), ведущий в локацию (он как раз выделен пупырышками (2)), и синий трек возвращения (3) (как гуляли, такой и трек). Просматривать трек удобнее в гугле, для чего есть специальный экспортный режим (4). Видно что у трека (2) есть лишняя часть, где мы плутали, и как-бы имеет смысл излишек обрезать. Да и пробка там была, ехали медленно, и 90% точек тупо не нужно.
Жмём кнопель списка точек (1), находим точку соединения треков (2), и херачим от забора до обеда все точки до неё. Искать удобно, так как точка подсвечивается прицелом (3).
Открываем (1) окно фильтрации (2), и указываем источником наш плотный трек, а получателем ненужный слот. Вот как раз между 41 и 45 есть три кусочка по несколько точек сталинского "брежневского" типа:
1981.год....Москва .Кремль. Идет заседание Политбюро ЦК КПСС.....сплошь 80 - 70 летние развалины ...Громыко Андрей Андреич толкает речь про то что мол все в стране ..ёво...экономика в жопе ..жрать народу нечего...войну в Афгане просираем...США втягивает нас в гонку вооружений и перспективы мля ну никакой....Тишина гробовая и тут как с ясного неба -голос Генерального секретаря Дорогого Леонида Иллича Брежнева ---- И - ДЕ - Я !!!!! Все аж встрепенулись ожили зааплодировали- Урра!!!! Да здравствует Коммунистическая ПАРТИЯ И ВЕРНЫЙ ЛЕНИНЕЦ И ПРОДОЛЖАТЕЛЬ Леонид Ильич!!!!! А Брежнев окинул всех удивленным взглядом и выдает: "И ДЕ Я НАХОЖУСЬ?".

вот в 42 год слот и отгрузим фильтрованый трек.

После аналогичной чистки синего трека сливаем всё в победный сорок пятый.
Даём треку внятное название, и сохраняем его.
Потом лезем на какой-нить хостинг треков, указываем файл трека, заполняем описание, и вуаля:

- Как проехать на "Рок над Волгой" с Уфы?
- Держи ссылку:
http://gpslib.ru/tracks/info/34774/%22Rok-nad-Volgoy%22-Buguruslan-Ufa.html

Примерно подобные операции с треками должна делать любая нормальная навигационная программа не для домохозяек. Если знать, что искать, то методом тыка нужные функции за 10 минут ищутся.
Делаются маршруты ещё проще. Берётся GoogleEarth и находится желаемая дорога или направление.
 Нажимается кнопель "Добавить путь" и нужная траектория прокликивается. Карту при этом можно с клавиатуры двигать. Пути даётся человеческое имя.
 Всё накликаное сохраняется в kml файл (kmz озик не понимает).
В озике этот файл импортируется. Трек готов.
Если навигатором работает не озик, то существует масса всяких конверторов под любые форматы.

Ну а потом всего-лишь остаётся этот маршрут проехать вот так, так и так :-)

Если маршрут длинный и преимущественно по дороге, то наверняка там кто-нить ездил, и трек поездки выложил. На том-же gpslib можно поискать. Тогда берётся чужой трек, из него вырезается нужный кусок, вручную рисуются куски подъезда непосредственно к интересующему объекту, а потом всё склеивается.

2 комментария:

  1. Привет !!! А как трек из айгоу в Навител перетащить?

    ОтветитьУдалить
  2. проблем-то. ищешь общий формат, в нём в источнике экспортируешь, в приёмнике всасываешь. если общего формата нет, то ищешь конвертор. если и конвертора нет, то можно написать свой, и сорвать целочку :-)
    но проще целочку в реале встретить, чем найти формат, под который нет конвертора.

    ОтветитьУдалить