Автоматическое рисование карт

???.
??? ??? ??? www.openstreetmap.org. ???, ?? ? ??? ???. :slight_smile:
??? ??? ??? ??? ??? ??? ??? ??? ? ??? ?? ??? ???.
? ??? ???, ??? ??? ??? ??? ??? ??? ??? ?? ??? ??? ? ??? ??? ???. ??? ??? ??? ? ??? (???, ??? ? ?.?.) ??? ??? ?? ???.
???-??? ??? ??? ??? ??? ???
???, ??? ??? ??? ?? ???, ??? ?? ??? ??? ??? ??? GPS ? ??? ??? ??? ? ??? ???
??? ??? ???:
??? ??? ??? — ??? ??? ?? ???. :slight_smile:
??? ??? — ?? ??? ??? ??? ??? (? ?? ??? ???).
???.

а что толку от таких автоматически прорисованных дорог?
при этом же ни класс, ни название, ни запреты не нарисуются

Зло, тебе треки что ли обклацывать лень? :slight_smile:
скидывай, обклацаем.

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

Не только мне, но я и о вас (всех) думаю. :wink:
Основная цель этого топика: определить, можно ли создать ПО (желательно для КПК, коммуникатора, смартфона или телефона с функциями GPS), которое могло бы передавать маршрут на сервер, а тот уже, в свою очередь, автоматически его обрабатывал и предоставлял в пользование остальным участникам данного ПО. А остальные, когда поедут по этому маршруту, так же в автоматическом режиме могли бы обновить/уточнить/добавить маршрут.
На сколько хватает моих знаний математики: в результате, при накоплении опыта (наличии нескольких треков одного и того же маршрута), сервер может сформироть точную развязку дорог, причём для автомобильных дорог также автоматически будут определены разрешенные повороты на перекрёстках, наличие светофоров (или знаков “второстепенная дорога”), будет определено “качество” дороги, собрана статистика по пробкам да и, думаю, много чего ещё. :slight_smile:

Я не сильно хватил? :slight_smile:

Т.е. я сейчас примерно представляю, что и как можно сделать автоматически и не понимаю, почему это не сделано до сих пор и вы тратите такие титанические усилия на такую рутину.
В общем, если такое ПО есть - подскажите где, буду пользоваться. Если такое ПО разрабатывается - подскажите где, поучаствую в обсуждении алгоритмов.
Ну а если нет - то почему? :slight_smile:

Ну во-первых на нынешнем этапе точность Gps не достаточна чтобы сформировать осмысленну карту только по трекам не глядя на местность\снимки - в близи домов жпс начинает глючить, неговоря уже об остановках.

Во-вторых осмысленная карта должна содержать не только дороги, но и куда по этим дорогам можно доехать. и тут уж жпс-трек совсем не помошник.

К этому можно добавить, что есть еще и проблема поворотов - при автоматическом рисовании все углы будут скошены.

Автоматизация может помочь в другом - можно сделать программу, которая будет сверять трек с дорогами на карте, и выводить в отдельные файлы те участки треков, которые расходятся с дорогами на заданное расстояние. Т.о., вручную нужно будет сверять гораздо меньше, но рисовать все равно надо вручную.
У меня сделана такая программа для своего закрытого картографического формата и тоже закрытого формата треков одной из систем мониторинга транспорта. Хочу переделать и под OSM, но еще предстоит разобраться с API.

Всеволод Шорин сделал подобные утилиты для plt/gdb и garmin-овского mp/img.

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

С конвертированием карт неинтересно - они же регулярно обновляются. Собираюсь сделать под gpx с подкачиванием нужной области карты из OSM.

Немного прикинул: в принципе задача решаемая, но на OSM её вряд ли получится навесить.
Всё равно потребуется какая-то промежуточная база для хранения треков / дорог.
Основная проблема - в gpx не хранится информация о “достоверности” трека, а треки в сыром nmea мало кто пишет.

Под достоверностью трека понимается количество видимых спутников?

скорее уж dop-ы и рассчитанное ско для каждой точки

У меня на данный момент сделано так:

  1. производится загрузка дорог и трека в ОЗУ
  2. трек фильтруется - по возможности убираются стоянки и случайные выбросы Gps
  3. трек сравнивается с дорогами, причем сравнение идет по каждым трем последовательным точкам трека. Соответственно, если участок трека оказывается от ближайшей дороги на расстоянии больше заданного, он выделяется в файл (с объединением стыкующихся кусков трека в один).

Таким образом можно обрабатывать новые треки, и затем визуально их сравнивать с картой. Хранение треков Osm позволяет, и их для редактирования нужно будет подгружать, чтобы не вносить бесконечные изменения в одну и ту же дорогу из-за погрешности Gps.

Ха, а вот это хорошая идея.
То есть просто отфильтровываем треки тех дорог, которые уже прорисованы, а оставляем только те куски которых ещё нет. Если есть большая база треков, штука очень полезная.

Но это всё-таки уже не “автоматическое рисование карты” по трекам :slight_smile:

Еще и на прорисованных дорогах ошибки находим.

Большие базы треков можно запросить у всех мониторинговых фирм, у которых на сайте в списке используемых карт фигурирует название OSM. :slight_smile: А у кого не фигурирует - провести разъяснительную работу и тоже запросить треки. :smiley: Единственный вопрос - нужно придумать алгоритм защиты коммерческой тайны их клиентов (т.е. смена времени трека на условное, разметка ими зон, в которых новые треки не ищутся, и т.д.).

Я про это и писал в посте #6 :slight_smile:

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

Загруженные с OSM треки можно рассортировать по дате?

С реальной ситуацией сверяться крайне полезно всегда. :slight_smile: Я свой способ фильтрации рассчитывал на ежедневное поступление свежих треков.

Нет, и по скорости (не говоря уж про DHOP) тоже. :frowning:
Времена всех точек не отдаются вообще. Можно только поскачивать публичные треки (через http), но и там над временами могли перех экспортом произвести преобразования (и хорошо если это легко обнаруживаемое приведение к 1970-1-1 00:00:00, а не сдвиг на произвольное число дней или лет).

А как быть с треками, загружаемыми велосипедистами (например). Которые идут когда по тротуару, когда по трассе, когда по велодорожке?
Или с пешеходными треками, срезающими все возможные и невозможные углы?

Хотя вообще идея анализа привязки трасы к трекам очень интересная.

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

Это уже второй вопрос, про который, во-первых, как я говорил, сейчас речи нет, а во-вторых, проще просто пометить названия, чем рисовать дорогу + помечать названия.

Да, вот тут уже нужно копать дальше и глубже. Тема, собственно, для этого и создана - стоит ли копать дальше. :slight_smile:

Спасибо. Очень похоже что это то, что я ищу. :slight_smile:

Кажется, без деталей не обойтись.
Штрафы - это следующий шаг. Сначала надо создать карты. :slight_smile:
В примере с поворотом, в программе, автоматически рисующей карты, твой маршрут был бы обработан и было бы замечено, что ты один из немногих, кто так поворачивает. Хотя остальные, путешествующие в том же направлении, используют другой манёвр (поворот). :slight_smile: Теоритически, программа должна отбросить твой поворот как некорректный.

Я в фоновом режиме очень давно об этом думаю. :wink: Примерно полтора года назад думать начал, но не серъёзно, а так - в мечтах. Недавно мне надоел этот фоновый процесс в моём мозгу :slight_smile: и я решил - или прибить это процесс (как не осуществимый) или …

Да, надо будет заводить отдельный проект, т.к. во-первых, становятся приоритетными немного другие задачи, и во-вторых, объем входных данных существенно увеличиться и мне кажется, что на сервер ляжет большая нагрузка.