RU:Proposed features/Street area

From OpenStreetMap Wiki
Jump to navigation Jump to search
Street area
Статус: Draft (under way)
Предложена: Marek_kleciak
Схема тегирования: *=*
Используется на элементах: TBD
Определение: Обозначение дорог как поверхностей и картирование деталей
Statistics:

В черновиках с: 2011-05-13

Основная идея

Дороги должны иметь двойное представление:

1. Полилинии для прокладывания маршрутов.

2. Полигоны для визуализации и продвинутого прокладывания маршрутов (отработанный алгоритм в компьютерных играх).

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


Опираясь на эту концепцию улиц можно добиться их детального отображения на крупных уровнях масштабирования. То же относится и перекрёсткам, парковкам и служебным проездам. Пример того, как могут быть показаны зоны обслуживания:

MarekExampleStreetAreaInOSM.jpg

Тегирование

Существующая практика, highway=* вместе с area=yes может быть расширена до обозначения площади улицы с помощью тегов:


полигон

area:highway=yes

area:crossing=yes

area:sidewalk=yes


Опционально, но не обязательно, потому что основная информация уже заложена в аттрибутах highway=*:

area:highway=residential

area:highway=service

area:highway=bridge

И т. д.


Что не обязательно? Название улицы name=* количество полос, покрытие, качество покрытия, максимальная скорость, адресная информация и пр. Эти аттрибуты чать информации линий с тегом area:highway=yes.

Детальное описание

Текущая практика

Улицы обозначаются только полилиниями. (Осевая линия улицы)

StreetsLogicalLevel.JPG

Минусы:

  • Дорога не может быть нормально показана площадным объектом.
  • Для визуализации можно использовать только простые теги ширины width=* и количества полос lanes=*.
  • Требуется систематизация. Продвинутые техники тегирования сложны для начинающих.
  • Ошибки при введении неправильной ширины улицы всплывают только после визуализации.
  • Некорректное отображение на высоких уровнях масштабирования.

Площади улиц

Принцип водопровода

MarekPlumberPrinciple.jpg Поверхность делится на обычные протяжённые участки улицы и перекрёстки (трубы и муфты).

Этот принцип должен использоваться, когда 3 или более полилиний встречаются в одной точке (перекрёсток).

Использование "Принципа водопровода" для обозначения является главным отличаем от похожего предложения:

http://wiki.openstreetmap.org/wiki/Proposed_features/area:highway


Причины для применения "принципа водопровода"

Более гибкие возможности визуализации, особенно для:

  • Пешеходной навигации.
  • Ускоренная 3Д визуализация. Разделение больших площадей на небольшие сегменты = меньше тяжёлых элементов в кеше = лучше производительность в приложениях 3Д визуализации.
  • Более подробные карты: навигация с перекрёстками, приближенными к реальным.
  • Оптимизация 3Д моделей поверхности земли. (Перекрёстки чаще всего плоские и горизонтальные. Это может быть использовано для более реалистичной 3Д визуализации).
  • Улучшенные голосовые подсказки для навигационных систем. См. детали: (скоро будут)


  • Визуализация мостов with more separates lanes can be optimized in high zoom levels by use of this concept:

F3DBbridgeOldApproach.JPG

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

F3DBbridgeTopViev.JPG

Подход с использованием полигонов: Показ реального контура моста на высоких уровнях масштабирования. Также возможно использование как части 3Д конструкции моста. См.: [1]

Пример

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

MarekStreetsasfacesWithPointsLegend2.jpg

Использование принципа водопровода для улучшения визуализации

Логические точки соединения

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

Streetsasfacesconnection.jpg

Примеры (предварительный вариант руководства по тегированию)

Легенда:

  • синяя точка = Точка соединения линий
  • чёрная точка = Точка логического пересечения линии и полигона "K" (обязательна!)
  • синяя линия = Центр дороги
  • красная линия = Замкнутый контур улицы или перехода

Пожалуйста, обратите внимание:

  • Ориентация "красной линии" слева и справа от точки "K" может быть отлично от 90°.

Направление показывает истинное расположение стоп-линии на поверхности дороги.

  • Точка "K" обычно совпадает с "стоп линией": highway=stop


MarekStreetAreaMappingGuidelineExample1.jpg

Необходимые ограничения

- Стыкующиеся улицы должны иметь общие точки - Точки K лежащие на центральной линии (красная линия на картинке) должны входить в полигоны контуров улиц.

Предложения по тегированию точки K

highway=stop или ничего если в этом месте не нужно останавливаться:


Тэг Использование Тип Значение Описание
highway=stop необходимо точка yes Точка, в который начинается или заканчивается перекресток.
left=* возможно точка none, solid_line, giveway_line, или другие значения в зависимости от страны Часть линии на границе перекрёстка слева от разделительной линии если смотреть лицом к перекрёстку
right=* возможно точка none, solid_line, giveway_line, или другие значения в зависимости от страны Часть линии на границе перекрёстка справа от разделительной линии если смотреть лицом к перекрёстку

Типы полос, которые будут использованы для отображения точки K

  • none - Нет разделителя.
  • solid_line - Сплошная линия

MarekLineSolid.jpg

  • giveway_line - стоп линия или линия где нужно остановится чтобы уступить дорогу (возможны варианты в зависимости от страны)

StopAndGiveWayLine.JPG Обратите внимание: в некоторых странах возможны различные варианты символов дорожной зазметки на перекрёстках (в т.ч. цвет). Эти символы можно добавить в список выше для улучшения визуализации.

Другие возможные разделители на улице

  • double_line - двойная сплошная линия

MarekLineDoubleSolid.jpg

  • solid_dashed_line - «двойная — сплошная, рядом прерывистая»

MarekLineSolidDashed.jpg

  • dashed_line - прерывистая линия

MarekLineDashed.jpg

Обе следующие точки слева и справа от K на контуре улицы должны быть частью внешнего контура улице.

В: Почему нужно добавлять общую точку K для срединной линии и линии контура? Можно как-то определить линю, чтобы она была под прямым углом?

О: Очень часто линии на перекрестке, пересекаются не под прямым углом, так что это единственный способ передачи топологии.

Визуализация

In Verbindung mit der bekannten Anzahl der Spuren die, wie bisher, an einer Way gespeichert sind, sowie der Information über die Art der Umrandung der Areas ( entsprechende Tags müssen her, z.B.: solid line, dashed line) kann ein realitätsnahes Bild des Straßenraumes mit der Straßenbemalung gerendert werden. Die Voraussetzung dafür ist das entsprechende Taggen von dem Punkt K. Dieser Tag hebt im Renderingprozess die Taggingwerte für die Außenkanten der Straßenfläche von dem Punkt K-1 bis K+1 und ersetzt diese durch einen bzw. zwei Tags die an den Punkt K angehängt werden.

Somit können z.B. die Stopplinien oder andere länderspezifische Symbole vor der Kreuzung gerendert werden.

Простой пример

RenderingMockupPlumberPrinciple.JPG Контуры RenderingMockupPlumberPrincipleKtagging.JPG Тегирование точки K

with red lines left and right = solid_line tagged as highway=stop, K point with green lines left and right = as result for no tagging.

RenderingMockupPlumberPrincipleRendered.JPG итоговое представление

Более сложный пример

MarekStreetRenderingWithoutLinesNew.jpg

Обратите внимание: точка К на примере выше имеет одинаковые значения для левой и правой сторон, за исключением stop-точки на T-образном перекрёстке справа снизу или слева вверху.

Эта точка должна тегироваться как: right=solid_line. left=none не обязательно,

shows on the other hand another: я знаю эту ситуацию, это не ошибка, здесь ничего не забыли.

Возможное представление с использованием прочих элементов карты

MarekGeneralizationCrossingwithSurfaces0.jpg A. Сырые данные.

MarekGeneralizationCrossingwithSurfaces1.jpg B. Пример визуализации, только площади.

MarekGeneralizationCrossingwithSurfaces2.jpg C. Пример визуализации, дополнительно площади стоянок и деревья с полупрозрачностью и диаметром кроны.

MarekGeneralizationCrossingwithSurfaces3.jpg C. Пример визуализации, дополнительно пешеходные переходы с использованием направлений движения для правильного отображения разметки типа "зебра" .

MarekGeneralizationCrossingwithSurfacesNow.jpg D. Пример визуализации сейчас...

Тегирование точки K. Комментарии

Отсутствие тегов Слева: или Справа: означает: отсутствие специальной разметки слева и справа от точки K. Прилегающие участки образуют единую поверхность одного цвета.


Q: Which area:highway values should be used, when several different types of road meet, e.g. crossing of secondary and residential road? should area of residential road be splitted? Or one new mix tagging should be used?

A: The rendering of streets as surfaces, does not need such attribution, because the logical representation level; with roads drawn as centerlines, already contains this information

The attributtation with values: secondary, residential is used for correct rendering of streets as midlines. The area representation as proposed here, does not require in principle an additional information.

См. также