Вот именно!
Более того, сама идея - добиться маршрута, как прокладывают местные - от несовершенной программы (например, не учитывающей пенальти от светофором или разницы в скорости прямого проезда перекрестка и того же перекрестка с поворотом - что требует кроме весов ребер введения весов узлов, причем, зависящих от траектории), совершенно дохлая.
А введение необъективных (подгоночных под несовершенный алгоритм) данных явно препятствует разработке более совершенных алгоритмов, который мог бы использовать объективные данные, которые пока не востребованы современными маршрутизаторами.
maxspeed:practical должен содержать именно время нормальной езды, а не некое значение некой целевой функции некоего навигатора
Просто конверторы и навигаторы ничего другого понимать не хотят, вот и получился один рычаг на все случаи жизни.
Мне кажется что модераторам давно пора переименовать тему …
Вынес в отдельную тему.
Напоминаю, что этот вопрос уже обсасывали (кому не лень, - найдите старую тему), и выяснили, что никто толком не понимает, что же такое maxspeed:practical. Основной вариант тогда был “комфортная скорость среднего авто, чтобы не сильно напрягать подвеску”
Тогда же для желающих тюнинговать маршруты в навигаторах придумали тег avgspeed - “средняя прогнозная скорость”.
Безусловно.
Пока.
Пока, действительно, все имеющиеся в OSM варианты вынужденно впихиваются в единственное число, используемое навигатором. Но хочется верить, так будет не всегда.
И если мы хотим, чтобы это когда-то произошло, уже сейчас нужно позаботиться, чтобы в OSM к тому времени было несколько “рычагов”, которые мог бы использовать маршрутизатор, построенный по новым более совершенным алгоритмам.
Мне кажется, обсуждение пора переводить в конструктивное русло, способное привести, по меньшей мере, к созданиюв wiki странички RU:Key:maxspeed;practical с вполне конкретным и одобряемым более или менее всеми содержанием.
Для этого, мне кажется, нужно сделать 2 шага:
- Убедить сомневающихся, что в OSM не место не имеющим физического смысла настроечным коэффициентам под конкретный режим работы конкретной программы, какими бы благими целями это ни прикрывалось.
- Определиться с формулировкой физического смысла величины maxspeed;practical. На этот счет, как я понимаю, существует две основные точки зрения:
минимум из 3-х величин:
1. Ограничения по ПДД.
2. Ограничения по физическим характеристикам дороги (качество покрытия, извилдистость и пр.)
3. Ограничения, связанные с загруженностью дороги, пешеходами и пр.
минимум их 2-х величин (ограничения ПДД полностью игнорируются):
1. Ограничения по физическим характеристикам дороги (качество покрытия, извилдистость и пр.)
2. Ограничения, связанные с загруженностью дороги, пешеходами и пр.
Каждый из вариантов имеет свои плюсы и минусы, остановлюсь на таковых для второго варианта:
- если значение maxspeed;practical > maxspeed, то оно просто может быть проигнорировано программами, которым нужен первый вариант.
- значения не ограниченной посредством ПДД скорости весьма субъективны: с одной стороны, не так мало машин, максимальная скорость которых не превосходит 130 км/ч (например, внедорожники), а с другой - этот тег может превратиться в поле битвы людей, желающих чем-то померяться, например, максимальной скоростью своего автомобиля. Отсюда - неизбежная война правок.
Лично я за первый вариант.
А оно конвертером поддерживается?
В таком случае (напомню, что международным голосованием тег maxspeed:practical отклонен) следует ввести в русскоязычной части OSM оба предлагаемых тега с описанием в wiki и обязательными взаимными ссылками.
Любой новый тег на момент введения никем не поддерживается.
Если тег окажется полезным - его поддержка появится.
Нет. Это предложение ставить скорость ребра. А уже дело рендера, как эту информацию использовать. Если дорога А длиной 100 км, а дорога Б - 50, но ехать лучше по А, значит maxspeed:practical дороги А должно более чем в два раза превышать показатель дороги Б. Просто, понятно, удобно, полезно.
А я за второй, ибо:
Да, причём с максимальным приоритетом.
ЗЫ.
Старая тема: http://forum.openstreetmap.org/viewtopic.php?id=9004
а почему минимум? есть горьковское шоссе , проходящее через деревни
2 полосы туда и обратно, разделительный отбойник. в деревне по ПДД можно ехать 60, реально едут 80-90
не получится так, что навигатор проложит маршрут по какой-нибудь объездной дороге, чтобы было быстрее, но будет крюк?
если учитывать загруженность и пешеходов - они же там не все время ходят, это какое-то среднее значение получается (для этого должен отдельный проект быть с онлайн пробками)
мне кажется и ПДД здесь не стоит учитывать, для этого есть обычный maxspeed и гипотетический навигатор сам может это анализировать
Вычислять “скорость ребра” - дело маршрутизатора, и не нужно пытаться у него эту функцию отобрать.
Иначе Ваш идеал “чтобы маршрут строился так, как ездят местные” будет в принципе недостижим. Ибо одной “скорости ребра” для оценки времени прохождения маршрута недостаточно. Нужно еще, минимум пенальти на преодоление перекрестка, причем, величина которого зависит от траектории движения.
Да и сама “скорость ребра” может зависеть от выранной полосы, а сам выбор - быть обусловленным направлением, в котором с этого ребра следует сворачивать.
В общем, оставьте просчитываение всех этих вариантов программе-маршрутизатору, которую, правда, необходимо для этого снабдить объективными данными.
По хорошему, оно должно быть проигнорировано всеми программами ввиду недостоверности. Так зачем тогда его заполнять?
С другой стороны, мне кажется, что как раз следует обусловить его наличие именно серьезными ограничениями с корости сверх ограничений ПДД.
Т.е. само наличие этого тега должно служить индикатором “плохая дорога”, а “умные” маршрутизаторы должны отдавать предпочтение дороге без maxspeed:practical даже дороге, для которой maxspeed:practical установлен равным maxspeed.
Лично я за первый вариант.
И тем самым зарежете оптимальность прокладки маршрутов с игнорированием ПДД, например для скорой помощи. Наложить ограничение из maxspeed элементарно из конвертера. А вот убрать это ограничение уже будет невозможно.
в деревне по ПДД можно ехать 60, реально едут 80-90
не получится так, что навигатор проложит маршрут по какой-нибудь объездной дороге, чтобы было быстрее, но будет крюк?
Поставьте целевую функцию с учетом длины маршрута, если навигатор позволяет. Мой — позволяет в разной пропорции.
Про то, что все гонят по деревне. Вы хотите, чтобы навигатор подталкивал людей к нарушению федерального законодательства?
При нынешней моде на штрафы в пол лимона этим вольностям не долго осталось. В братской Белоруссии уже за +3км/ч я получил штраф в 800 RUR.
Вы хотите, чтобы навигатор подталкивал людей к нарушению федерального законодательства?
а пробочные сервисы разве учитывают ПДД? если поток сейчас едет 100км по дороге, ПДД вообще рекомендует ехать со средней скоростью потока вроде как
и Sergey Astakhov правильно еще написал, что есть еще задачи построения маршрутов для спецтехники
а пробочные сервисы разве учитывают ПДД?
Это на их совести. Некоторые по дворам не водят, ибо транзит запрещен. Некоторые водят в нарушение ПДД.
Вы хотите, чтобы навигатор подталкивал людей к нарушению федерального законодательства?
Перестаньте, пожалуйста, всё мешать в одну кучу. Навигатор что, будет орать “почему медленно едешь??!, тут макспидпрактика больше!, а ну дави на газ, а то сейчас флеш отформатирую!”? Нет, наоборот, он будет выдавать предупреждения о превышении скорости, как только машина превысит указанную в maxspeed.
ПДД вообще рекомендует ехать со средней скоростью потока вроде как
Вот именно, что “вроде”. На самом деле
10.1. Водитель должен вести транспортное средство со скоростью, не превышающей установленного ограничения, учитывая при этом…
далее никаких слов “скорость потока” и т.п.
Меньше можно — больше нельзя.
Это в билетах есть про то, что не надо без надобности тащится или гнать по трассе, а надо безопасно ехать со скоростью потока.
Разумеется предполагается, что все, и поток, едут по ПДД.
а почему минимум?
Потому что для сущностей типа “ограничение чего-то сверху” наиболее естественной операцией является именно функция минимума. Для ограничений снизу, наоборот, максимума.
Это имманентное свойство ограничений.
если учитывать загруженность и пешеходов - они же там не все время ходят, это какое-то среднее значение получается (для этого должен отдельный проект быть с онлайн пробками)
Здесь возможно, минимум, два варианта (здесь слово “минимум” используется в несколько другом смысле):
- Учет посредством conditional http://wiki.openstreetmap.org/wiki/Conditional_restrictions
- Учет посредством online-сервиса.
По какому пути идти конкретной программе-маршрутизатора - дело исключительно авторов этой программы.
мне кажется и ПДД здесь не стоит учитывать, для этого есть обычный maxspeed и гипотетический навигатор сам может это анализировать
Да, это нужно обсуждать и договариваться, Хочу лишь заметить, что при снятии ограничения в 90/110 км/ч для РФ у нас для внедорожника (не путать с кроссовером) и спортивного автомобиля могут получаться значения, различающиеся вдвое. Ну и появится поле, в котором можно меряться - у кого машина круче. Определение тега таким образом, чтобы это подталкивало к войне правок, imho неразумно.
Навигатор что, будет орать "почему медленно едешь??!,
Ну, скажем мягче. Вправе ли навигатор при прокладке маршрута ожидать, что водитель будет нарушать ПДД?
- Исходя из этого от может водить транзитом по дворам и заправкам. (Буквально орать: “налево, направо, прямо…” и тем самым прямо подталкивать на нарушение);
- Строя маршрут, предполагать завышенную скорость. (Не орет, и все не так заметно, но у водителя останется осадочек, что от него ожидали другой езды, раз он сильно не уложился в прогноз).
Ну, скажем мягче. Вправе ли навигатор при прокладке маршрута ожидать, что водитель будет нарушать ПДД?
Вот едете Вы на дачу, имея на борту тёщу, кошку, рассаду и т. д. И превышать 80 км\час нигде не намерены. И две дороги, на одной maxspeed:practical=150, на другой - 80. И Вы, наверное, думаете: на первой дороге 150 придётся гнать, тёща потом ругаться будет… поеду ка я лучше по ухабам, как раз на даче саленблоки и поменяю…
Ну я не знаю, как ещё объяснить, что maxspeed:practical не запрещают ехать медленнее (и быстрее тоже), она просто показывает, как физически можно ехать. Более того, юзер этой цифры вообще не видит. Ну давайте уберём км/ч, сделаем абстрактные цифры от 1 до 10, что бы никого не смущать.
Зы Сейчас договоримся до того, что и smoothness=excellent нельзя ставить на дороги с ограничением скорости.