RU:Общественный транспорт
20 апреля 2011 года было принято предложение новой схемы тегирования общественного транспорта. Из-за этого, а также из-за огромного размера и сложности предыдущей инструкции, пришло время рассказать о рисовании ОТ по шагам.
Пути
Разные виды транспорта используют свои пути. Автобусы и троллейбусы, например, ездят по обычным дорогам highway=*. Если вы уже озаботились общественным транспортом, то все дороги в вашем городе уже, должно быть, нарисованы. Троллейбусные маршруты со стороны заметны по двойным проводам над дорогой: их обозначают тегом trolley_wire=yes.
Трамвай ездит по рельсам railway=tram. Есть разновидность трамвая, так называемый лёгкорельсовый транспорт: его пути обозначаются тегом railway=light_rail. В отличие от трамвайных, они обычно выше качеством и редко идут посередине улицы. Все пути нужно рисовать отдельной линией, иначе некоторые теги будут непонятно к чему относиться: например, construction=*. Если одна линия обозначает сразу несколько путей, нужно поставить тег tracks=*, в котором указать их количество.
Линии метро обозначаются railway=subway и, обязательно, tunnel=yes/no. Для подземных его отрезков также обычно добавляют layer=-5, чтобы оно наверняка было глубже всего. Относительно подробное описание обозначений элементов есть на отдельной странице, но ввиду разногласий по поводу расположения точек входов в метро она не считается догмой.
Один из видов метро — монорельс, railway=monorail. Для него всё так же, как и для метро, только без туннелей и с обязательным указанием типа: monorail=hanging или monorail=magnetic.
Электрички ездят по обычным железнодорожным путям railway=rail, которые у вас тоже все должны быть нарисованы. Любители железных дорог придумали много дополнительных тегов для путей, самыми важные из них — tracks=*, usage=*, service=* и electrified=*.
Наконец, паромы и водное такси хоть и могут ходить где угодно в пределах реки или моря, часто движутся по определённым маршрутам, обозначаемым waterway=ferry_way.
Остановки
Остановка — это комплекс из:
- столба с аншлагом (маршрутной табличкой);
- павильона со скамейкой и урной (иногда отсутствует);
- площадки, где пассажиры ждут транспорт;
- места, где этот транспорт останавливается.
На обозначение всего этого разнообразия у нас есть всего два тега: public_transport=platform и public_transport=stop_position. До принятия схемы этих тегов было, конечно, больше, и каждый был неоднозначен. Например, по простому highway=bus_stop долго шли споры, ставить его на дороге или на тротуаре. У новых тегов пока что, конечно, есть серьёзный минус: они не обрабатываются популярными рендерерами. Поэтому их можно дублировать старыми, которые мы здесь же вспомним.
Теги
Общие теги для всех элементов этой группы:
Тег | Значение | Описание |
---|---|---|
name | название | Название остановки (обычно написано на аншлаге). |
name:<оператор> | сетевое название остановки | Название остановки, как оно указывается у оператора или внутри сети. Рекомендуется, если разные компании называют остановку по-разному. <оператор> записывается так же, как в отношениях маршрутов (см. ниже). |
ref | идентификатор | Идентификатор или номер остановки. В России встречается редко. |
ref:<оператор> | идентификатор остановки в сети | Если у какой-то сети есть внутренние идентификаторы или номера остановок, они записываются в этот тег. |
uic_ref | идентификатор UIC | Идентификатор остановки в базе UIC. |
uic_name | название UIC | Название остановки согласно базе UIC. |
esr:user | идентификатор ЕСР | Идентификатор остановки согласно Единой сетевой разметке (для железных дорог). Обычно не нужен, ставится только в случае расхождения названия остановки в базе и на местности. |
operator | оператор | Название компании, которой принадлежит остановка. |
network | локальная / региональная сеть | Название сети, которой принадлежит остановка. |
Точка остановки
Отмечаются как точка public_transport=stop_position прямо на линии дороги. Это ровно то место, где останавливается автобус или трамвай.
Тег | Значение | Описание |
---|---|---|
public_transport | stop_position | Обозначает точку, где останавливаются транспортные средства. |
train | yes / no | Остановка поезда? (этот и последующие теги рекомендуются в случае положительного ответа) |
subway | yes / no | Остановка метро? |
monorail | yes / no | Остановка монорельса? |
tram | yes / no | Остановка трамвая? |
bus | yes / no | Остановка автобуса |
trolleybus | yes / no | Остановка троллейбуса? |
share_taxi | yes / no | Остановка маршрутного такси? |
aerialway | yes / no | Остановка канатной дороги? |
ferry | yes / no | Остановка водного такси? |
Место посадки
Это линия или область
вдоль дороги, где пассажиры ждут общественный транспорт. Если на деле никакой платформы нет, можно поставить точку
в месте знака остановки.
Тег | Значение | Описание |
---|---|---|
public_transport | platform | Линия или область — обозначает платформу, точка — знак остановки. |
area | yes / no | Является ли платформа областью (обязательность под вопросом). |
shelter | yes / no | Есть ли павильон, не отмеченный отдельно как amenity=shelter + shelter_type=public_transport. |
bench | yes / no | Есть ли скамейка, не отмеченная отдельно как amenity=bench. |
bin | yes / no | Есть ли мусорный бак, не отмеченный отдельно как amenity=waste_basket. |
covered | yes / no | Для подземных платформ (например, метро). Этот тег не отменяет необходимости прописать правильный layer=*. |
Станция
Станции несложно отличить по:
- размеру: сильно больше обычной остановки, часто целое здание или несколько их;
- количеству выделенных линий для общественного транспорта;
- запрету доступа для личного автотранспорта, часто рядом оборудована стоянка;
- дополнительным удобствам для пассажиров: зал ожидания, туалет, киоски, информационная стойка.
На карте станции обводятся областью , включающей в себя все станционные объекты. Если станция помещается в одном здании, то теги ставятся прямо на это здание. Если контур станции неясен, можно отметить её точкой
, оставив работу по уточнению другим.
Тег | Значение | Описание |
---|---|---|
public_transport | station | Определяет, что это станция. |
building | yes / no | Если контур станции является также контуром здания, в котором она находится. |
area | yes / no | Является ли контур станции областью, но не зданием (обязательность под вопросом). |
covered | yes / no | Для подземных станций. Этот тег не отменяет необходимости прописать правильный layer=*. |
Отношение
Наконец, все элементы одной остановки можно объединить в отношение с тегами type=public_transport, public_transport=stop_area, которому передать все общие теги из первой таблицы, не дублируя их в разных объектах. Кроме того, в него можно добавить остальные элементы, считающиеся частью остановки, но обозначенные отдельно: amenity=shelter, amenity=bench, amenity=waste_basket и тому подобные. Роли такие:
Роль | Для объектов с тегами | Описание |
---|---|---|
stop | public_transport=stop_position | место остановки транспортного средства |
platform | public_transport=platform | платформа, павильон или знак остановки |
пустая | public_transport=station | станция, если она считается частью остановки |
пустая | amenity=* | примеры: shelter, bench, bicycle_parking, taxi |
Как было
Новые теги не заменяют, но дополняют старые. При этом они более конкретны, поэтому рекомендуется пользоваться новыми, чтобы избежать возможных двузначностей и споров.
Раньше ставили | Теперь так | Что это обозначает |
---|---|---|
highway=bus_stop рядом с дорогой, по которой ездят автобусы | highway=bus_stop + public_transport=platform | Знак остановки или павильон, часто ставится на footway. |
highway=bus_stop точкой в линии дороги | public_transport=stop_position + bus=yes | Здесь останавливаются автобусы. |
amenity=bus_station точкой рядом с дорогой | highway=bus_stop + public_transport=platform | Знак или павильон автобусной остановки. |
amenity=bus_station точкой в линии дороги | public_transport=stop_position + bus=yes | Здесь останавливаются автобусы. |
amenity=bus_station на области | public_transport=station + area=yes | Границы автобусной станции. |
amenity=bus_station на здании | public_transport=station + building=yes | Здание автобусной станции. |
highway=platform | public_transport=platform | Длинная остановка. |
railway=tram_stop точкой на рельсах | public_transport=stop_position + tram=yes | Точка остановки трамвая. |
railway=halt точкой на рельсах | public_transport=stop_position + train=yes | Точка остановки поезда или электрички. |
railway=platform | railway=platform + public_transport=platform | Железнодорожная платформа. |
railway=station на области | public_transport=station + area=yes | Границы железнодорожной станции. |
railway=station на здании | public_transport=station + building=yes | Здание железнодорожной станции. |
building=train_station | public_transport=station + building=yes | Тоже здание железнодорожной станции. |
railway=station до сих пор мог обозначать что угодно, вплоть до обычной остановки поезда. Теперь станция состоит из трёх частей: платформы, точки на путях, где останавливается поезд, и здания или территории станции. При рисовании станций одной точкой разница между ними и остановками railway=halt стирается.
Примеры
Много примеров есть на странице предложения. Здесь мы подойдём с позиции полевого маппера и научимся распознавать теги с фотографий.
Простая остановка
Чаще всего за городом, в любой стране, автобусные остановки предельно просты: один знак и всё. Вот так (все картинки в этом разделе увеличиваются):
Платформы здесь, очевидно нет. Как рисовать? Во-первых, на линии дороги напротив знака нужно добавить «точку остановки», где останавливается автобус, и указать ей метки:
public_transport=stop_position name=Ʃƴƽaƞo bus=yes
(я не разобрал, что написано на знаке, но примерно так, наверное). Как видно, есть тег stop_position, который обязателен. Есть name, который желателен, если нет отношения stop_area. Изо всех «общих тегов» он самый желательный, скажем так. Наконец, список видов транспорта, что здесь останавливаются, состоит из одного пункта: автобуса.
Вдоль дороги идёт highway=footway (возможно, с footway=sidewalk), а знак находится где-то в траве. Но мы сделаем вид. что он стоит прямо на тротуаре, и поставим точку рядом с ним в линии тротуара. Если последнего нет — то просто рядом с дорогой, аккурат на знаке. Это будет «место посадки»: рядом теоретически толпятся пассажиры и ждут автобуса. Теги такие:
public_transport=platform highway=bus_stop name=Ʃƴƽaƞo
Про platform вы уже прочитали: в отсутствие платформы его ставим на место знака остановки. name — понятно, те же аргументы, что для предыдущей точки. Тег highway=bus_stop проставляется по той причине, что новая схема дополняет существующие теги, не заменяя старые. Есть разные мнения насчёт куда ставить bus_stop, но обычная практика — рядом с дорогой, как раз на знак.
Двойная остановка
Теперь задача посложнее. Рядом со станцией метро «Площадь Александра Невского» в Петербурге есть такая остановка автобусов и троллейбусов:
Маршруты
Направление
Каждое направление и каждая альтернативная нить маршрута делается отдельным отношением . Отношение содержит все остановки, на которых останавливается транспорт, и все линии путей, по которым он едет. Объекты остановок добавляются по порядку следования в маршруте, парами: сначала stop_position с ролью stop, затем platform с ролью platform. После всех остановок в отношение добавляются линии маршрута с пустыми ролями, тоже по порядку, от начала к концу.
Если остановка служит только для высадки пассажиров, её элементы добавляются с ролями stop_exit_only и platform_exit_only. Аналогично, если на остановке разрешена только посадка, роли будут stop_entry_only и platform_entry_only.
Теги отношения одного направления:
Тег | Значение | Описание |
---|---|---|
type | route | Отношение определяет одно направление маршрута |
route | train / subway / monorail / tram / bus / trolleybus / share_taxi / aerialway / ferry | Обозначает маршрут поезда, метро, монорельса, трамвая, автобуса, троллейбуса, маршрутного такси, канатной дороги или водного такси. |
from | откуда | Начальная остановка направления маршрута. |
to | куда | Конечная остановка направления маршрута. |
via | промежуточные остановки | Если есть несколько вариантов маршрута, сюда записываются основные остановки этого варианта, чтобы отличать его от остальных. |
name | <Тип транспорта> <номер маршрута>: <начальная остановка> — <конечная остановка> | Описание направления маршрута. Пример: Автобус 47: Менделеевская линия — Наличная улица. |
Теги, относящиеся ко всему маршруту. Желательны, если направления не объединены в отношение (см. ниже).
Тег | Значение | Описание |
---|---|---|
ref | номер | Идентификатор или номер маршрута. |
ref:<оператор> | номер маршрута в сети | Если вдоль маршрута номер меняется в зависимости от оператора, это можно записать сюда. |
operator | оператор | Название компании, которая обслуживает маршрут. |
network | локальная / региональная сеть | Название сети, которой принадлежит маршрут. |
colour | цвет | Цвет маршрута или его направления (html-названием или в формате #rrggbb). |
Роли членов отношения таковы:
Роль | Для объектов с тегами | Описание |
---|---|---|
stop stop_exit_only stop_entry_only |
public_transport=stop_position | точки остановки по порядку от from=* к to=*, после которых вносятся соответствующие платформы (если есть). |
platform platform_exit_only platform_entry_only |
public_transport=platform | места посадки (платформы или знаки остановки) по порядку от from=* к to=*, предваряемые соответствующими точками остановки. |
пустая | все линии ![]() |
по порядку от from=* к to=*, обозначают непрерывную ветку направления маршрута, по которой движутся транспортные средства. |
Маршрут
Если у маршрута несколько направлений (классический случай — «туда» и «обратно»), то их можно объединить в одно отношение type=route_master. Отношения направлений добавляются в качестве членов с пустой ролью.
Тег | Значение | Описание |
---|---|---|
type | route_master | Отношение обозначает маршрут и содержит его направления. |
route_master | train / subway / monorail / tram / bus / trolleybus / share_taxi / aerialway / ferry | Обозначает маршрут поезда, метро, монорельса, трамвая, автобуса, троллейбуса, маршрутного такси, канатной дороги или водного такси. |
name | <Тип транспорта> <номер маршрута> | Краткое описание маршрута. Пример: Автобус 47. |
Остальные теги перечислены в таблице выше, для всего маршрута. Разумеется, при наличии этого отношения их можно не ставить на каждое направление.
Примеры
Раздел пока не готов. Но в базе уже много примеров — например:
г. Москва, автобус №157:
Прямой Прямой
Обратный
Обратный
Мастер
Мастер
г. Москва, троллейбус №2:
Прямой Прямой
Обратный
Обратный
Мастер
Мастер
Пошаговая инструкция создания правильного маршрута от Trolleway: User:Trolleway/Ввод маршрутов ОТ
Ссылки
- Proposed features/Public Transport
- RU:Public transport
- Упрощёное руководство по пользованию этой схемой
- RU:Рисование общественного транспорта по схеме Oxomoa
- Требования к маршрутам latlon.org/pt
- Плагин JOSM для редактирования остановок
- Osmand:Руководство для общественного транспорта. - руководство по внесению и исправлению общественного транспорта