RU:Simple 3D buildings

From OpenStreetMap Wiki
Jump to: navigation, search
Доступные языки — Simple 3D buildings
· Afrikaans · Alemannisch · aragonés · asturianu · azərbaycanca · Bahasa Indonesia · Bahasa Melayu · Bân-lâm-gú · Basa Jawa · Basa Sunda · Baso Minangkabau · bosanski · brezhoneg · català · čeština · corsu · dansk · Deutsch · eesti · English · español · Esperanto · estremeñu · euskara · français · Frysk · Gaeilge · Gàidhlig · galego · Hausa · hrvatski · Igbo · interlingua · Interlingue · isiXhosa · isiZulu · íslenska · italiano · Kiswahili · Kreyòl ayisyen · kréyòl gwadloupéyen · Kurdî · latviešu · Lëtzebuergesch · lietuvių · magyar · Malagasy · Malti · Nederlands · Nedersaksies · norsk bokmål · norsk nynorsk · occitan · Oromoo · oʻzbekcha/ўзбекча · Plattdüütsch · polski · português · română · shqip · slovenčina · slovenščina · Soomaaliga · suomi · svenska · Tagalog · Tiếng Việt · Türkçe · Vahcuengh · vèneto · Wolof · Yorùbá · Zazaki · српски / srpski · беларуская · български · қазақша · македонски · монгол · русский · тоҷикӣ · українська · Ελληνικά · Հայերեն · ქართული · नेपाली · मराठी · हिन्दी · भोजपुरी · অসমীয়া · বাংলা · ਪੰਜਾਬੀ · ગુજરાતી · ଓଡ଼ିଆ · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · සිංහල · བོད་ཡིག · ไทย · မြန်မာဘာသာ · ລາວ · ភាសាខ្មែរ · ⵜⴰⵎⴰⵣⵉⵖⵜ ⵜⴰⵏⴰⵡⴰⵢⵜ‎ · አማርኛ · 한국어 · 日本語 · 中文(简体)‎ · 中文(繁體)‎ · 吴语 · 粵語 · ייִדיש · עברית · اردو · العربية · پښتو · سنڌي · فارسی · ދިވެހިބަސް

Эта страница описывает теги для основных 3D-свойств зданий. На странице F3DB приведены предложения по улучшенному 3D-тегированию.

Следующая методика тегирования является результатом 2nd 3D Workshop Garching, где большинство разработчиков 3D согласились с поддержкой унифицированного набора тегов в своих программах. В основном мы описываем объёмную форму здания, используя два типа полигонов. Building описывает всё здание сложной формы, а building:part — части здания, особенно с разной высотой или другими атрибутами.

Контур здания

Две building:part области внутри полигона здания

Контур здания рисуется как область (то есть замкнутая линия или мультиполигон), отмеченная тегом building=*. Этот контур представляет область земной поверхности под всеми частями здания, также называемую отпечатком (footprint) здания. Также на контуре здания должны быть указаны другие атрибуты, относящиеся ко всему зданию (адрес, название, общая высота, обслуживающая компания и т.д.). Каждое здание должно иметь только один контур building=*, разные здания не должны пересекаться.

Контур здания также предоставляет обратную совместимость для 2D-рендеров и пользователей данных, которым не требуется 3D-моделирование. Таким образом, эти потребители могут игнорировать все описанные ниже теги building:part=* и при этом всё равно получать всю необходимую для своих задач информацию.

Правила тегирования мультиполигонов требуют указания тегов на самом отношении, а не на линиях, из которых состоит мультиполигон.

Части здания

Если некоторые части здания building=* имеют разные свойства (например высоту), они могут быть обозначены дополнительными полигонами с тегами building:part=yes или building:part=тип building:part.

Заметьте, что если building=* содержит хотя бы одну область, отмеченную тегом building:part=*, то общий контур здания уже не берётся в расчёт при 3D-моделировании.

Есть три подхода тегирования здания building=* и его частей:

  • Полностью покрыть область, занимаемую контуром здания, полигонами building:part=yes. В зависимости от самого здания, такие полигоны могут перекрываться или быть разрозненными.
    По возможности избегайте использования тегов building:part на перекрывающихся в объёме частях, особенно когда при этом получаются общие поверхности (например фасады).
  • Использовать тег building:part=yes только на тех частях, которые отличаются по своим свойствам от остального здания.
    В этом случае необходимо использовать отношение building relation, где контур building=* входит с ролью outline, а части building:part=* — с ролью part.
  • Разделить здание на горизонтальные слои (этажи, расположенные друг над другом) и добавить к каждой части теги building:levels=*, building:min_level=*, height=* и min_height=*.

Отношение building

Отношение с тегом type=building группирует вместе контур всего здания и отдельные части здания. Настоятельно рекомендуется использовать это отношение, если есть хотя бы одна часть здания, отмеченная building:part. В противном случае картографическому приложению придётся возвращаться и искать части здания только в пределах контура здания. См. также предложения ProposedRoofLines#Building_Relation.

Теги для контуров и частей зданий

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

Высота

пример тегирования высот и этажей зданий
Ключ Комментарий
height=* Расстояние от самой нижней точки касания здания с землёй до вершины крыши здания, исключая антенны, шпили и другое размещённое на крыше оборудование.
min_height=* Примерное расстояние от нижней точки части здания до земли.

Обратите внимание, что даже при использовании тега min_height тег height всё также отмечает расстояние от земли до верхней точки здания. Так, "мост" между зданиями высотой 3 метра, у которого нижний край находится в 10 метрах над землёй, отмечается тегами min_height=10, height=13.

building:levels=* Количество этажей здания от уровня земли (без учёта этажей в крыше) для правильного текстурирования здания.

При тегировании в первую очередь старайтесь отмечать тег height, и лишь потом — building:levels=*.

building:min_level=* Количество этажей, на которое данная часть здания поднята над землёй, аналогично min_height.

Крыша

С помощью тега roof:shape можно охарактеризовать форму крыши, используя каталог известных типов крыш. Позже могут быть введены дополнительные формы крыш (S3DB_Proposals), включая улучшенные методы для ручного моделирования (например, ProposedRoofLines или части OSM-4D/Roof_table).

Image Roof0 0.jpg Roof1 0.jpg Roof2 0.jpg Roof2 3.jpg Roof2 4.jpg Roof2 5.jpg Roof4 0.jpg Roof4 2.jpg Roof5 6.jpg Roof8.jpg Roof5 0.jpg Roof3 1.jpg
roof:shape flat skillion gabled half-hipped hipped pyramidal gambrel mansard dome onion round saltbox
Ключ Комментарий
roof:orientation=along/across Для крыш с коньком по умолчанию подразумевается, что конёк параллелен самой длинной стороне здания (roof:orientation=along), но с помощью этого тега можно указать его направление явно
roof:height=* Высота крыши в метрах
roof:angle=* В качество альтернативы тегу roof:height=*, высота крыши может быть указана явно через угол наклона её скатов (в градусах)
roof:levels=* Количество этажей внутри крыши, которые ещё не были учтены в building:levels=*
roof:direction=* Направление от задней части крыши к передней, т.е. направление в сторону, куда "смотрит" основная поверхность крыши
roof:slope:direction=* Направление ската крыши (если оно не перепендикулярно коньку или свесу крыши)

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

Поверхности

Key Comment
building:colour=* Цвет фасада здания; см. возможные значения на странице colour=*
roof:colour=* Цвет крыши здания; см. возможные значения на странице colour=*
building:material=* Материал отделки фасада здания
roof:material=* Материал кровли здания

Районы для демонстрации

Примеры 3D

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

Location OpenStreetMap (2D) OSM2World (3D) OSMBuildings (3D) F4 Map(3D) OpenScienceMap osm2x3d (x3d)
Пассау (Германия) Ссылка Ссылка Ссылка Ссылка Ссылка Ссылка
Грац 1 (Австрия) Ссылка Ссылка Ссылка Ссылка Ссылка Ссылка
Грац 2 (Австрия) Ссылка Ссылка Ссылка Ссылка Ссылка Ссылка
Росток Зюдштадт (Германия) Ссылка Ссылка Ссылка Ссылка Ссылка Ссылка
Хаген (Германия) Ссылка Ссылка Ссылка Ссылка Ссылка Ссылка
Карлсруэ 1 (Германия) Ссылка Ссылка Ссылка Ссылка Ссылка Ссылка
Карлсруэ 2 (Германия) Ссылка Ссылка Ссылка Ссылка Ссылка Ссылка
Кётен 1 (Германия) Ссылка Ссылка Ссылка Ссылка Ссылка Ссылка
Кётен 2 (Германия) Ссылка Ссылка Ссылка Ссылка Ссылка
Кобург (Германия) Ссылка Ссылка Ссылка Ссылка Ссылка Ссылка
Лас-Вегас (США) Ссылка Ссылка Ссылка Ссылка Ссылка Ссылка
Лондон (Англия) Ссылка Ссылка Ссылка Ссылка Ссылка Ссылка
Нью-Йорк (США) Ссылка Ссылка Ссылка Ссылка Ссылка Ссылка
Феникс (США) Ссылка Ссылка Ссылка Ссылка Ссылка Ссылка
Сиракузы (США) Ссылка Ссылка Ссылка Ссылка Ссылка Ссылка
Лейпциг (Германия) Ссылка Ссылка Ссылка Ссылка Ссылка Ссылка
Бремен (Германия) Ссылка Ссылка Ссылка Ссылка Ссылка Ссылка
Шверин (Германия) Ссылка Ссылка Ссылка Ссылка Ссылка Ссылка
Чикаго (США) Ссылка Ссылка Ссылка Ссылка Ссылка Ссылка
Хельсинки (Финляндия) Ссылка Ссылка Ссылка Ссылка Ссылка Ссылка
Варшава (Польша) Ссылка (нет рендеринга) Ссылка Ссылка Ссылка Ссылка
Краков (Польша) Ссылка Ссылка Ссылка Ссылка Ссылка
Москва 1 (Россия) Ссылка Ссылка Ссылка Ссылка Ссылка
Москва 2 (Россия)

с использованием отношения type=building

Ссылка Ссылка
Красногорск (Россия) Ссылка
Баттикалоа (Шри-Ланка) Ссылка Ссылка Ссылка Ссылка Ссылка
Рейсвейк (Голландия) Ссылка Ссылка Ссылка Ссылка Ссылка

Примеры моделей

Терминология

Диаграмма основных элементов, образующих неровную крышу

Это изображение поможет понять некоторые архитектурные термины.

Поддержка в программных инструментах

Эта новая схема используется в следующих инструментах для работы с 3D:

  • OSM2World (частичная поддержка, сейчас внедряются оставшиеся возможности к версии 0.2.0) - см. slippymap
  • Kendzi3d (поддерживается) – плагин JOSM
  • OSM-3D (частичная поддержка, см. OSM-3D#Buildings)
  • Nutiteq Android 3D mapping SDK [1] (поддерживается большинство форм крыш)
  • WikiMiniAtlas (частичная поддержкатолько пирамидальные крыши)
  • OSMBuildings (частичная поддержка)
  • F4 Map – см. [2]
  • OpenScienceMap[3] на клиентской стороне интерпретируются только теги height/min_height, слой S3DB использует сетки vtm, сгенерированные на сервере (посредством plpgsql с PostGIS и SFCGAL)
  • OSG-Maps (частичная поддержка)
  • osm2x3d (частичная поддержка) – см. [[4]] и [[5]]
  • osmapa.pl – таблица стилей mapnik (частичная поддержка - поддерживается большинство форм крыш)