Университет ИТМО

Фреймворк для гео-визуализации

 

Предназначен для создания комплексных интерактивных решений, отображающих динамически изменяющуюся (во времени и пространстве) среду, в том числе, городской территории. Созданный на базе игрового движка Unreal Engine 4, он способен визуализировать высокодетализированные виртуальные сцены в режиме реального времени. Модульная структура фреймворка позволяет эффективно организовывать загрузку данных из различных источников и форматов, объединять их в слои для визуализации и создавать комплексный демонстратор, позволяющий отобразить динамику изменения городской территории за произвольный период времени — от планируемого развития нового микрорайона до многовековой исторической ретроспективы целого города.

Фреймворк может работать с различными источниками, содержащими гео-данные, такие как «geojson», «xml от openstreetmap», а также с базой данных PostgreSQL с плагином PostGIS. Благодаря возможностям работы с PostgreSQL, пользователь может загружать данные, используя наиболее подходящую для себя геоинформационную систему.

Основные возможности фреймворка:
— историческая ретроспектива, начиная с основания города, с учётом неполных данных;
— генерация ландшафта и растительности;
— генерация зданий с учетом высокодетализированных фасадов актуального времени и дорог;
— смена времен года и времени суток;
— визуализация детализированных объектов архитектуры;
— отображение справочной информации по объектам и глобальным событиям.

Фреймворк поддерживает визуализацию и обновление в реальном времени следующих объектов:
— застройки; 
— улично-дорожной сети; 
— общих черт ландшафта (контуры водоёмов);
— функционального зонирования; 
— растительности (леса и парки) и других небольших объектов.

Фреймворк состоит из набора модулей, каждый из которых отвечает за свой тип геоданных. Пользователь фреймворка может определить необходимый конкретно для него набор визуализируемых данных и использовать только те модули фреймворка, которые подходят для визуализации этих данных. Расширения базовых модулей позволяют создать статические детализированные сцены с использованием 3d-моделей ключевых объектов и сгенерированных детализированных зданий на основе заданных пользователем наборов моделей.

Модули разбиты на два независимых плагина к Unreal Engine 4. Модули BuildingLoader, Foliage, Roads, Landscape и Tiles, составляющие плагин GeoTempVis, предоставляют готовые компоненты, которые можно использовать для визуализации различных слоёв данных, в то время, как модули Core, MaskGenerator, JSON, OSM и Postgis, составляющие плагин GeoTempCore, предоставляют инструментарий для загрузки, преобразования и подготовки данных для использования в основных слоях или создания новых представлений данных.

Модуль BuildingLoader принимает полигоны, описывающие контуры зданий, и преобразует их в объёмные текстурированные объекты. При этом можно применить дополнительные надстройки, позволяющие также подать на вход модулю геометрию коньков крыш (для визуализации старых зданий с покатыми крышами), или включить режим генерации детализированной застройки, собираемой из набора заранее заданных блоков.

Модуль Foliage позволяет загрузить полигоны, отмечающие зоны генерации растительности, таких как деревья и кустарники, и других объектов, которыми требуется заполнить большие площади. При этом полигоны могут содержать информацию о времени существования зоны, что позволяет динамически обновлять зоны растительности в сцене.

Модуль Roads визуализирует дорожную сеть, позволяя отображать количество полос дорожных участков и их материал.

Модули Tiles и Landscape предлагают два альтернативных подхода к отображению ландшафта. Модуль Tiles позволяет загрузить картографическую подложку с OpenStreetMap или другого «тайлового» источника, а модуль Landscape — отобразить полигоны водоёмов и функциональных зон на объёмном ландшафте.

Модули JSON, OSM и Postgis служат для загрузки данных из форматов «.json», «OSM xml» и из PostGIS-базы данных, соответственно, и для дальнейшего преобразования этих данных в типы, используемые основными модулями.

Модуль Core содержит основные типы данных структуры и функции гео-процессинга.

Наконец, модуль MaskGenerator позволяет создавать растровые карты на основе полигонов. Такие маски используются для визуализации ландшафта и функционального зонирования модулем Landscape.

 

Перейти к репозиторию

Документация

 

Публикации

Email для обратной связи: karsakov@itmo.ru