RU:Simple 3D buildings

From OpenStreetMap Wiki
(Redirected from RU:Simple 3D Buildings)
Jump to: navigation, search
Доступные языки — Simple 3D buildings
· Afrikaans · Alemannisch · aragonés · asturianu · Aymar aru · azərbaycanca · Bahasa Indonesia · Bahasa Melayu · bamanankan · 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î · Latina · latviešu · Lëtzebuergesch · lietuvių · Limburgs · magyar · Malagasy · Malti · Nederlands · Nedersaksies · norsk · 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 · Türkmençe · Vahcuengh · vèneto · walon · Wolof · Yorùbá · Zazaki · isiZulu · српски / srpski · авар · Аҧсшәа · башҡортса · беларуская · български · қазақша · Кыргызча · македонски · монгол · русский · тоҷикӣ · українська · Ελληνικά · Հայերեն · ქართული · नेपाली · भोजपुरी · मराठी · संस्कृतम् · हिन्दी · অসমীয়া · বাংলা · ਪੰਜਾਬੀ · ગુજરાતી · ଓଡ଼ିଆ · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · සිංහල · བོད་ཡིག · ไทย · မြန်မာဘာသာ · ລາວ · ភាសាខ្មែរ · ⵜⴰⵎⴰⵣⵉⵖⵜ · አማርኛ · 한국어 · 日本語 · 中文(简体)‎ · 中文(繁體)‎ · 吴语 · 粵語 · ייִדיש · עברית · اردو · العربية · پښتو · سنڌي · فارسی · ދިވެހިބަސް

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

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

  1. контур здания (building=*) — для описания области самого здания со сложной формой
  2. часть здания (building:part=*) — для описания частей здания, особенно тех, у которых отличается высота или другие характеристики.


Как обозначить

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

Два полигона building:part (зелёные) внутри полигона здания (красного)

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

Характеристики, относящиеся ко всему зданию (адрес, название, общая высота, обслуживающая компания и т.д.), должны быть указаны на контуре здания.

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

Exclamation.svg Каждое здание должно иметь только один контур building=*, разные здания не должны пересекаться.

Части здания

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

Весь контур здания заполняется полигонами building:part=*, с тегами соответствующей им высоты и другими атрибутами. Эти полигоны могут перекрывать друг друга или могут быть разрознены, в зависимости от того, какое это здание. (В то время как 2D полигоны (? о каких footprints речь в контексте частей здания?) могут и часто должны перекрываться, избегайте перекрывающихся объёмов 3D частей, особенно если у этих объемов имеются общие грани.)

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

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

Отношение building

Если хотя бы одна часть здания нависает над поверхностью земли или если здание имеет сложную форму с множеством частей, то отношение с типом type=building может быть использовано для группировки вместе контура здания и всех его частей. В противном случае, нет необходимости в создании такого отношения, т.е. просто отрисуйте все части здания внутри контура здания как это описано выше.

Если отношение type=building создано, то все части здания должны быть перечислены в нём как участники отношения с ролью part. Контур здания должен быть участником отношения с ролью outline. Части здания могут быть расположены любым возможным способом (внутри, снаружи, пересекаясь, касаясь) относительно контура здания при наличии отношения type=building.

Если отношение type=building отсутствует, приложениям следует рассматривать все части здания внутри контура здания как части этого здания.

Exclamation.svg Смотрите также предложения 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).

Рисунок Roof0 0.jpg Roof1 0.jpg Roof2 0.jpg Roof2 3.jpg Roof2 4.jpg Roof2 5.jpg
roof:shape flat skillion gabled half-hipped hipped pyramidal
Рисунок Roof4 0.jpg Roof4 2.jpg Roof5 6.jpg Roof8.jpg Roof5 0.jpg Roof3 1.jpg
roof:shape 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=* Направление крыши от верхней части к низу. Т.е. в направлении, куда смотрит основная грань крыши. Смотрите иллюстрацию ниже. Значения согласно direction=*.

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

Цвет поверхности и материал

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

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

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

Edit this table

Location OpenStreetMap OSM2World OSMBuildings F4 Map OpenScienceMap OSM go Mapbox GL Tangram Blicky
Greece Athena View in 2D N/A View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Germany Bremen View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
United States Chicago View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
United States Cincinnati View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Germany Coburg View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Austria Graz View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Austria Graz 2 View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Austria Graz 3 View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Germany Hagen View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Finland Helsinki View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Spain Huesca View in 2D N/A View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Germany Karlsruhe, Fernmeldeturm View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Iceland Kópavogur, Smárar View in 2D N/A View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Germany Köln, Dom View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Germany Köln, Funkturm View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Germany Köln, Rheinauhafen View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Germany Köln, Wohngebiet in Neuehrenfeld als "Labor" View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Germany Köthen View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Germany Köthen 2 View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Poland Kraków View in 2D N/A View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
United States Las Vegas View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Germany Leipzig View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Peru Lima View in 2D N/A View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
United Kingdom London View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Poland Lwówek Śląski View in 2D N/A View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Russia Moscow View in 2D N/A View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Russia Moscow 2

with type=building relation

View in 2D N/A View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
United States New York City View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
France Paris, Eiffel Tower View in 2D N/A View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Germany Passau View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
United States Phoenix (Arizona) View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Netherlands Rijswijk View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Germany Rostock, Südstadt View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
United States San Jose (California) View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Brazil São Paulo View in 2D N/A View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Germany Schwerin View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Singapore Singapore View in 2D N/A View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Germany Stadum View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
United States Syracuse (New York) View in 2D View in 3D View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Japan Tokyo, Nishi-shinjuku View in 2D N/A View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Japan Tokyo, Odaiba View in 2D N/A View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Canada Toronto View in 2D N/A View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Norway Trondheim View in 2D N/A View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Poland Warsaw View in 2D N/A View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D
Venezuela Ciudad Guayana View in 2D N/A View in 3D View in 3D View in 3D

View in 3D Drive in 3D Fly in 3D

View in 3D View in 2.5D View in 3D

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

Поддержка в программном обеспечении

Основная статья: RU:3D development

Множество карт и инструментов имеют поддержку схемы тегирования домов simple 3D. Среди них были: OSM-3D.org рендерер в 2009, OSM2World рендерер, Kendzi3D плагин для JOSM в 2011 и Nutiteq Android 3D Mapping SDK (теперь Carto Mobile SDK) и WikiMiniAtlas в 2012. OSMBuildings запустил 2.5D отображение в 2012, перейдя на отображение в 3D в 2015. В 2013 F4 Map стал первым рендерером, полностью поддерживающим схему тегирования домов simple 3D.

Инструменты редактирования

Название ПО Платформа Поддержка схемы Лицензия Заметки
Kendzi3d Windows, macOS, Linux да BSD JOSM plugin
SketchOSM Windows частично Proprietary SketchUp plugin in beta

Картографические приложения

Название приложения Платформа Поддержка схемы Лицензия Заметки
CartoType Maps App Windows, Linux, Macintosh частично Proprietary but unrestricted use A free demonstration application for the proprietary CartoType library. The CartoType GL version implements most roof shapes. Includes a style sheet editor.
F4 Map Web да Proprietary Demo Web Map with rendering and scene support
Mapbox Static API Web частично BSD Requires a free Mapbox Studio account.
OpenScienceMap Web частично LGPL Interprets only height/min_height tags client-side. The S3DB Layer uses vtm meshes generated on the server (using plpgsql with PostGIS and SFCGAL). Web map
OSG-Maps Android частично Proprietary
OSM2World Web частично LGPL Currently implementing the remaining features for the 0.2.0 release - slippymap (Germany only)
OSM-3D.org Web частично see OSM-3D#Buildings
osmapa.pl Mapnik stylesheet Web частично most roof types implemented in 2.5D view
OSMBuildings Web частично BSD
OSM go Web частично GPL Only pyramidal and dome (yet, flat is default)
WikiMiniAtlas Web частично GPL only pyramidal roofs

Картографические фреймворки

Основная статья: Frameworks
Название ПО Платформа Язык Поддержка схемы Лицензия Заметки
Carto Mobile SDK Android, iOS, Windows Phone Java, Objective-C++, Swift, C# частично BSD most roof shapes supported; see Carto's documentation
CartoType for Android Android Java частично Proprietary Most roof shapes supported.Styles can be controlled using CartoType's XML style sheets. Uses OpenGL ES graphics acceleration. Viewing angle, height, field of view, etc., can be modified.
CartoType for iOS iOS Objective C, Swift
CartoType for C++ Windows, Linux, OS X (Macintosh) C++
CartoType for .NET Windows C#, VB.NET and other .NET languages
CartoType for Qt Qt on Windows, Mac (OS X) and Linux C++
Mapbox GL JS Web JavaScript частично BSD Options for customizing 3D building display are included in the Mapbox Style Specification. (See Mapbox's blog post announcing GL JS support.)
Mapbox Android SDK Android Java
Mapbox iOS SDK iOS Objective-C, Swift, Interface Builder
Mapbox macOS SDK macOS Objective-C, Swift, Interface Builder, AppleScript
Mapbox Qt SDK Qt C++, QML
Mapbox Unity SDK Cross-platform C# Apache
node-mapbox-gl-native Node.js JavaScript BSD
osm2x3d Web частично Unknown see also [1] and [2]
OSMBuildings Web JavaScript частично BSD 2.5D and 3D versions available
Tangram Web JavaScript частично MIT Mapzen renders 3D buildings in Tangram and other products
Tangram ES Android, iOS, Linux, macOS C++
VTM Android, iOS, Web Java частично LGPL Part of the mapsforge project.

Инструменты разработки

Название ПО Платформа Поддержка схемы Лицензия Описание
blender-osm Windows, macOS, Linux частично GPL One click download and import of OpenStreetMap and terrain. Can import more than 100,000 buildings. A large number of roof shapes is supported: flat, gabled, hipped (for a quadrangle outline only), mono-pitched, half-hipped, round, pyramidal, gambrel, dome, onion and saltbox.
Mapbox Studio Web частично Proprietary Includes a Mapbox GL style editor that supports building (part) heights.
Maputnik Web частично MIT A Mapbox GL style editor that supports building (part) heights.
Tangram Play Web частично MIT A Tangram scene editor that supports extruded buildings with heights based on OSM data.

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

Изображения могут помочь Вам понять некоторые архитектурные термины:

Английский термин Русский термин
ridge конёк
hip наклонное ребро
valley разжелобок (ендова)
gable торцевая часть крыши
rake фронтонная доска
eave свес
soffit софит (обращённая книзу поверхность выносного карниза)
dormer чердачное окно

Предложения

  • F3DB (Full 3D buildings)