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

Одно неработающее определение будет заменено на другое, более развесистое. А тег как использовался де-факто для “подкрутки” навигационных алгоритмов, так и будет.

andriano

Борьба с ветряными мельницами… Ivan Komarov абсолютно прав в своем последнем сообщении в этой теме… Не было бы конвертаций из формата OSM в карты для навигаторов со вменяемыми маршрутами - не было бы и большей части рисующих эти карты :slight_smile: Сейчас маршруты в программах навигации автомобильных во многих местах благодаря этому тегу строятся так как надо в реальности, а andriano все никак не может с этим смириться и хочет все поломать :slight_smile:

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

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

Вот, кстати, реальный пост, который позволяет судить о “пользе” рихтовочных коэффициентов.

  1. Из первого предложения уже понятно, что среди мапперов нет даже единого мнения о назначении рихтовочного коэффициента, т.е. для достижения каких целей им следует пользоваться.

  2. Из повседневнеой практики давно известно, что как раз по трассе и по транзитным маршрутам можно проехать и без навигатора. И можно было это сделать еще во времена СССР. А навигатор необходим как раз для построения маршрутов по городу. Спрашивается, так зачем рихтовать маршруты там, где навигатор не нужен, в ущерб построению маршрутов именно там, где нужен навигатор?
    А ответ простой.

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

andriano

По состоянию на сегодня у всех с этим тегом проблем нет… Вы о каких то будущих программах которые может быть когда нибудь будут написаны? Ну так пусть изначально не используют то, что им кажется не нужным… Сейчас маперы ставят maxspeed:practical значение больше или меньше чем на соседних дорогах - программы навигации начинают прокладывать маршрут по конкретной дороге либо избегать ее. На данном этапе и это уже хорошо, во всяком случае лучше чем ничего. Да, это не позволяет учитывать множество ньюансов типа загруженности дороги по конкретному времени - но если те же программы навигации начнут поддерживать такие возможности - то что мешает добавить уточняющих данных? Тут сейчас даже с ограничениями для разных видов транспорта в программах навигации беда, а вы уперлись в тег, который Вам лично не нравится…

andriano

А еще можно прекрасно обойтись без сотовых телефонов, компьютеров, и вообще без автомобилей - есть же общественный транспорт :slight_smile: Если Вам навигатор на трассе не нужен, то это не значит что он не нужен на трассе никому :slight_smile:

Банально неправ.
Официальный маршрут из НЧ в Бугульму: 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 мало!
Если уж и сохранять этот тэг, то он не должен обозначать максимально-выдавленную возможную скорость.
Другими словами - этот тэг должен означать (по условиям дороги) практическую скорость ниже (и только) разрешённой.
Вот тогда будет реальный смысл в этом.
Коварный и “обтекаемый” тэг.
Уж лучше посмотреть в сторону средней практической скорости…