RU:Простые 3D здания

From OpenStreetMap Wiki
Jump to navigation Jump to search

Эта страница описывает теги для основных 3D-свойств зданий. Таким образом, данная схема описания является ограниченной и не позволяет описать все характеристики. Вы можете сообщить о случаях внесения сложных изменений на странице обсуждения или изучить страницу F3DB (полное 3D‑здание) для получения дополнительных предложений по 3D‑картографированию.

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

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

Как отмечать на карте

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

Два полигона building:part (зелёные) внутри полигона здания (красного). Промежутки между полигонами - только для наглядности, на самом деле их грани совпадают.

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

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

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

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

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

Части здания

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

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

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

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

Совет: может быть сложно выбрать такие перекрывающиеся формы. В JOSM щелкните, удерживая клавишу Alt, чтобы циклически перемещаться по перекрывающимся объектам и делать нужный выбор.[2]

Отношение building

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

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

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

Не следует дублировать адресную информацию для отношения type=building, если она прописана для составных частей.

Exclamation.svg Смотрите также предложения ProposedRoofLines#Building_Relation.

Части сооружения

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

Обратите внимание: как только в здании есть часть здания building:part=yes, контур здания больше не учитывается при объёмном рендеринге, если он также не отмечен как часть здания. Например, состоящий из трёх частей (зеленый, синий, бежевый):

building=* Контур здания
(4) height=* Общая высота
building:part=yes Части здания
(2) height=* Общая высота части здания
(1) roof:height=* Высота крыши
roof:shape=gabled Форма крыши (красная)
building:levels=* Этажи (без крыши)
roof:levels=* Высота чердака, выраженная в этажах (красная)

либо roof:height=* Высота чердака (красная)

building:part=yes Часть здания (церковная башня)
(4) height=* Общая высота части здания
(3) roof:height=* Высота крыши
roof:shape=pyramidal Форма крыши (коричневая)
building:levels=* Этажи (без крыши)
roof:levels=* Высота чердака, выраженная в этажах (коричневый)
другие свойства, например цвет, материал
Отношение type=building
Kirche 3D klein.jpg

Каждая часть принадлежит соответствующему building:part=*. Цветное разделение представлено для пояснения

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

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

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

Теги для зданий/частей зданий подразделяются на 3 категории:

  • теги только для крыши здания (теги с префиксом roof:*=*)
  • теги только для здания под крышей (фасадов) (теги с префиксом building:*=*
  • теги для обоих (теги без префикса)

Теги для фасадов зданий и для крыш

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

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

Теги только для фасадов зданий под крышей

Ключ Описание
building:levels=* Количество этажей здания над уровнем земли (без учёта этажей в крыше).
Позволяет вам текстурировать здание простым способом, поскольку некоторые 3D‑рендеры добавляют ряды окон для каждого этажа.
Если вы отмечаете новые здания, старайтесь указать значение height. Старайтесь использовать building:levels=* только в дополнение к тегу высоты!
Смотрите раздел ниже, чтобы лучше понять этот тег и использование значений height=*, roof:height=* и roof:levels=*.
building:min_level=* Количество этажей, на которое данная часть здания поднята над землёй, аналогично min_height.
building:material=* Материал отделки фасада здания.
building:colour=* Цвет фасада здания. Смотрите возможные значения на странице colour=*.

Примечание: для высоты фасадов нет тега (не используйте building:height). Это значение автоматически рассчитывается как общая высота здания height=* минус roof:height=*.

Теги только для крыши здания

Форма крыши

Вы можете охарактеризовать форму крыши здания, используя каталог известных типов крыш.

Изображение Roof Flat.png Roof Gabled.png Roof Gabled Height Moved.png Roof Skillion.png
roof:shape flat gabled gabled_height_moved skillion
Изображение Roof Hipped.png Roof Half Hipped.png Roof Side Hipped.png Roof Side Half Hipped.png
roof:shape hipped half-hipped side_hipped side_half-hipped
Изображение Roof Hip and Gable.png Roof Mansard.png Roof Gambrel.png
roof:shape hipped-and-gabled mansard gambrel
Изображение Roof Pyramidal.png Roof Crosspitched.png Roof Sawtooth.png Roof Butterfly.png
roof:shape pyramidal crosspitched sawtooth butterfly
Изображение Roof Cone.png Roof Dome.png Roof Onion.png Roof Round.png
roof:shape cone dome onion round
Другие распространённые значения
Значение Описание
many Означает, что у здание есть сразу несколько различных форм крыши. Использовать его не рекомендуется, поскольку оно бесполезно для рендеринга (крыши с этим значением отображаются как плоские). Вместо этого используйте building:part=* с собственными значениями roof:shape=*. Подробно описано в roof:shape=many.

Другие теги крыши

Ключ Описание
roof:height=* Высота крыши, от верхней части фасадов до верха крыши.
Смотрите раздел ниже, чтобы лучше понять этот тег и использование height=*, building:levels=* и roof:levels=*.
roof:levels=* Количество отдельных этажей только на крыше.
Смотрите раздел ниже, чтобы лучше понять этот тег и использование height=*, building:levels=* и roof:levels=*.
roof:angle=* Альтернатива roof:height=*. Высоту крыши можно указать неявно, указав наклон сторон (в градусах).
roof:direction=* Направление от задней стороны крыши к передней (то есть направление, в котором обращена основная поверхность крыши).
roof:orientation=along/across Для крыш с гребнем предполагается, что гребень параллелен самой длинной стороне здания (roof:orientation=along), но он может быть явно отмечен этим тегом.
roof:colour=* (Доминирующий) цвет крыши. Полезно в сочетании с roof:material=*.
roof:material=* Самый внешний материал крыши. Полезно в сочетании с roof:colour=*.

Использование height, roof:height, building:levels, roof:levels

В настоящее время существует несовместимость значений тегов *:levels=* в 2D и 3D представлениях.

В 2D они обозначают количество этажей части: 1 этаж, 2 этажа, …, 5 этажей, и так далее.

В 3D, когда теги высоты не используются, теги *:levels=* при 3D‑рендеринге преобразуются в смоделированные высоты. Каждый этаж преобразуется в рендеринг высотой 3 метра.

Например, building:levels=3, roof:levels=1, без тега height=*, без тега roof:height=* при 3D‑рендеринге будет преобразовано в здание высотой 12 метров с 9 метрами под крышей и 3 метрами для крыши.

Поэтому пользователи могут использовать десятичные числа для этажей, чтобы указать подходящую высоту. Например, в taginfo вы можете найти building:levels=1.5, roof:levels=0.5 или roof:levels=0.2! Но что означает "0,2 этажа" в 2D-описании здания?

Вместо того, чтобы использовать десятичные значения, добавьте высоту здания. Таким образом, вы получите совместимость между 2D и 3D информацией.

Пример:

Пояснения:

  • 1,5 уровня здания и 0,7 уровня крыши, вероятно, означают 1 полезный этаж для фасадов здания и отсутствие полезных этажей для крыши
  • 1,5 + 0,7 = всего 2,2 этажа = высота всего здания 6,6 метра (используя по 3 метра на каждый этаж)
  • 0,7 этажа крыши = высота крыши 2,1 метра

Примечания:

  • Фактическая высота зданий, вероятно, неизвестна для 99% зданий в OSM. Значение 3 метра для этажа является значением по умолчанию, вероятно, очень близким к реальности для большинства этих зданий, и будет отображать хорошую 3D-визуализацию, соответствующую зданиям без меток высоты. Но, конечно, если вы знаете реальную высоту, используйте их!
  • В некоторых случаях явно необходимы и то, и другое. Например, для спортивного зала значение уровней здания обычно равно единице (один этаж и один потолок), но высота превышает 3 метра, установленные по умолчанию, поэтому вам нужно добавить фактическую высоту (например, building:levels=1, height=6). Пожалуйста, не используйте ложное значение в 2 этажа для имитации здания высотой 6 метров, если в здании всего 1 потолок!

Этот раздел является вики-шаблоном, редактируйте здесь.

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

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

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

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

Чтобы просмотреть многочисленные 3D-здания в большом масштабе, смотри примеры здесь: 3D Demo Areas

Чтобы просмотреть отдельные 3D-здания, смотри примеры здесь: Примеры 3D зданий

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


Редактировать эту таблицу

Расположение OpenStreetMap OSM2World Streets GL OSMBuildings F4 Map OSM go Mapbox GL Tangram
Greece Афи́ны View in 2D View in 3D N/A View in 3D View in 3D

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

View in 3D View in 2.5D
Germany Бре́мен 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
Austria Грац 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
Austria Грац 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
Austria Грац 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
United States Чика́го 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
United States Цинцинна́ти 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
Venezuela Сьюдад‑Гуаяна View in 2D View in 3D N/A View in 3D View in 3D

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

View in 3D View in 2.5D
Germany Ко́бург 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
United States Де́нвер 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
Canada Эдмонтон View in 2D View in 3D N/A View in 3D View in 3D

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

View in 3D View in 2.5D
Germany Ха́ген 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
Finland Хе́льсинки 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
Spain Уэ́ска View in 2D View in 3D N/A View in 3D View in 3D

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

View in 3D View in 2.5D
Indonesia Джакарта, улица Судирман View in 2D View in 3D N/A View in 3D View in 3D

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

View in 3D View in 2.5D
Germany Ка́рлсруэ, Телекоммуникационная башня 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
Iceland Ко́упавогюр, Smárar View in 2D View in 3D N/A View in 3D View in 3D

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

View in 3D View in 2.5D
Germany Кёльнский собор 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
Germany Кёльн, радиовышка 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
Germany Кёльн, Райнаухафен 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
Germany Кёльн, жилой район в Нойренфельде "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
Germany Кётен 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
Germany Кётен 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
Poland Краков View in 2D View in 3D N/A View in 3D View in 3D

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

View in 3D View in 2.5D
Malaysia Куала-Лумпур View in 2D View in 3D N/A View in 3D View in 3D

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

View in 3D View in 2.5D
United States Лас-Ве́гас 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
Germany Ле́йпциг 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
Peru Ли́ма View in 2D View in 3D N/A View in 3D View in 3D

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

View in 3D View in 2.5D
United Kingdom Ло́ндон 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
Poland Львувек-Слёнски View in 2D View in 3D N/A View in 3D View in 3D

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

View in 3D View in 2.5D
Russia Москва́ View in 2D View in 3D N/A View in 3D View in 3D

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

View in 3D View in 2.5D
Russia Москва́ 2

с отношением type=building

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

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

View in 3D View in 2.5D
United States Нью-Йо́рк 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
United States О́льденбург, Индиа́на 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
France Пари́ж, Э́йфелева ба́шня View in 2D View in 3D N/A View in 3D View in 3D

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

View in 3D View in 2.5D
Germany Па́ссау 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
United States Фи́никс, Аризо́на 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
Germany Потсдам 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
Netherlands Рейсвейк 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
Germany Ро́сток, Зюдштадт 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
United States Сан-Хосе́, Калифо́рния 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
Brazil Сан-Па́улу View in 2D View in 3D N/A View in 3D View in 3D

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

View in 3D View in 2.5D
Germany Швери́н 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
Singapore Сингапу́р View in 2D View in 3D N/A View in 3D View in 3D

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

View in 3D View in 2.5D
Germany Штадум 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
United States Си́ракьюс, Штат Нью-Йо́рк 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
Japan То́кио, квартал Ниси‑Синдзюку View in 2D View in 3D N/A View in 3D View in 3D

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

View in 3D View in 2.5D
Japan То́кио, Одайба View in 2D View in 3D N/A View in 3D View in 3D

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

View in 3D View in 2.5D
Canada Торо́нто View in 2D View in 3D N/A View in 3D View in 3D

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

View in 3D View in 2.5D
Norway Тро́нхейм View in 2D View in 3D N/A View in 3D View in 3D

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

View in 3D View in 2.5D
Vatican Ватика́н View in 2D View in 3D N/A View in 3D View in 3D

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

View in 3D View in 2.5D
Poland Варша́ва View in 2D View in 3D N/A View in 3D View in 3D

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

View in 3D View in 2.5D
China Пекин

Запретный город

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

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

View in 3D View in 2.5D
Germany Университет Ольденбург 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
China Шэньчжэнь

Центральный деловой район Шэньчжэня

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

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

View in 3D View in 2.5D
China Шанхай

Центральный деловой район Луцзяцзуй
В работе

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

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

View in 3D View in 2.5D
China Чунцин

Центральный деловой район Чаотяньмэнь
В работе

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

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

View in 3D View in 2.5D
Netherlands Ипенбург, Гаага

Район Waterwijk
В работе

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
Philippines Мака́ти View in 2D View in 3D N/A View in 3D View in 3D

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

View in 3D View in 2.5D
Philippines Манила

Малате и Эрмита

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

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

View in 3D View in 2.5D
Philippines Манила

Санта-Крус и Бинондо

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

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

View in 3D View in 2.5D

Смотрите также эти models|примеры моделей

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

Основная статья: 3D разработка

Множество карт и инструментов имеют поддержку схемы тегирования домов 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
SketchOSM Windows частично Проприетарная Плагин  SketchUp в бета-версии

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

Название приложения Платформа Поддержка схемы Лицензия Заметки
CartoType Maps App Windows, Linux, Macintosh частично Проприетарная, но с неограниченным использованием Бесплатное демонстрационное приложение для проприетарной библиотеки CartoType. Версия CartoType GL поддерживает большинство форм крыш. Включает редактор таблиц стилей.
Cesium OSM Buildings Web частично Обновляется ежемесячно
F4 Map Web да Проприетарная Пример веб‑карты с рендерингом и поддержкой сцен
Mapbox Static API Web частично BSD Требуется бесплатная учетная запись Mapbox Studio.
OpenScienceMap Web частично LGPL Интерпретирует только теги height/min_height на стороне клиента. Слой S3DB использует сетки vtm, созданные на сервере (используя plpgsql с PostGIS и SFCGAL). Карта в браузере.
Organic Maps Android частично Проприетарная Высота зданий отображается на основе тега высоты (если он установлен) или этажей. Крыши плоские.
OSM2World Windows, Linux, Macintosh частично LGPL В настоящее время реализуются оставшиеся функции для версии 0.2.0: slippymap (только Германия)
OSM-3D.org Web частично Не работает в браузере, если у вас не установлена более старая версия Java (≤1.6). Новая версия WebGL в разработке.
osmapa.pl Mapnik stylesheet Web частично Большинство типов крыш реализовано в формате 2.5D
OSMBuildings Web частично BSD
OSM Building Viewer Web частично BSD Визуализирует отдельное здание на основе оперативных данных OSM.
OSM go Web частично GPL Только пирамидальная и купольная (плоская по умолчанию)
Streets GL Web да MIT Обновляется вручную. Не обновлялось с сентября 2023 года.
VR Map Web частично MPL Только высота и цвет
WikiMiniAtlas Web частично GPL Только пирамидальные крыши

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

Основная статья: Frameworks
Название ПО Платформа Язык Поддержка схемы Лицензия Заметки
Carto Mobile SDK Android, iOS, Windows Phone Java, Objective-C++, Swift, C# частично BSD Поддерживается большинство форм крыши; смотри документацию Carto
CartoType для Android Android Java частично Проприетарная Поддерживается большинство форм крыш. Стилями можно управлять с помощью таблиц стилей XML CartoType. Использует ускорение графики OpenGL ES. Можно изменять угол обзора, высоту, поле зрения и так далее.
CartoType для C++ Windows, Linux, OS X (Macintosh) C++
CartoType для iOS iOS Objective C, Swift
CartoType для .NET Windows C#, VB.NET и другие языки .NET
CartoType for Qt Qt для Windows, Mac (OS X) и Linux C++
Mapbox Android SDK Android Java частично BSD Параметры настройки отображения 3D-зданий включены в Спецификации стиля Mapbox. (Смотрите сообщение от Mapbox с объявлением о поддержке GL JS.)
Mapbox GL JS Web JavaScript
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 частично ? Смотрите также [1] и [2]
OSMBuildings Web JavaScript частично BSD Доступны версии 2.5D и 3D
Tangram Web JavaScript частично MIT Mapzen отображает 3D-здания в Tangram и других продуктах.
Tangram ES Android, iOS, Linux, macOS C++
VTM Android, iOS, Web Java частично LGPL Часть проекта mapsforge.

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

Название ПО Платформа Поддержка схемы Лицензия Описание
blender-osm Windows, macOS, Linux частично GPL Загрузка и импорт OpenStreetMap и ландшафта одним щелчком мыши. Можно импортировать более 100 000 построек. Поддерживается большое количество форм крыши: плоская, двускатная, шатровая (только для четырехугольника), односкатная, полушатовая, круглая, пирамидальная, двускатная, купольная, луковичная и saltbox.
Mapbox Studio Web частично Проприетарная Включает редактор стиля Mapbox GL, который поддерживает высоту здания (или частей здания).
Maputnik Web частично MIT Редактор стилей Mapbox GL поддерживающий высоту здания (или частей здания).
Tangram Play Web частично MIT Редактор сцены Tangram, который поддерживает "выдавливаемые" здания с высотой на основе данных OSM.

Предложения

  • F3DB — заброшенное предложение Full 3D buildings по улучшенному 3D-тегированию.

Смотрите также

Ссылки

  1. Это не относится к F4 Map, смотрите: Non-building:part parts of buildings are not rendered #3, Streets GL GitHub, сообщение от StrandedKitty, 3 мая 2023 года
  2. blog.mapbox.com