OpenStreetMap в 3D

OpenStreetMap в 3D без лишнего конвейера.

Обычный путь — запрос Overpass, GIS-инструмент для очистки, скрипт или дополнение для выдавливания и настольный 3D-пакет для света. В Studio это один шаг: обведите область на карте — и здания, дороги и вода OSM появятся выдавленными на настоящем рельефе.

Область карты слева и та же область в виде выдавленной 3D-модели справа
OpenStreetMapStudio, один импорт спустя
Реальный результат Studio. Картографические данные © OpenStreetMap contributors.

Без языка запросов

Вам не нужно писать на Overpass QL или возиться с GeoJSON. Обведите область рамкой — импорт запросит у OpenStreetMap здания, дороги, воду и землепользование и кэширует ответ.

Теги, меняющие геометрию

height, building:levels и min_height задают высоту здания и место, где оно начинается; roof:shape и building:part формируют верх; классы highway задают ширину дорог; теги water и landuse определяют материалы.

Верные единицы и размещение

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

Прямо в ваши инструменты

На платном тарифе экспортируйте результат в GLB, glTF, OBJ, FBX или STL для Blender, Unreal, Unity или слайсера.

Чем становится каждый тег

Башни Мидтауна на Манхэттене со ступенчатыми крышами рядом с Брайант-парком
Мидтаун, Манхэттен: настоящие крыши из NYC 3-D Building Model, а где её нет — из OpenStreetMap.

Здания по высоте с карты

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

Импортированные улицы разной ширины, река с мостом и парковые зоны на настоящем рельефе
Дороги по классам, мост, вода и покрытие земли.

Улицы, вода и зелень

Ширина дорог зависит от класса, есть тротуары, разметка и переходы, мосты перекрывают воду, а не уходят в неё, а парки, покрытия и уличные деревья заполняют остальное.

Порт Эркюль в Монако сверху: гавань заполнена водой до набережных и пирсов
Монако, порт Эркюль: море построено по береговым линиям OSM. Картографические данные © OpenStreetMap contributors.

Море из береговой линии

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

Studio с результатом импорта, где рядом с импортированным городом перечислены высоты зданий с карты и оценённые
Отчёт об импорте после импорта в режиме города вокруг Рокфеллер-центра в Нью-Йорке.

Показывает, что известно карте

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

Диалог экспорта Studio с выбранным GLB над импортированным Нижним Манхэттеном
Экспорт GLB импортированного места. В Blender: File ▸ Import ▸ glTF.

Завершите в Blender

Экспортируйте GLB или FBX на платном тарифе и импортируйте в Blender: метры в истинном масштабе, объекты уже разделены.

Почему Mixos

Что происходит с каждым тегом

OpenStreetMap — это база данных точек, линий и полигонов с тегами, а не 3D-модель. Чтобы превратить её в модель, нужно решить для каждого вида объектов, какой геометрией он станет. Импорт Studio принимает эти решения так, как описывают собственные 3D-соглашения сообщества OSM.

Контур здания становится замкнутым основанием — с отверстиями для внутренних дворов — и выдавливается до высоты из тега height. Если высоты нет, подставляется building:levels, умноженное примерно на 3 м; если нет ни того ни другого, импорт оценивает высоту и учитывает оценку в отчёте. min_height поднимает части, начинающиеся над землёй, например переход или нависающую часть. roof:shape строит двускатную, вальмовую, пирамидальную, односкатную, купольную или луковичную крышу (мансардная, ломаная и полувальмовая рисуются ближайшей по форме), building:part собирает достопримечательность из частей, а малоэтажному дому без тегов достаётся выведенная двускатная или вальмовая крыша. Каждое основание ставится на самую низкую точку рельефа под ним, поэтому на склоне ничто не парит в воздухе.

Линия highway становится полосой, ширина которой следует классу — от тропинки до магистрали, — уложенной на поверхность рельефа. Замкнутые водные объекты становятся плоской водой, а море, которое OpenStreetMap рисует только береговой линией, замыкается в воду по этим линиям. Землепользование — парки, трава и покрытия — становится покрытием земли с материалом из библиотеки. Сам рельеф берётся из открытых тайлов высот, а не из OSM, где собственных высот нет.

Данные OSM распространяются под лицензией Open Database License. Вы можете использовать созданное из них, в том числе в коммерческих целях, при условии указания © OpenStreetMap contributors. Studio хранит эту ссылку вместе со сценой, чтобы она не потерялась между импортом и рендером.

Что происходит с каждым тегом

Часто задаваемые вопросы

Как преобразовать данные OpenStreetMap в 3D-модель?

В Studio откройте выбор места «Real place», обведите область рамкой и импортируйте. Здания, дороги, вода и покрытие земли автоматически выдавливаются и укладываются на настоящий рельеф. Скачивать файл .osm или писать запрос Overpass не нужно.

Можно ли перенести здания OSM в Blender?

Да. Постройте область в Studio, затем экспортируйте её в GLB или FBX на платном тарифе и импортируйте в Blender. Если хотите остаться внутри Blender, данные OSM импортируют и бесплатные дополнения BlenderGIS и Blosm.

Какие теги OSM он читает?

Контуры зданий с height, building:levels и min_height; классы highway для ширины дорог; водные объекты; землепользование — park, grass и paving — для материалов земли.

Почему у некоторых зданий неверная высота?

Потому что карта об этом не говорит. Если у здания нет тега высоты или этажности, импорт оценивает её и учитывает в отчёте. Добавьте тег в OpenStreetMap — и это исправится для всех.

Можно ли свободно использовать данные в коммерческих целях?

Да, по лицензии Open Database License при условии указания © OpenStreetMap contributors. Если вы распространяете извлечённые данные как базу данных, действуют и условия ODbL о распространении на тех же условиях.

Mixos

Обойдитесь без конвейера. Обведите область рамкой.