преобразование трека в дорогу (опыт с навител 3.2.6.3594)

Электронные карты, GPS-навигация, проект "Навигатор"
Ответить
  • Автор
  • Сообщение
Аватара пользователя
Сообщения: 3985
Зарегистрирован: 2007-май-09 05:06
Стиль катания: выпас скотта
Способ связи: 8 927 758 57 38
Откуда: Самара

преобразование трека в дорогу (опыт с навител 3.2.6.3594)

Сообщение TopIce » 2009-авг-25 13:36

Заинтересовавшись сообщением Дениса
Damaje писал(а):А я вообще все треки сразу в мапэдите перегнал в дороги, так-что сразу видно где проезжали велосамарцы)
задумал тоже так сделать. Скачал с ВС все треки в формате .plt, скопировал их на кпк, маршруты открываются, все как и должно быть.
С диска от кпк поставил GPSMapEdit, версии не помню. Сразу же открыл трек в нем, все показывает. В общем посмотрел на все это хозяйство и благополучно закрыл.
На той недели ездили под Оренбург, я ехал штурманом со своим GPS, соответственно записал трек. Надобно сказать что обзорная карта России от навитела совершенно не дружит с Оренбургом, показано всего 4 улицы, да и те не правильно привязаны к сетке, добавим сюда тот факт что в Оренбурге почти все улицы с односторонним движением и получаем полчаса блужданий по городу кругами.
ситуацию подумалось исправить как раз тем путем что рассказал Денис.
И так мы имеем: Обзорную карту России(.nm2), трек(.mps)
Нужно сделать карту на которой будет представлен лишь трек в виде дороги которая в сочетании с обзоркой даст правильный атлас(функция наложения карт друг на друга в навителе)
Открываем GPSMapEdit, в нем открываем трек,
Изображение
http://fotki.yandex.ru/users/topicetopice/view/219898/

жмем правой кнопкой по треку, выбираем преобразовать в линию
Изображение
http://fotki.yandex.ru/users/topicetopice/view/219899/

(выбрав в какую именно, в моем случае автомагистраль)
Изображение
http://fotki.yandex.ru/users/topicetopice/view/219900/

и готово. Теперь у нас на карте есть и трек и дорога. В меню "редактирование" выбираем "выбрать объект - все треки"
Изображение
http://fotki.yandex.ru/users/topicetopice/view/219901/

и удаляем трек. Теперь на карте лишь нужная нам дорога,
Изображение
http://fotki.yandex.ru/users/topicetopice/view/219902/

вроде все готово, сохраняем.
GPSMapEdit предлагает экспортировать карту в несколько видов .nm2 карт(версии 3.2.6; 3.2.4; 3.2.1 и 3.1). Сохраняя в любом из них программа выдает ошибку при сохранении(не заданы слои карты). Покопавшись в настройках и находим "файл - свойства карты - уровни детализации", нажимаем кнопочку вставить и появляются два слоя.
Изображение
http://fotki.yandex.ru/users/topicetopice/view/219903/

Пробуем сохранить еще раз. Сохраненную карту перекидываем в кпк в отдельную папку(дабы проверить), открываем через навител, а там дороги нет! Чистая карта и все. Потыкав стилусом по экрану все же находим дорогу, отображается она только на масштабах меньше 120м, тоненькой линией, как тропинка в лесу.
Снова открываем GPSMapEdit и лезем в свойства дороги, сразу же исправляем имя та то что понравится.
Изображение
http://fotki.yandex.ru/users/topicetopice/view/219904/

Далее в вкладке "дорожный граф" выставляем ограничение скорости и класс дороги, по вкусу меняем остальные настройки.
Изображение
http://fotki.yandex.ru/users/topicetopice/view/219905/

После сего дорога приобретает требуемый вид.
Изображение
http://fotki.yandex.ru/users/topicetopice/view/219906/

Следом исправляем слои. Открываем "файл - свойства карты - уровни детализации" и добавляем еще несколько слоев. Путем подсматривания пришел к вывод что оптимальным будут слои с шагом битности -2 от предыдущего и по порядку в значении MapSourceZoom. Итого получаем 6 слоев.
Изображение
http://fotki.yandex.ru/users/topicetopice/view/219907/

В вкладке "статистика" смотрим на каком слое оказалась наша дорога
Изображение
http://fotki.yandex.ru/users/topicetopice/view/219908/

Отыскав ее нажимаем правой кнопкой и выбираем "изменить - копировать до уровня детализации"
Изображение
http://fotki.yandex.ru/users/topicetopice/view/219909/

Выставляем значение 5, шестой слой по требованиям программы остается пустым
Изображение
http://fotki.yandex.ru/users/topicetopice/view/219910/

Сохраняем, копируем на кпк, и все готово.
Изображение
http://fotki.yandex.ru/users/topicetopice/view/219911/

Дальше копируем карту к остальным картам, индексируем атлас и тут тоже все показывает.
Дальше больше, что толку нам в навигаторе от того что мы видим дорогу если не можем проложить по ней маршрут. Начинаем копать яндекс и находим вот эту замечательную статью.(на сайте есть еще много полезной информации). Из статьи становится понятно что же на самом деле такое дорожные графы и зачем они нужны. Если кратко то это узлы линии(дороги) дающие понять кпк где какая дорога и куда по ней можно ехать. И снова открываем GPSMapEdit с нашей картой. К слову надо сказать что кпк ищет эти графы на самом подробном уровне детализации, следовательно для подстраховки начал их делать на первом слое. Увидев количество узлов в треке стало понятно что мне это дня на два-три. Потыкав разные настройки выяснилось что достаточно лишь поставить первый и конечные графы,
(Создание графа "свойства узла")
Изображение
http://fotki.yandex.ru/users/topicetopice/view/219912/

(вкладка "дорожный граф", ставим нужные галочки)
Изображение
http://fotki.yandex.ru/users/topicetopice/view/219913/

(делаем тоже самое для последнего узла и получаем дорогу с двумя графами)
Изображение
http://fotki.yandex.ru/users/topicetopice/view/219914/

и через тест можно убедиться что маршрут прокладывается правильно на любом участке дороги.
Изображение
http://fotki.yandex.ru/users/topicetopice/view/219915/

Также графы следует так же расставлять в местах с ограниченным движением (односторонние, запрет разворота и т.д.), так же следует отметить что в данном случае графы нужно помечать как внешние, это делается для того чтобы была возможность прокладки маршрута с карты на карту в рамках одного атласа.(в моем же случае когда на карте лишь одна дорога и не видно где она пересекается с другими нужно каждый узел переделывать во внешний граф чтобы обеспечить связь с обзорной картой в атласе и ее дорогами) Когда все сделано карту сохраняем и пробуем, кпк видит дорогу, накладывает ее на другие карты в атласе, но маршрут так и не прокладывает. Вспомнив о словах Дениса о том что при сохранении в 3.2.6 нет прокладки маршрутов, а в 3.1 есть, стал пробовать этот вариант, и прокладки все равно нет.
На чем и остановился, может кто подскажет в чем загвоздка. если что получится напишу продолжение.

udp: маршрут в кпк всеже прокладывается, но от точки старта идет до ближайшего графа (первого или последнего в данном случае) и дальше уже как положено по дороге.(версия 3.1)

Результат выше описаного в польском формате файл(.mp)
Последний раз редактировалось TopIce 2009-авг-25 22:01, всего редактировалось 1 раз.

Аватара пользователя
Сообщения: 1144
Зарегистрирован: 2006-май-11 13:12
Байк: AUTHOR Kinetic red Custom
Реальное имя: Роман
Стиль катания: Разное...
Откуда: Самара

Re: преобразование трека в дорогу (опыт с навител 3.2.6.3594)

Сообщение Roden » 2009-авг-25 15:03

Проблему отображения треков с ВС для себя решил объединением треков. В итоге основные дороги Сам.луки уложились в 3 трека и они у меня постоянно отображаются в навигаторе.
Сделал так из-за того, что у меня Garmin может показывать только 20 треков, каждый по 500 точек, но этого вполне достаточно. А карты перерисовывать было лень...
_________________
Профиль в Strava

Аватара пользователя
Сообщения: 3985
Зарегистрирован: 2007-май-09 05:06
Стиль катания: выпас скотта
Способ связи: 8 927 758 57 38
Откуда: Самара

Re: преобразование трека в дорогу (опыт с навител 3.2.6.3594)

Сообщение TopIce » 2009-авг-25 15:17

На сколько я знаю в гармине нет фишки составления атлосов из карт.
Ром, а основные дороги ты как выбирал? а если вдруг придется ехать не по основной, что тогда? Или же в будущем таких дорог наберется больше 20 треков?
И по трекам нельзя прокладывать маршруты, что явно минус.

Аватара пользователя
Сообщения: 2699
Зарегистрирован: 2005-мар-05 17:09
Байк: GIANT Revel + GT Avalanche2.0 + Merida 903 + GT custom_balancebike
Реальное имя: Денис
Стиль катания: трейл
Способ связи: 8-96O-811146З
Откуда: берутся встречные байкеры? *Самара

Re: преобразование трека в дорогу (опыт с навител 3.2.6.3594)

Сообщение Damaje » 2009-авг-25 17:44

Top Ice, скинь то на чём остановился, мож и Honzales и ещё кто-нить присоединятся, общими усилиями проще найти.
Roden, может твой способ решит и мою проблему, когда не получается проложить маршрут состоящий из кусков разных треков. Объясни как объединял?
Top Ice писал(а):И по трекам нельзя прокладывать маршруты, что явно минус.
можно, но только он будет вести только так, как записывался, даже направление не поменяешь.

Аватара пользователя
Сообщения: 1144
Зарегистрирован: 2006-май-11 13:12
Байк: AUTHOR Kinetic red Custom
Реальное имя: Роман
Стиль катания: Разное...
Откуда: Самара

Re: преобразование трека в дорогу (опыт с навител 3.2.6.3594)

Сообщение Roden » 2009-авг-25 18:19

Top Ice писал(а): Ром, а основные дороги ты как выбирал? а если вдруг придется ехать не по основной, что тогда? Или же в будущем таких дорог наберется больше 20 треков?
Я делал для Сам.луки - дорог немного. Качай файл - посмотришь.
Damaje писал(а): Roden, может твой способ решит и мою проблему, когда не получается проложить маршрут состоящий из кусков разных треков. Объясни как объединял?
От Рождественно до Рождественно посоединял, местами куски вставил...

Выложил два трека, округлённые до 500 точек. 3-й в разработке.
http://webfile.ru/3866251
_________________
Профиль в Strava

Аватара пользователя
Сообщения: 9940
Зарегистрирован: 2006-янв-20 13:53
Байк: Univega Alpina HT-560 - 2004, серебристо-черный
Реальное имя: Сергей
Стиль катания: Неспешные покатушки
Откуда: Кинель

Re: преобразование трека в дорогу (опыт с навител 3.2.6.3594)

Сообщение honzales » 2009-авг-25 20:45

Damaje писал(а):
Top Ice писал(а):И по трекам нельзя прокладывать маршруты, что явно минус.
можно, но только он будет вести только так, как записывался, даже направление не поменяешь.
Смотря в каком приборе.
В Garmin eTrex Legend можно включить навигацию по треку как в прямом, так и в обратном направлении. Постоянно этим пользуюсь.

Что касается автороутинга - то мне гораздо интересней было бы сваять программку автророутинга в рамках проекта Навигатор, чем разбираться в алгоритмах кодирования карт Навитела или еще кого, тем более что последнее - нарушение авторских прав.
Лично мне интересен алгоритм прокладки маршрута по графам, методика деления на графы (лучше автоматическая) и т.п., так что если кто в этом понимает - велкам.

Тогда можно будет прокладывать маршруты Навигатором, и лишь потом сливать уже проложенный в прибор/КПК.
К тому же такой алгоритм будет работать при росте базы треков.
_________________
У хаски никогда не было ни карты, ни компаса, ни GPS, но он никогда не заблудится. А ты?
Изображение

F.A.Q. по навигации без GPS.
F.A.Q. по навигации с GPS.

Аватара пользователя
Сообщения: 3985
Зарегистрирован: 2007-май-09 05:06
Стиль катания: выпас скотта
Способ связи: 8 927 758 57 38
Откуда: Самара

Re: преобразование трека в дорогу (опыт с навител 3.2.6.3594)

Сообщение TopIce » 2009-авг-25 21:01

Honzales писал(а):
Damaje писал(а):
Top Ice писал(а):И по трекам нельзя прокладывать маршруты, что явно минус.
можно, но только он будет вести только так, как записывался, даже направление не поменяешь.
Смотря в каком приборе.
В Garmin eTrex Legend можно включить навигацию по треку как в прямом, так и в обратном направлении. Постоянно этим пользуюсь.

Что касается автороутинга - то мне гораздо интересней было бы сваять программку автророутинга в рамках проекта Навигатор, чем разбираться в алгоритмах кодирования карт Навитела или еще кого, тем более что последнее - нарушение авторских прав.
Лично мне интересен алгоритм прокладки маршрута по графам, методика деления на графы (лучше автоматическая) и т.п., так что если кто в этом понимает - велкам.

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

Алгорит прокладки маршрута по графам очень прост, он описан в статье что ссылку я давал, напиши в аську, разберемся.
Что касается проекта навигатора: я где то встречал(вроде на хабрахабр) описание сайта на котором по карте рисуешь от руки маршрут и выгружаешь его в .kml себе на компьютера, ну а дальше куда хочешь. Но это опять же получается марщрут от точки до точки. К тому же это все еще не решает проблем с картами, ибо маршрут то кпк покажет, но привязки к карте у него не будет никакой.

Аватара пользователя
Сообщения: 9940
Зарегистрирован: 2006-янв-20 13:53
Байк: Univega Alpina HT-560 - 2004, серебристо-черный
Реальное имя: Сергей
Стиль катания: Неспешные покатушки
Откуда: Кинель

Re: преобразование трека в дорогу (опыт с навител 3.2.6.3594)

Сообщение honzales » 2009-авг-25 21:14

С kml и рисованием на карте маршрута мне лично все ясно - я это уже давно сделал.
С графами - если знаешь, как по списку координат точек трека построить графы - то объясни.
Все, что делает Навигатор, он делает на основе только анализа координат, причем сам, автоматически и без моего вмешательства - я только привязываю описание точки к координатам.
Пока что механизм автоматического получения из координат графов мне не ясен - не могу придумать, как искать автоматом точки пересечения треков, как отбрасывать ненужные треки и т.п.
_________________
У хаски никогда не было ни карты, ни компаса, ни GPS, но он никогда не заблудится. А ты?
Изображение

F.A.Q. по навигации без GPS.
F.A.Q. по навигации с GPS.

Аватара пользователя
Сообщения: 3985
Зарегистрирован: 2007-май-09 05:06
Стиль катания: выпас скотта
Способ связи: 8 927 758 57 38
Откуда: Самара

Re: преобразование трека в дорогу (опыт с навител 3.2.6.3594)

Сообщение TopIce » 2009-авг-25 21:35

ааа хм, вон что ты затеял, сейчас перепишу первый пост, добавлю картинки и покурю на трою тему.
предварительно могу сказать что графы описываются только на картах, ни в треках(.mps), ни в маршрутах(.kml) такой информации(о том какая из точек граф) не содержится.
Как я понял программа сопоставляет точки маршрута с точками карты, и от туда же берет информацию о графах, так появляется назойливый голос "поворот на право через 500м".
Тобеж если на самой карте нет графов то трек или маршрут программа будет думать что это прямая дорога.

Функция превращения пересечения дорог в графы есть в мапедите, до нее еще пока не дошел

Аватара пользователя
Сообщения: 9940
Зарегистрирован: 2006-янв-20 13:53
Байк: Univega Alpina HT-560 - 2004, серебристо-черный
Реальное имя: Сергей
Стиль катания: Неспешные покатушки
Откуда: Кинель

Re: преобразование трека в дорогу (опыт с навител 3.2.6.3594)

Сообщение honzales » 2009-авг-25 21:42

То, что граф - узел сети треков, например - это я понимаю.
Но мне хочется, что бы программа САМА находила пересечения, сама понимала - сколько в данном графе сходится /расходится треков (и каких), и сама потом искала оптимальные пути (т.е. маршрут прокладывала), да еще и по критериям (исключая или включая посещение неких точек).
Ленивый я, панимаешь - каждый раз ручками перепрописывать графы при добавлении нового трека - это не по мне... ;)
_________________
У хаски никогда не было ни карты, ни компаса, ни GPS, но он никогда не заблудится. А ты?
Изображение

F.A.Q. по навигации без GPS.
F.A.Q. по навигации с GPS.

Аватара пользователя
Сообщения: 3985
Зарегистрирован: 2007-май-09 05:06
Стиль катания: выпас скотта
Способ связи: 8 927 758 57 38
Откуда: Самара

Re: преобразование трека в дорогу (опыт с навител 3.2.6.3594)

Сообщение TopIce » 2009-авг-25 22:18

Damaje писал(а):Top Ice, скинь то на чём остановился, мож и Honzales и ещё кто-нить присоединятся, общими усилиями проще найти.
добавил в первый пост
Honzales писал(а):То, что граф - узел сети треков, например - это я понимаю.
Но мне хочется, что бы программа САМА находила пересечения, сама понимала - сколько в данном графе сходится /расходится треков (и каких), и сама потом искала оптимальные пути (т.е. маршрут прокладывала), да еще и по критериям (исключая или включая посещение неких точек).
Ленивый я, панимаешь - каждый раз ручками перепрописывать графы при добавлении нового трека - это не по мне... ;)
Сергей, граф это не узел сети треков. Граф это узел линий карты.
То что ты предлагаешь как то нереально выглядит. Ты хочешь чтобы все это делалось в рамках проекта "навигатор", так? С пересечением точек можно задать алгоритм по типу:
1 берем точку трека
2 ищем точку с такими же координатами на других треках
3 если находим то отмечаем ее как граф(не представляю как), если не находим то берем следующею точку.
4 по окончанию трека берем следующий трек и проделываем тоже самое
в результате имеем 1-карту 2-треки 3-точки помеченые как графы.
5 дальше по идеи программа должна прокладывать маршрут через "3-точки помеченые как графы" выбраные/исключеные нами при этом одновременно привязываясь к "2-треки"

Вот как то так. В принципе такое наверное возможно, но точнее ничего сказать не могу ибо понятия не имею как работает проект "навигатор"

Аватара пользователя
Сообщения: 2699
Зарегистрирован: 2005-мар-05 17:09
Байк: GIANT Revel + GT Avalanche2.0 + Merida 903 + GT custom_balancebike
Реальное имя: Денис
Стиль катания: трейл
Способ связи: 8-96O-811146З
Откуда: берутся встречные байкеры? *Самара

Re: преобразование трека в дорогу (опыт с навител 3.2.6.3594)

Сообщение Damaje » 2009-авг-26 11:02

Honzales писал(а): мне хочется, что бы программа САМА находила пересечения, сама понимала - сколько в данном графе сходится /расходится треков (и каких), и сама потом искала оптимальные пути (т.е. маршрут прокладывала), да еще и по критериям (исключая или включая посещение неких точек).
Мне тоже хочется. И вот как я понимаю свою идею реализации этого. Надо неким образом разбить систему координат на матрицу (например 3x3 минимального значения) Через эту матрицу сделать автопоиск по нахождению в клетке >1 точки. Присвоить всем этим точкам одну общую (среднее значение) и дать ей статус графа.
Я думаю реализуемо через табличный процессор, но чувствую что без макросов тут не обойдётся, знаний по коим у меня нет.

update: TopIce, cогласись, что вероятность того, что найдётся такое пересечение линий где координаты совпадут, ничтожно мала. А вот если принудительно внести погрешность в значение координаты (наапример перевести 10-тысячные доли в сотые), то координаты начнут совпадать и получится примерно как Михаил и написал. Это несколько проще, но пострадает точность.

Аватара пользователя
Сообщения: 9940
Зарегистрирован: 2006-янв-20 13:53
Байк: Univega Alpina HT-560 - 2004, серебристо-черный
Реальное имя: Сергей
Стиль катания: Неспешные покатушки
Откуда: Кинель

Re: преобразование трека в дорогу (опыт с навител 3.2.6.3594)

Сообщение honzales » 2009-авг-26 11:56

Я уже про это думал - пока есть идея для составления матрицы графов использовать огрубление координат метров до 50-100.
Но и тут есть еще над чем пмозговать...
_________________
У хаски никогда не было ни карты, ни компаса, ни GPS, но он никогда не заблудится. А ты?
Изображение

F.A.Q. по навигации без GPS.
F.A.Q. по навигации с GPS.
Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей