Поиск кратчайшего расстояния на графе дорог. Протестируйте

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Поиск кратчайшего расстояния на графе дорог. Протестируй

Сообщение Александр Мурый » 22 дек 2011, 14:32

Pifagoroff писал(а): Можно, конечно, кто же спорит. Можно вообще в ручную, по слою дорог, создать маршрут и длину посчитать и красиво нарисовать на карте…
Аргумент "всё можно руками..", честно говоря, не очень убедительный.

Модуль GRASS v.net.path только строит кратчайший маршрут (ничего лишнего), зато у вас появляется прекрасная возможность написать маленький shell-скриптик, в котором будут исп-ся только выбранные линии (редактирование / выборка --> маршрут). Даже мышкой возить не придётся.
Редактор материалов, модератор форума

Pifagoroff
Интересующийся
Сообщения: 34
Зарегистрирован: 19 дек 2011, 20:24
Репутация: 0
Откуда: Москва

Re: Поиск кратчайшего расстояния на графе дорог. Протестируй

Сообщение Pifagoroff » 22 дек 2011, 14:48

amuriy писал(а):Модуль GRASS v.net.path только строит кратчайший маршрут (ничего лишнего), зато у вас появляется прекрасная возможность написать маленький shell-скриптик, в котором будут исп-ся только выбранные линии (редактирование / выборка --> маршрут). Даже мышкой возить не придётся.
А вот тут я поспорю. Просто строить кратчайший маршрут на графе занятие бессмысленное, интересное только математикам и автору программы. Выбрать нужные линии говорите. А так ли это легко – определить какие линии заведомо нужны в маршруте, а какие нет? Не такой это простой вопрос...

Pifagoroff
Интересующийся
Сообщения: 34
Зарегистрирован: 19 дек 2011, 20:24
Репутация: 0
Откуда: Москва

Re: Поиск кратчайшего расстояния на графе дорог. Протестируй

Сообщение Pifagoroff » 22 дек 2011, 15:02

amuriy писал(а):Аргумент "всё можно руками..", честно говоря, не очень убедительный.
А почему нет? Предположим такую схему. Выделяешь мышкой участок дороги, добавляешь в маршрут. Выделяешь следующую полилинию, снова добавляешь в маршрут. Потом рисуешь стрелки и т.д., считаешь длину в километрах. Тоже решение, и получится нормальный маршрут, а не по велодорожкам…

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Поиск кратчайшего расстояния на графе дорог. Протестируй

Сообщение Voltron » 22 дек 2011, 15:37

Не пойму из-за чего спор. Все подобные решения только строят кратчайший маршрут. Возьмите pgRouting, VirtualNetwork... А что делать с этим маршрутом решать должен пользователь.

Насчет тестирования. Давно уже можно было взять и протестировать самостоятельно на тех же дорогах Москвы. Ксати, ваша программа, тестировалась насколько я понял не в тех же условиях, что и RoadGraph. Если первый перебирал абсолютно все дороги, то для своей программы вы вручную отобрали нужные вам типы да еще и кучу проверок наставили. Думаю, если добавить все это в RoadGraph результат будет как минимум не хуже.

Pifagoroff
Интересующийся
Сообщения: 34
Зарегистрирован: 19 дек 2011, 20:24
Репутация: 0
Откуда: Москва

Re: Поиск кратчайшего расстояния на графе дорог. Протестируй

Сообщение Pifagoroff » 22 дек 2011, 15:48

Voltron писал(а):Не пойму из-за чего спор. Все подобные решения только строят кратчайший маршрут. Возьмите pgRouting, VirtualNetwork... А что делать с этим маршрутом решать должен пользователь.
Насчет тестирования. Давно уже можно было взять и протестировать самостоятельно на тех же дорогах Москвы.
pgRouting протестирую, GRASS тестировать не буду.

Voltron писал(а):Ксати, ваша программа, тестировалась насколько я понял не в тех же условиях, что и RoadGraph. Если первый перебирал абсолютно все дороги, то для своей программы вы вручную отобрали нужные вам типы да еще и кучу проверок наставили. Думаю, если добавить все это в RoadGraph результат будет как минимум не хуже.
Да может, даже и лучше будут…
Voltron писал(а):Не пойму из-за чего спор. Все подобные решения только строят кратчайший маршрут.
Да, спор ни о чём. Вообще, я пришёл к выводу, что по Москве, во всяком случае, кратчайший маршрут, тот, который знаешь. Между городами, да, это имеет смысл… Но между городами маршрут очень легко строится в ручную…

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: Поиск кратчайшего расстояния на графе дорог. Протестируй

Сообщение ericsson » 22 дек 2011, 16:24

Гхм, про Москву - позволю себе вмешаться.
Тут есть энное число факторов, которые в общем случае превращают поиск из стратегической задачи в тактическую.
Потому что а) низка степень связности дорожной сети б) пропускная способность второстепенных дорог существенно ниже, чем у основных в) пропускная способность меняется со временем, что требует для эффективной прокладки обязательного учета актуальной информации о пробках.
Так что одной геометрии и "знаний маршрута" тут явно мало. А конечные задачи типа TSP вообще вырождаются в такой обстановке до полнейшей бессмыслицы или достаточно общих решений, с точностью до района (при том не административного, а "транспортного").

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

Pifagoroff
Интересующийся
Сообщения: 34
Зарегистрирован: 19 дек 2011, 20:24
Репутация: 0
Откуда: Москва

Re: Поиск кратчайшего расстояния на графе дорог. Протестируй

Сообщение Pifagoroff » 22 дек 2011, 16:57

ericsson писал(а):Гхм, про Москву - позволю себе вмешаться.
Тут есть энное число факторов, которые в общем случае превращают поиск из стратегической задачи в тактическую.
Потому что а) низка степень связности дорожной сети б) пропускная способность второстепенных дорог существенно ниже, чем у основных в) пропускная способность меняется со временем, что требует для эффективной прокладки обязательного учета актуальной информации о пробках.
Так что одной геометрии и "знаний маршрута" тут явно мало. А конечные задачи типа TSP вообще вырождаются в такой обстановке до полнейшей бессмыслицы или достаточно общих решений, с точностью до района (при том не административного, а "транспортного").

P.S. Чтобы нечто не прокладывало маршруты по велодорожкам и тропинкам, эти данные стоит не пускать в базу еще на этапе загрузки.
Мне кажется вы немного себе и противоречите. С вашими замечаниями о маршрутах по Москве я согласен. А с тропинками нет. Так может быть бессмысленно само нечто, которое с равным успехом строит маршрут и по автомобильным дорогам в Москве (по Московским изогнутым улицам) и по тропинкам? (Скажем, я ни разу в жизни не видел тропинок с односторонним движением и светофорами). Если только, у вас нет под рукой неограниченной вычислительной силы. Может, имеет смысл писать отдельную программу для поиска по Москве и для поиска по тропинкам? А программа поиска по абстрактному графу интересна только как иллюстрация алгоритма Дейкстры, не более того…

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: Поиск кратчайшего расстояния на графе дорог. Протестируй

Сообщение ericsson » 22 дек 2011, 17:04

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

Pifagoroff
Интересующийся
Сообщения: 34
Зарегистрирован: 19 дек 2011, 20:24
Репутация: 0
Откуда: Москва

Re: Поиск кратчайшего расстояния на графе дорог. Протестируй

Сообщение Pifagoroff » 22 дек 2011, 17:34

Сколько людей, столько и мнений... Кто говорит, пиши скрипт для GRASS, что бы отличить одни дороги от других, кто говорит проще работать только с автомобильными дорогами, а не учить анализатор. А Voltron говорит, нужно перебирать все дороги, тогда будет честное соревнование по скорости с модулем RoadGraph. Видите ли, Ericsson, и с автодорогами никакой ясности нет. Скажем, если вы прокладываете маршрут из Москвы во Владивосток, нужны ли вам дороги во дворах? В этом случае, дороги во дворах – это те же тропинки. Нет однозначного рецепта, какие дороги отбросить, а какие использовать. И в какой момент их нужно исключить… Так что противоречие у Вас, в завуалированной форме, всё таки есть… И анализатор нужно, всё-таки учить различать дороги… То есть, нужно писать скрипт для GRASS или свою программу... Или найти готовую, которая умеет различать качество дорог...

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Поиск кратчайшего расстояния на графе дорог. Протестируй

Сообщение Александр Мурый » 22 дек 2011, 17:43

Pifagoroff писал(а):Кто говорит, пиши скрипт для GRASS, что бы отличить одни дороги от других
Имелось в виду, что в shell-скрипте с исп-ем модулей GRASS без GUI можно выбрать векторные данные в другой набор "слой" по количественным (например, длины) или атрибутивным характеристикам. Без скрипта тоже можно, в GUI тоже можно.

Вы хотите разработать искусственный интеллект для ГИС с автоматическим выбором типов "дорожек" --- пожалуйста, все ж только рады будут :twisted: Только вопрос: а оно точно надо?
Редактор материалов, модератор форума

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: Поиск кратчайшего расстояния на графе дорог. Протестируй

Сообщение ericsson » 22 дек 2011, 17:46

Мне виднее, есть у меня противоречие, или нет.
Классы автомобильных дорог различать надо. Только вопрос еще в том, а те, кто их наносил на карту, их правильно различили? Или Вася из Нижнехреновска просто взял и решил, что бывший проспект Революции, столь же раздолбанный, как и все остальные дороги в городе, это "хайвей местного значения"? А такие фокусы случаются и у коммерческого софта, который работает в условиях свободной конкуренции (сам как-то ночью пилил через какие-то фермы и т.п. где-то в северной Нормандии, потому что поставщик картосновы решил, что это просто "второстепенная дорога" а не грунтовка).
А о выбрасывании из рассмотрения заведомо ненужных для работы дорог я сказал, потому что это в любом случае даст уменьшение графа и меньшее количество проверок при прокладке. Тут ведь супер-универсального решения нет, тут по крохам производительность собирается.

Pifagoroff
Интересующийся
Сообщения: 34
Зарегистрирован: 19 дек 2011, 20:24
Репутация: 0
Откуда: Москва

Re: Поиск кратчайшего расстояния на графе дорог. Протестируй

Сообщение Pifagoroff » 22 дек 2011, 18:01

ericsson писал(а):Мне виднее, есть у меня противоречие, или нет.
Ну нет, так нет, на нет и суда нет...
ericsson писал(а): Классы автомобильных дорог различать надо. Только вопрос еще в том, а те, кто их наносил на карту, их правильно различили? Или Вася из Нижнехреновска просто взял и решил, что бывший проспект Революции, столь же раздолбанный, как и все остальные дороги в городе, это "хайвей местного значения"? А такие фокусы случаются и у коммерческого софта, который работает в условиях свободной конкуренции (сам как-то ночью пилил через какие-то фермы и т.п. где-то в северной Нормандии, потому что поставщик картосновы решил, что это просто "второстепенная дорога" а не грунтовка).
А вот тут я согласен на 100%. То есть, ещё и от типа карты зависит. То есть, для OpenStreetMap один подход. А Google Map – использует совсем другой, может быть…
amuriy писал(а):Вы хотите разработать искусственный интеллект для ГИС с автоматическим выбором типов "дорожек" --- пожалуйста, все ж только рады будут :twisted: Только вопрос: а оно точно надо?
Понимаю Вашу реакцию, очень даже прекрасно понимаю. Но я вас немного расстрою, а может обрадую. Во-первых, это не искусственный интеллект, задачка попроще. А во-вторых. В той или иной форме эта задача решена многими (и мной в том числе, для одного частного случая). Начиная от маленького навигатора и кончая Google навигация. Я так думаю, все они умеют отличать качество дорог, иначе маршрут строился бы ну очень долго и очень странно…

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: Поиск кратчайшего расстояния на графе дорог. Протестируй

Сообщение ericsson » 22 дек 2011, 18:12

Не OSM и Гугл, а OSM (состоящий из энного количества вась пупкиных, иногда по-своему трактующих гайдлайны) и Геоцентр-консалтинг и прочие датапровайдеры, чьи данные используются гуглом.

Pifagoroff
Интересующийся
Сообщения: 34
Зарегистрирован: 19 дек 2011, 20:24
Репутация: 0
Откуда: Москва

Re: Поиск кратчайшего расстояния на графе дорог. Протестируй

Сообщение Pifagoroff » 22 дек 2011, 18:22

ericsson писал(а):состоящий из энного количества вась пупкиных, иногда по-своему трактующих гайдлайны
А в целом, не так уж плохо они трактуют… Можно проложить вполне сносный маршрут…

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: Поиск кратчайшего расстояния на графе дорог. Протестируй

Сообщение ericsson » 22 дек 2011, 18:31

Загляните на форум OSM, поглядите. Там где есть надзор, там есть и порядок. А если место глухое, и там пара спевшихся энтузиастов, или один вообще, то что там творится, черт его знает, теоретически.

Ответить

Вернуться в «QGIS»

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

Сейчас этот форум просматривают: Ahrefs [Bot] и 13 гостей