О дорожных знаках

Вот, тут всё думал, мы их не отмечаем лишь потому, что не знаем как замапить то, что они обозначают. Ну, т.е. там запреты поворотов, ограничение скорости, количество полос для движения или односторонне движение ещё как-то можно, но “остановка/стоянка запрещена” или “обгон запрещён”, или, скажем “крутой поворот” и т.д. - просто не ясно.
И вот что пришло в голову. А оно и не надо! Ну, т.е. мапить их надо, обязательно, но не надо специально выдумывать и придумывать каким тегом это сделать.
Надо всего-навсего завести отношение, в котором прописать этот знак как он относится к ПДД, при чём, туда же сразу можно “пихать” и таблички.
Я сразу говорю, что не имею ни какого желания создания пропоазала, т.к. это долго, муторно и на выходе всё чаще получается пустота, по 3-4 года они висят в воздухе.
С первого сентября (ибо это пока поток мыслей, которые надо привести в порядок) начну использовать (естественно, что запреты поворотов, дестинйшн_сигн и прочие остаются без изменений и всё так же мапятся по старой схеме), по мере, надеюсь, остальные подтянутся.
В основе концепции - мы должны знать какой знак реально установлен, где установлен и на каком участке дороги (в т.ч. вперёд-назад или слева-справа) он действует. Сразу призываю всё делать отношением и только отношением, вею и точкам присваивать лишь роли.
Сейчас ориентирую на международное применение, но можно “ру” вынести в наименование отношения (что, имхо, более правильно, т.к. исключить этот префикс из остальных тегов)

Далее, почему “RU:”, потому что так их будет потом проще вычленить и дать описания, если получится (я надеюсь) массовое использование.
По мере “перевода” можно будет их брать, и роботом “дополнять” (давать описательную часть на английском) и заменять

type=RU:road_sign
road_sign=*
sign_name=*

На

type=RU:road_sign
RU:road_sign=*
EN:road_sign=*
DE:road_sign=*
RU:sign_name=<если знак в РФ>
EN:sign_name=<если знак в англии>
и т.д. , т.е. [страна:]sign_name=в той стране, которой он установлен, остальные языки в описании исключаются для неоднозначности
sign=<что за знак на английском>, типа left_dangerous_bend (для левого опасного поворота)

Это, пока что, поток сознания, но, надеюсь, он хоть кому-то понятен и кто-то меня поддержит.

type=RU:road_sign - плохая идея. Как минимум потому, что все знаки воткнутые у меня под окном не могут быть ничем крому RU. И я так же сомневаюсь, что во Франции знаки ставит Германия.
start и end тоже не понятно зачем когда есть -/forward/backward

Лучше давайте подумаем как обозначать ново-запекающиеся знаки запрета движения авто ниже указанного экологического еврокласса. В сегодняшней новости я прочитал, что готовят поправки вводящие знак зелёный кружок с цифрой и который будут вешать под кирпич. Так же могут быть указаны типа автомобилей на которых распространяется.
На первый взгляд видится это как hgv=3, но проблема в том, что знак запрещающий, а тег разрешающий - поэтому неизбежна путаница.
Возможно стоит придумать что-то типа eko_limit:hgv=3

start|end для точек - если нет желания использовать way (типа бить только ради “обгон запрещён”), т.е. вполне допустимо использовать или node, или way отдельно, а лучше что-то одно. Это я и подразумевал, но надо было описать отдельно, согласен.
Касаемо экологического класса - как только знак появляется - ни что не мешает его описывать в рамках данного отношения.
RU: - только для того, что бы понимали, что номера знаков - из RU:ПДД, а не из немецких или французских.
Хотя, как вариант,
road_sign=RU:<номер знака>

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

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

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

Я тоже поддерживаю внедрение нового отношения или чего-то ещё для маппинга знаков.

Я за вариант не с названием знака, а с его номером. Для знаков с надписями (названия городов, таблички) сделать отдельный тег для надписи.

Ещё нужно отмечать светофоры и стоп-линию у светофоров (даже если она не обозначена соответствующим знаком, но т.к. линия может со временем стираться - знак и линия должны быть по разному обозначены).

http://wiki.openstreetmap.org/wiki/RU:Дорожные_знаки_России - для справки, то что уже есть.

И к знаку про обгоны - возможно проще рисовать разметку. Что-то похожее на тег осевая_линия=двойная сплошная (непрерывная, прерывистая и тд). И разметка - не как замена знаку, а как дополнение (т.к. разметка может стираться или зимой просто не видно под не чищенной дорогой).

Ну конечно нужен навигатор/роутинг/рендер/конвертер который будет поддерживать это отношение.

Вот про 15-й стандарт и не хочется, он не является конкурирующим - в этом суть.
Это дополнение, т.е. способ обозначить “все знаки как они есть на местности”, не применительно к свойствам дороги (ну, например, сейчас нет такого свойства дороги как “опасный поворот” или “обгон запрещён” или знак=“неровная дорога”, т.е. не surface=* а именно знак, даже нет обозначения для знака “главная дорога”, в текущем варианте мы лишь можем замапить “уступите”, но не главную).
Как быть с перерёстком (т.е. “главная”, идущая прямо, например) - поскольку знак не вешается над перерёстком, а вешается до него, то просто на кусок вея от места, где установлен знак до пересечения вешается соответствующая роль, кто не хочет быть - ставят node’ы start (или begin будет правильнее) напротив знакак и end на пересечение, а точнее чуть за него (но если вдруг дороги станут площадными, то напротив пересечения дорог/проезжих частей).
Просто хочу донести, что я не предлагаю отменить то, что уж есть, предлагаю наоборот, дополнить. Реально существует проблема обозначения знаков (пока что до применения это не может дойти), которые должны выливаться в свойства hw=*, но большинство не знают в какие, вот я и предлагаю, если есть желание мапить знак, а какие свойства дороги затрагиваются - не ясно - мапить стоит именно знак. Потом, когда всё начнёт потихоньку прояснять - будет легко вытащить отношения и на участников повесить нужные теги.

ИМХО надо мапить знаки в точке установки (не на вее дороги), вида dorozhny’j znak=2.1, возможно с уточнением куда повёрнут в абсолютных величинах (градусах). Дальше пусть рендеры сами разбираются, как, на что и до куда они действуют — вся информация есть, притом полнейшая.

Зы хотя если знак действует на определённый объект (мост и т. п.)… ну, связать отношением.

Не вопрос, просто делаете отношение с единственным участником node’ом в роли sign. Остальное - либо другие участники, либо сами потом домапите. В этом и идея, иметь возможность замапить любой дорожный знак, зная только где он стоит и как он называется (тут да, ндо будет приложение к ПДД открыть).

Уже есть traffic_sign=*.

Способ обозначения пригодный к практическому применению, но имеет заметные недостатки:

  1. Ничего не мешает депутатам в новой редакции ПДД знаки перенумеровать. Можно, конечно, сотворить бота, который перенумерует старые знаки в ОСМ к новой нумерации, но лучше такого не допускать в принципе.
  2. Знаки хоть и не полностью, но всё же стандартизированы между странами. При этом в ПДД разных стран одинаковый знак может иметь разные номера. То есть получаем обозначение одинакового объекта по-разному, что неправильно.

Поэтому есть предложение писать не номера из национальных ПДД, а названия знаков, согласно единой для ОСМ таблицы (насколько, конечно, возможно единство в ОСМе). За основу для таблицы можно взять, к примеру, вот такой документ - https://www.gov.uk/government/uploads/system/uploads/attachment_data/file/312234/the-highway-code-traffic-signs.pdf
В формате road_sign=<номер знака из национального ПДД стоит обозначать лишь знаки, специфичные для определенной страны. Решение проблемы со слётом номеров при перенумерации в ПДД требует отдельного обсуждения.

Обозначать универсальным именем и т.п. стоит только международные знаки, которые полностью соответствуют “Венской конвенции о дорожных знаках и сигналах”.
Все остальные (национальные и нестандартны) знаки стоит обозначать, используя префикс пространства имен с буквенным кодом ISO 3166-1 alpha-2 для конкретной страны (road_sign=ru:8.15).
И нечего бояться использовать ботов, это уже паранойя какая-то.

Поддерживаю.
К тому же, использование номеров - это крайне неудобно. Представьте, что бы было, если бы теги выглядели так:
amenity=12.4
landuse=4.15

Так почему же знаки должны мапиться именно в таком стиле? :slight_smile:
Так же, как остальным сущностям дали имена, для знаков тоже следовало бы сотворить подобное.

А какова их доля от общего числа знаков? И насколько строгое там требуется соответствие?

Проблема со знаками в том, что они - юридически значимые сущности, потому даже если вы хотите обозначить их по названиям, что не так страшно, дать им какой-то префикс, указывающий на то, к какой стране они принадлежат, однозначно стоит, потому что правила различаются, а заставлять рендер, роутер или еще что-то анализировать вхождение знака в полигон гос. границы - идея сомнительная.
Про Венскую конвенцию почитать можно вот тут http://en.wikipedia.org/wiki/Vienna_Convention_on_Road_Signs_and_Signals
Еще есть вот такое чтиво http://www.unece.org/fileadmin/DAM/trans/roadsafe/publications/docs/Consolidated_Resolution_on%20Road_Traffic_RE2_e.pdf
Проблема еще в том, что есть куча стран, в которых Венская конвенция не действует вообще.
Потому вариации на тему

  • стандартны (там может быть надпись Yeld на белом фоне внутри, например, но это тот же знак)
    А вот американский знак аналогичного смысла похож на европейский знак “Главная дорога”.
    Норвежский и исландский знак “зона обгона” - голубой квадрат с буквой М (в России, например, есть только знак обратного смысла, а в США это табличка с надписью)
    У шведов знак “движение запрещено” не белый, а желтый.
    У англичан знак, обозначающий максимальные габариты (ширину или высоту) - предупреждающий (треугольник), а не запрещающий, как в России (круг), а в США это снова желтый ромб с цифрами.
    Соответствие требуется в смысле совпадения формы и цвета (категории) знака.

Я за международное стандартизирование знаков в ОСМ. Ссылка на пункт ПДД - не айс в плане унифицирования навигаторов в мировом масштабе.
Предлагаю сделать названия тегов на англ. языке типа: give_way, stop, speed_limit_40 и т.п.
Даже в странах, не вошедших в венскую конвенцию эти знаки существуют.
Стандаизировать глобальные типы знаков, а локальные - на усмотрение жителей страны.

При этом надо разработать точный, но при этом очень простой способ определения направления действия знака

Так нам надо мапить внешний вид знака, или его значение? :slight_smile:
Я думал проще: если во всех странах есть знак “уступи дорогу”, и означает он ровно одно и то же, то можно смело писать give_way. Какая разница, какой у него будет дизайн, если работает он одинаково?

С этим как раз проблем нет: http://wiki.openstreetmap.org/wiki/Key:direction

Для чего изобретать новый тег, чем не устраивает уже существующий и активно используемый traffic_sign?

Не был знаком с данным тегом; просто скопипастил “road_sign” из первого поста этой темы.

С учётом существования этой страницы в вики переформулирую своё предложение: следует расширить раздел Human-readable values, так как он сейчас неполон; нестандартные знаки тегировать с помощью номеров из национальных ПДД (traffic sign IDs), то есть как предложено в вики и этой теме.

Это для знаков, мягко говоря, не очень.
Маршрутизатору надо будет делать построения углов и сопоставлять их между собой. Да и картировать по такой системе и неудобно, и не наглядно, и неточно.
Тут уж куда точнее и проще через отношение.

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

Точнее в каком плане? Какого типа отношение? Насколько проще для рендера будет воссоздать направление знака? Понадобится анализ дороги, входящей в отношение? Как планируется задавать направление знака, если он относится не к дороге?