Как стать автором
Обновить

Комментарии 26

Руководил разработкой такой штуки в 2008 в рамках проекта gps-навигатора для слепых и инвалидов-колясочников.

Использовали три алгоритма для конвертации картографической информации в допустимые маршруты, один из которых вы тут описали.
Для прокладывания пути, да, пользовались А* и волнами.

Готовые прототипы много тестировали со слепыми и инвалидами.
Год спустя тему закрыли в связи с бесперспективностью.
Полностью доверять построенному таким образом маршруту не стоит.
Зато метод дает отличную оценку расстояния до ближайшей дороги или остановки.
Чем мы и пользуемся.
Как то давно здесь была статья про расчет маршрутов в старкрафте, и почему юниты так быстро его находят. Так вот там маршруты между точками крупной сетки рассчитываются при сохранении в хранятся в самой карте и берутся готовые, а короткие примерно как у вас.
У вас конечно масштаб другой, но можно попробовать собрать статистику расчетов. и для популярных больших маршрутов хранить предрассчитанные.
Мы строим в городах, где очень редко удается построить длинный пешеходный маршрут.
Чтобы пройти пешком пару км в Нске надо уйти в поля, не уверен, что в Москве с ее плотностью застройки это вообще удастся.
Удастся, ходили пешочком от Кремля до Октябрьского поля. И там подобные подсказки крайне пригодились бы — было несколько пересечений железных дорог, которые пришлось преодолевать по техническим галереям мостов, т.к. на картах не было пешеходного пути.
Студентом в Москве ходил от Ленинградского вокзала до МГУ, приехали в 4 утра и без проводника врядли бы добрались.
А в Питере от главного здания СПбГУ до Балтийского вокзала почти каждую ночь летом.
Решали ли как-нибудь проблему точности GPS? Допустим, я иду по дороге вдоль забора. За забором территория завода, выхода/входа с которой нет. Но из-за ошибки gps, моя позиция определяется за забором. Что произойдёт в этом случае?
Хуже того, в некоторых местах (возможно из-за переотражения сигналов спутников) есть систематическая ошибка GPS.
Так что даже если прогнозировать маршрут пользователя, это не поможет.
Для автомобилей проще, там мы с учетом азимута притягиваем пользователя к дорожной сети.
А пешеход может быть везде. Но у него остается возможность вмешаться и правильно установить исходную точку.
А «юридическая» доступность территорий есть? Через многие калитки пропускают не всех. Такие территории будут закрытыми?
Технически такая возможность есть, практически, если не ошибаюсь, мы проходим через большинство калиток т.к. это порождает наименьшее количество ошибок.
Интересно, насколько лучше или хуже бы себя показало применение visibility graph'а для поиска пути…
Пробовали? Или A* по сетке — первое решение, proof of concept?
Граф области видимости неудобен для хранения, порождает слишком много связей, на наш взгляд пиксельный вариант дешевле.
Всё-таки, в городах лучше ходить по тротуарам и дорогам, чем продираться через каменные джунгли, рискуя наткнуться на «гоп-стоп».
Зато, как алгоритм расчета расстояний — очень полезно. Позволит более точно подбирать автобусные маршруты. А то ранее, например, показывал оптимальный маршрут — пройти через озеро до остановки.
Мы так и делаем там где дорожки прорисованы. Но надо отдавать себе отчет, что каждая прорисованная пешая дорожка занимает место. Это выливается в то, что распухает база и растёт трафик у клиентов. Опять же нужно дополнительное время и память на распаковку.
Поэтому мы стараемся нащупать баланс.
НЛО прилетело и опубликовало эту надпись здесь
:) Это очень простая магия. Если точки близко, мы стараемся построить путь напрямую из точки в точку.
В противном случае ищем пеший маршрут до ближайших дорог и дальше ищем путь через дорожную сеть.
В данном случае Вам удалось нащупать пороговое значение.
Отмечу, каков бы ни был порог, кому-то всё равно удастся его нащупать.
Похоже на ошибку в графе. Будем разбираться, спасибо.
Там ещё раньше есть переход у дома 1 на Невском (сейчас ссылка не так ведёт).
go.2gis.com/rjjb8 — до входа пешком идти 2.5км
go.2gis.com/prud — на 5 метров дальше от входа надо и уже можно на автобусе ехать
go.2gis.com/t58n — немного перенесем ближе к старту и туда тоже на автобусе предлагает.
Есть таки проблемы с построением маршрутов.
Но идея здравая и полезная. А не думали сделать выбор только пешком или с использованием общественного транспорта?
Не без проблем, конечно, вычесываем потихонечку.
Только пешком на короткие расстояния можно лишь.
Ну тут более чем на 2км пеший маршрут, а так ситуация похожа на жизненную-тоже периодически автобусом, периодически пешком :)
И насущный вопрос: приблизительно когда ждать данную фичу под Android?
Точно не знаю, скоро.
Спасибо, Ждем!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий