Ещё раз про maxspeed:practical

Банально неправ.
Официальный маршрут из НЧ в Бугульму: http://osrm.at/1Ts
Как прокладывают обычные навигаторы: http://osrm.at/1Tt
Как ездят таксисты: http://osrm.at/1Tu
Есть еще и четвертый маршрут (http://osrm.at/1Tv), но он уже проигрывает предыдущему по времени.
(OSRM ошибается с оценками времени)

Заставить навигаторы прокладывать третий вариант маршрута, не трогая статусы дорог, возможно только через подкручивание скоростей…

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

Дополняем список допустимых значений числами: 1, 2, 3, 7, 15? (получаем: 1, 2, 3, 5, 7, 10, 15, 20, 30…)

Ну так дай нам программу с “совершенным” алгоритмом…
А пока эти навигаторы не в состоянии учесть светофоры, повороты и пешеходные переходы, что уж гораздо проще.

Короче. Будут программы с нормальными алгоритмами - maxspeed:practical отомрет сам. Но пока их нету - в нем есть потребность.

Наоборот, сам тег мне очень нравится, а не нравится то, что его употребляют не по назначению (или, если хотите, вопреки описанию в wiki).

  1. Вы исходите из неверной посылки: “сначал программа, потом - данные”. Так быть не может из-за того, что программа без данных работать не может. А, следовательно, невозможно отладить программу, не имея данных. Поэтому единственный вариант: “сначала данные, потом - программа”. И тезис “не рисуйте под рендер” является отражением именно этого безусловного факта: в базе должны быть объективные данные, которые может использовать любой алгоритм, а не данные, заточенные под конкретный алгоритм.
    Проблема именно в том, что данные, заточенные под один алгоритм, другой алгоритм использовать не может. Именно поэтому в OSM таких данных быть не должно.
    “Не рисуйте под рендер” - не абстрактный лозунг, который возник непонятно откуда, а вполне конкретное следствие того факта, что заточенные для одного несовершенного алгоритма данные невозможно использовать нигде кроме этого алгоритма.

andriano, ты опять не прав. Данные есть. Уже есть. А программы нет. И даже на горизонте не видно.

Те же светофоры, переходы, lanes, smoothness вносятся в OSM с маниакальным упорством. С неменьшим энтузиазмом прогоняются через конвертеры и попадают в наборы карт. И, все. Приплыли. Данные есть, но программы их не используют.
Или, ты хочешь сказать, что эти данные не объективны? И не любой алгоритм может их использовать?

Именно.

И у меня серьезные сомнения по поводу

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

Эээээ… Тут я вас не понял. Почему вы считаете traffic_signals, crossing, lanes необъективными?

LinFor, правильно отквотьте мой пост, и Вам станет ясно, что я считаю, а что - нет.

andriano

Судя по всему - это Вы сами придумали, что не по назначению. Тут уже сколько раз все писали, что используют этот тег исключительно для корректировки построения маршрутов в имеющихся на сейчас программах для автонавигации которые используют карты на основании данных OSM. И что то никто не отписался, что использует этот тег в каких то других целях. А по поводу каких то полезностей для автонавигации - так даже элементарно добавляемый сервис показа направления движений по полосам благополучно похоронен под обсуждением как обозначать… Так что то что мы имеем хоть и костыльный тег, но поддерживаемый большинством - уже прогресс :slight_smile:

Конкретно по данному тегу - у меня устойчивое ощущение, что он стал популярен после того как его поддержка появилась в lioshin’ом конвертере. И с этого же момента он стал использоваться “неправильно”, увы.

Читаем тут:
http://wiki.openstreetmap.org/wiki/RU:Key:maxspeed
тут:
http://wiki.openstreetmap.org/wiki/RU:Key:maxspeed:practical
и тут:
http://wiki.openstreetmap.org/wiki/Key:maxspeed:practical

Вредный тэг!
Вернее не столько сам по себе, сколько его “вредность” кроется в правилах обозначения.
Например… что значти

Звучит как при лабораторных исследованиях возможного - это нормально для безопасности на дорогах?
Понятие учёта состояния дороги нстолько порой индивидуально, что один по ней не может передвигаться более 80км/час, а другому 180 мало!
Если уж и сохранять этот тэг, то он не должен обозначать максимально-выдавленную возможную скорость.
Другими словами - этот тэг должен означать (по условиям дороги) практическую скорость ниже (и только) разрешённой.
Вот тогда будет реальный смысл в этом.
Коварный и “обтекаемый” тэг.
Уж лучше посмотреть в сторону средней практической скорости…

Проверить ограничение на максимально легально разрешенную на практике может делать и навигатор (его конвертор карт).
Причем для различного типа транспорта это ограничение разное.

нигде в базе не видел значения этого тега, отличного от ‘maxspeed + нештрафуемые 20 км/ч’. Соответственно, смысла в нем никакого не вижу (это может и робот прописать автоматом).

Не в этом дело - например при составлении карт с учётом данного тэга, после конвертации могут появиться НЕоптимальные маршруты.
И только потому, что какой-то “Вася” сказал другу “Пете” о том, что ни на что не взирая, умудрился “пролететь” по дороге в 2 раза быстрее, чем все остальные.
Простановка максимально достижимой такой максимально-практической скорости разве будет отражать реальное положение дел?

Если уж совсем придираться, то реальное положение дел возможно знать только зная актуальные пробки, которые могут меняться каждую минуту.

Проблема в полноте данных.
Если на одной улице рытвины и/или хроническийе пробки и проставлен добрым человеком maxspeed:practical 40 км/ч, то навигатор поведет по другой улице, где maxspeed:practical не проставлен, в надежде, что там быстрее, так как данных что там не удастся ехать разрешенные 60 км/ч нету, ведь добрый человек там не ездил и не знает, что там практическая скорость 20 км/ч.

Нет-нет… О придирках речь идти не может.
И вопрос о пробках здесь не стоит, т.к. этот тэг в принципе не может это отразить в динамике.

Вот именно!

Я собственно даже не об этом.
К тому же кто не знает, что там, тому и нечего проставлять что-то.
А зачем в Вашем примере обращать внимание на maxspeed:practical, если состояние дороги обозначены другими тэгами?
Вот по состоянию дороги навигатор выберет маршрут.
Это намного точнее, чем абстрактное понятие практической скорости.
Или вот другой пример… Автомагистраль Москва-Питер, где половина участка указана макс. скорость 130 км/час.
Понятно, что по ПДД допустимо ненаказуемая скорость движения до 150 км/час.
А теперь вопрос - зачем на такой чудесной трассе устанавливать maxspeed:practical=150?
В чём смысл от этого для навигатора?
Да собственно почти точно также и для прочих (не скоростных) магистралей.
Какой смысл устанавливать maxspeed:practical=110, если это и так понятно навигатору?
Вот другое дело, если разрешённая по трассе 90, но практически невозможно с такой скоростью по ней проехать - вот в этом случае действительно данный тэг может быть полезен.
Собственно с этого начал, что: