layer по умолчанию для bridge и tunnel

grisha, поправка.
Ты расписал то, как “должен” это делать нормальный рендерер. У меня получилось такой сделать, в частности, для Беларуси на kosmosnimki.ru.
Mapnik на osm.org интерпретирует всё совсем иначе. Он сначала рендерит все простые дороги (сортируя по layer), после чего рендерит все обводки мостов, после чего рендерит ещё раз только мосты, опять-таки сортируя по layer. На osm.org не получится подсунуть мост под тоннель, никак.

Кроме того, мне так и непонятно, какая проблема решается данным пропозалом. :slight_smile:

Кажется, он просто предлагает прикладному софту считать, что bridge без layer всегда имеет layer=1, а туннель -1.
По сути, это не пропозал, а просто рекомендация.

Данный пропозал позволит не ставить теги, значение которых очевидно.

Ilis, приведите пример софта, котрый вы таким образом хотите “починить”. На данный момент и так можно не ставить этот тег. :wink:

Если бы я писал софт, я бы трактовал отсутствие лейерс на тоннелях и мостах как в пропозале. И тег я ставлю, но меня это достало. Пропозал должен починить не софт, а редакторов :slight_smile:

Это не починка редакторов, потому что необходимые тэги они от этого ставить не начнут, скорее наоборот. Это просто “легализация” ошибки.

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

какой шанс что увидев на всех мостах в городе layer 1, редактор с первого раза правильно проставит теги в сложной развязке?

полагаю что ошибок как раз станет меньше
так как лучше внимательно заполнить 1 тег, чем невнимательно два

да и можно будет наконец почистить этот layer
но это не скоро…

Это не необходимый тег. Так же как oneway=yes, например.

И непроставление тега в данном случае не ошибка.

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

Высокий.

Не станет.

И сразу бан за вандализм.

Как oneway необходим на односторонних дорогах, layer необходим на пересекающихся веях.

А вот и неправда!

На односторонних моторвеях этот тег необязательный, потому что это очевидно следует из определения большинства моторвеев.

Так же из определения моста следует что он имеет лейер выше, чем пересекаемый им объект.

“Очевидно из определения” и одновременно “большинства”. Феерично.
Значит один такой косяк уже есть.

Во-первых, не следует, во-вторых, “лейер выше” никак не означает “1”.

А что сейчас мешает его не проставлять? Что и где ломается?

неопределённость поведения программного обеспечения
один рендерер может дать мосту по умолчанию значения layer 0.5, другой 1, третий 5
какой-то может вобще в произвольном порядке их нарисовать

та лаадно, от этой чистки будет же только польза :wink:

Эта неопределённость следует из отсутствия данных, и лечится это добавлением данных в базу, а не предположениями на основании средней температуры по больнице.

однако веи без тегов layer будут находиться всегда
так как одно из умолчальных значений уже определено
соответственно, веи без тегов всё же прийдётся обрабатывать
и логично эту обработку реализовать максимально чётко и разумно

модели создаются по подобию реального мира
поэтому если в реальном мире есть какая-то значимая закономерность, то её стоит учесть

А без сферических коней в вакууме? Что сейчас сломается?

Я вам больше скажу - всегда будет находиться огромное количество разных ошибок. И их надо чинить, а не городить правила, по которым они на вид ошибками вроде как быть перестанут.

layer призван разрешать неоднозначности
и там где их нету - он не нужен
так же как не нужен layer = 0 на большинстве объектов, так же не нужен layer = 1 на большинстве мостов

прошу перечитать ещё разок это обсуждение
что зачем и почему изложено не один раз
вкратце: явных “поломок” нет, но это не мешает совершенствовать модель
в программировании даже есть термин с подобным смыслом - рефакторинг

ну и холивар вы здесь развели :slight_smile:
я думаю надо дать нашим зарубежным коллегам высказаться