По умолчанию в соответствии с ПДД у нас междугородние дороги ограничены 90 км/ч, если нет иных знаков (магистрали, нас. пункта или просто знаков ограничения скорости).
Нужно ли указывать на этих дорогах maxspeed=90, или навигационное ПО по умолчанию считает ограничение 90 для межгорода, если нет иных ограничений?
Можно ли указать для highway=speed_camera принадлежность к определённому участку дороги с тем, чтобы значение ограничения скорости бралось из свойств этого участка?
Исходя из принципа построения баз данных “информация не должна дублироваться/быть избыточной” подразумеваю, что должны присутствовать такие возможности.
Тоже самое про дороги населённых пунктов - имеется ли возможность указать принадлежность населённому пункту, чтобы автоматически на этой дороге применялось ограничение 60 при отсутствии других указаний?
И про полосы вспомнил - если не указано иное, то двустороннее движение и 2 полосы - по одной в каждую сторону?
Как указать принадлежность моста дороге, чтобы мост наследовал свойства дороги?
Если что-то не указано, значит параметр неизвестен.
Мост - отдельный фрагмент дороги, где помимо всех тегов дороги есть еще и bridge=*. Т.е. для обозначения моста вам в любом случае надо разорвать дорогу на фрагменты. И в данной ситуации нет понятия “принадлежность моста дороге”. Фрагмент с мостом и есть дорога.
Параметр может быть известным в том числе, если ему присваивается значение по умолчанию.
Поизучал отличия в свойствах областных дорог - у каких-то указаны maxspeed=90 и lanes=2, у большинства - нет.
Или надо всем присваивать, или кто-то может решить, что на какой-нибудь грунтовке можно разгноняться выше 100.
Т.е. зачем именно maxspeed=90, если больше и так запрещено ПДД (кроме магистралей - для них свой тэг?).
Какой смысл в lanes=2 на surface=gravel - вдруг кто-то поместится там в 4 полосы и захочет так ехать - разметки же всё равно нет?
Примером значения по умолчанию является oneway=no - не пишут же его на всех дорогах?
Как может обычная (не односторонняя) дорога иметь меньше 2 полос?
maxspeed=90 удобно было бы применять по умолчанию, если OSM умеет определять, что дорога лежит вне населённого пункта. Умеет ли?
Печально. Или избыточность данных, или их “недостаточность” при плохих разработчиках навигационных программ - много дорог через деревни и т.д. без обозначения maxspeed, то есть “плохие” навигаторы могут “позволить” тем, кто забыл ПДД, шпарить по ним свыше 60.
Возможно это только в “провинции”, ближе к “центру” maxspeed в деревнях на трассах выбран как надо.
maxspeed нужен для выбора наиболее быстрого маршрута и для расчета примерного времени в пути. Не обращать внимание на дорожные знаки и ехать только по показаниям навигатора как минимум глупо.
Способ через CC:urban имеет очевидный недостаток: навигатор должен “знать” соответствие их и числовых значений. Лично для меня предпочтительнее следующий способ:
maxspeed = число + maxspeed:type = living_street/bicycle_road/urban/nsl_single/nsl_double/motorway/sign
Ограничение скорости ведь не каждый месяц меняют? Всегда можно будет запустить бота, который просто поменяет, например
maxspeed = 60 + maxspeed:type = urban на maxspeed = 50 + maxspeed:type = urban
Я подразумевал “американский” случай, когда человек обжёгся кофе и судится, что ему не написали, что кофе может быть горячим.
В населённом пункте на всей дорожной сети желательно проставлять ограничение скорости? Если дорога через деревню, то дорогу разбиваем на 3 отрезка (до, внутри и после), и внутри устанавливаем свой maxspeed?
Как быть с lanes - на обычных асфальтовых дорогах 2, на surface=gravel - сколько? Я встречаю проставленную 1.
А oneway=no указывать на всех двусторонних дорогах?
С одной стороны вы правы. Но в вашем примере как раз хорошо видна избыточность.
Получается, вместо того, чтобы устанавливать требования для разработчиков навигационного ПО (и возможно его сертифицировать, как соответствующее OSM стандартам), сообщество OSM подстраивается под нерадивых программистов, которые не могут предусмотреть внутри ПО подстановку maxspeed = разрешённой в этой стране в соответствующем месте (нас. пункт, межгород, шоссе, …).
оффтоп:
если злые “американцы” продавят через “руководство” OSM поменять в таком списке соответствия для неугодной им страны maxspeed на, допустим, 1000 км/ч, на нас никак это не отразится
И никто никакими сертификациями на соответствие требованиям OSM не сможет устанавливать свои правила - свобода.
По делу:
bridge должен повторять все свойства, совпадающие со свойствами дороги (покрытие, скоростные ограничения, т.д.)?
Можно ли для bridge получить name = “мост через crossing_river_name” ? Какой-нибудь тэг типа bridge_over=river, river_name=… ?
Есть две сущности. Первая: участок дороги с bridge = yes. У него все свойства дороги. Вторая – замкнутая линия с man_made = bridge или отношение с type = bridge. Для небольших мостов обычно не рисуется вообще.
Линия с bridge = yes должна пересекатся с другой линией – рекой, дорогой, железной дорогой. Например, линия highway = unclassified + bridge = yes +… пересекает waterway = river + name = Нева. name = Нева достаточно взять из второй линии. То, что мост через реку, понятно из waterway = river.