RU:OSM tags for routing

From OpenStreetMap Wiki
Jump to navigation Jump to search

Какие объекты карты из базы данных OpenStreetMap могли бы быть вам полезны при решении задач маршрутизации?

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

Одностороннее движение

Дорога является односторонней если и только если: (регистр значения не имеет)

и

  • "oneway"!="no" и
  • "oneway"!="false" и
  • "oneway"!="0"

(oneway=no может выставляться на некоторые highway=motorway)

area:highway=service/residential/unclassified/tertiary/secondary/primary/trunk

Тег area=yes может использоваться для обозначения некого пространства, например рыночной площади, при этом сочетание, например, area:highway=residential означает, что по данному пространству можно проехать на машине в любом направлении, от любой одной крайней точки до другой. (тег highway описывает роутинговую линию, а не полигон)

Такое тегирование не имеет проблем, возникающих при совместном использовании на полигонах тегов area=yes и, например, highway=residential.

Именование

Следующие теги могут содержать то или иное название дороги:

  • name=*, "name:<двухбуквенный-код-языка>", int_name, ...
  • ref=*, "nat_ref", "loc_ref", "int_ref"

См: именование

Существует также внешний xml-вебсервис, который может проделать поиск за вас.

Городские/загородные дороги

Нижеследующее представляет собой попытку составить алгоритм для определения

  • находится ли локация в пределах данного города/страны/почтовой зоны
  • какой город/страна/почтовая зона находится в данной локации

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

Город

Линия находится внутри административного образования, если и только если:

  • а) Она специально отмечена тегом is_in=*. (в России не принято использовать)
  • б) Она находится внутри полигона или мультиполигона
  • в) полигон Она не находится внутри полигона, но существует точка с тегом place=* внутри полигона, отмеченного тегом landuse=* со значением, отличным от "farm" (ферма), "quarry" (карьер), "forest" (лес) или "water" (водоём) и линия находится внутри комбинации этого полигона и всех пересекающихся с ним или расположенных рядом полигонах подобного рода (такое довольно сложно внедрить, но это вполне действенно)
  • г) точка Ничего из вышеперечисленного, но есть точка с тегом "place"= менее чем в XX километрах от данной линии.

Для случая (г) существенными вариациями являются:

  1. расстояние вокруг точки задано тегом радиуса в метрах или километрах.
  2. при отсутствии тега радиуса, вот значения по умолчанию:
Тег Элемент Радиус
place=continent точка не нужен, у континентов уже должны быть полигоны границ
place=country точка не нужен, страны уже должны иметь полигоны границ
place=state точка не нужен, штаты, области или иные подобные административные единицы должны иметь полигоны границ
place=region точка 500 км
place=county точка 200 км
place=city точка 10 км
place=town точка 5 км
place=village точка 1 км
place=hamlet точка 300 м
place=suburb точка 300 м
place=island точка не нужен, острова должны иметь очерченный полигон береговой линии

Почтовый индекс

Страны

Это тема всё ещё обсуждает в списке рассылки OSM-Dev.

Текущий прогресс задокументирован в статье Tagging Country Borders.

Дороги

Только линии, помеченные тегом highway=*, являются дорогами (роутинговыми линиями), по которым может осуществляться маршрутизация автомобильного, мотоциклетного и пешего движения.

При построении маршрутов для транспортных средств избегайте значений "footway", "pedestrian", "steps", "gate", "stile", "cattle_grid", "viaduct" и учитывайте ограниченность использования "ford", "service"/"services" при прокладке пути.

Дорожные сигналы

Стоит ограничивать предельно допустимую скорость в местах пересечения линии дороги с точками, помеченными highway=traffic_signals, highway=stop, barrier=toll_booth, traffic_calming=* также как и incline=*.

Ограничения доступа

Значения ограничения доступа по умолчанию для каждого типа транспортных средств и каждого типа дороги задокументированы в Access-Restrictions.

Для вычисления ограничений доступа при наличии на пути смеси значений по умолчанию и конкретизированных данных, см. Computing access restrictions.

Ограничения направления движения

Ограничения различных видов поворотов на перекрёстках задокументированы в RU:Relation:restriction.

Ограничения скорости

Если максимально допустимая скорость не задана специально при помощи maxspeed=* см. соответствующий параграф.

Маршрутизация к почтовому адресу

См. addr:*=* для детальной информации об адресах.

Дальнейшее чтение