Доступно с дополнительным модулем ArcGIS Indoors Maps.
Вы можете создать 3D-сцену для ее использования в Indoor Viewer в целях изучения и навигации.
Чтобы создать 3D-сцену, соответствующую модели Indoors, выполните одно из следующих действий:
- Преобразуйте слои indoor, используемые в 2D-карте, в объекты мультипатч в ArcGIS Pro, установив относительную высоту секций и их деталей и преобразовав полигон здания в текстурированный фасад.
- Импортируйте подмножество 3D-объектов, используя соответствующий инструмент импорта для типа файлов данных BIM, содержащих поэтажные планы. Используйте инструмент Импорт BIM в набор данных Indoor для моделей Revit или инструмент Импорт IFC в набор данных Indoor для файлов .ifc.
Примечание:
Indoor Viewer поддерживает режим 3D только в том случае, если соответствующая веб-карта была опубликована. Поэтому вам не нужно публиковать автономные таблицы в веб-сцене.
Создание 3D-сцены с использованием данных BIM
Вы можете использовать инструмент Создать 3D набор данных Indoort для создания набора данных для поддержки 3D-объектов и данных 2D-плана этажа и импорта данных с помощью инструмента Импорт BIM в набор данных Indoor для моделей Revit или инструмента Импорт IFC в набор данных Indoor для файлов IFC. Также можно добавить дополнительные данные из других BIM-данных или наборов 2D-данных после импорта данных.
Чтобы создать сцену для Indoor Viewer с использованием импортированных BIM-данных, выполните следующие действия:
- Запустите ArcGIS Pro и откройте проект, который содержит рабочую область Indoors.
- На вкладке Вставить щелкните ниспадающий список Новая карта и выберите Новая глобальная сцена.
- Добавьте слой Уровни и любые другие 2D слои, которые вы хотели бы включить.
Примечание:
Если вы уже опубликовали веб-карту для использования в Indoor Viewer, вы можете добавить эти слои из опубликованного сервиса объектов.
- Добавьте в сцену следующие 3D-слои: Facilities 3D, Units 3D и Details 3D.
Примечание:
Если модель Revit содержит несколько опций оформления для внешних объектов, или внешние объекты не отнесены к экстерьеру в модели Revit, слой Facilities 3D может не соответствовать вашим требованиям.
При необходимости вы можете использовать пакет правил, описанных ниже, для создания оболочки объекта.
- Настройте символы для 3D-слоев.
По желанию включите отображение ребер для слоев Details 3D и Facilities 3D, выбрав для слоя в панели Условные обозначения Белый (использование текстур) с ребрами.
- Настройте сцену для поддержки этажей.
- Если система координат данных выражается не в метрических единицах, необходимо спроецировать данные в систему координат в метрических единицах, выполнив следующие действия:
- Запустите инструмент Проецировать для проецирования горизонтальной системы координат в метрическую систему координат, такую как Web Mercator (Auxiliary sphere).
- Запустите инструмент Корректировать 3D Z со значением параметра Корректировать значения Z, установленным на 0, и конвертируйте единицы вертикальной системы координат из футов в метры.
- Настройте слои Units 3D, Details 3D и любые дополнительные слои с объектами indoor, как слои с поддержкой этажей.
- Подтвердите, что название слоя Facilities 3D соответствует одному из следующих соглашений об именовании для слоя, который будет распознан в Indoor Viewer:
- Facilities
- Facilities Textured
- Facilities3D
- Facilities 3D
Сцена заполняется 3D-данными, импортированными из BIM.
Создайте 3D-сцену, конвертировав 2D-объекты в 3D-объекты
Перед подготовкой объектов секций units для 3D необходимо преобразовать 2D-объекты в 3D-объекты.
Для создания набора 3D-данных Indoor на основе сцены с учетом этажности выполните следующие шаги:
- Запустите ArcGIS Pro и откройте проект, содержащий 2D-карту, которую вы подготовили для использования в Viewer.
- На вкладке Вставить щелкните ниспадающий список Новая карта и выберите Новая глобальная сцена.
- Скопируйте все слои, за исключением базовой карты и автономных таблиц, из готовой 2D-карты indoor, в только что созданную сцену.
- Настройте сцену для поддержки этажей.
Когда вы настраиваете символы для сцены, вы можете использовать фильтр этажей для переключения между площадками, зданиями и уровнями.
Примечание:
Сцены должны поддерживать этажность, чтобы их можно было использовать в приложении Viewer.
- Запустите инструмент Создать 3D набор данных Indoor, чтобы создать 3D-набор данных в базе геоданных Indoors.
Выходной набор 3D данных должен иметь ту же пространственную привязку, что и существующий набор классов объектов Indoors. Объекты могут быть выровнены неправильно, если пространственная привязка отличается.
- Снимите на панели Содержание сцены отметку WorldElevation3D/Terrain3D, чтобы выключить слой Поверхности высот.
Сцена заполняется 3D-данными, импортированными из 2D-объектов.
Подготовка секций для 3D
Чтобы подготовить секции units для 3D, выполните следующие шаги:
- На панели Содержание щелкните правой кнопкой слой Units и выберите Свойства.
Появится диалоговое окно Свойства слоя.
- На вкладке Высота установите параметр Являются пространственными объектами на На абсолютной высоте.
- Для параметра Использование дополнительных высот объектов установите Z-значения геометрии.
- Задайте для параметра Картографическое смещение значение 0.50, а в качестве Вертикальных единиц измерения задайте Метры.
- На вкладке Определяющий запрос создайте определяющий запрос, используя Где, Тип использования и не включает значения, и укажите значения полей, представляющие секции лестницы или лифта.
- Щелкните Применить.
- Нажмите OK.
- Запустите инструмент Слой 3D в класс объектов, выполнив следующие действия:
- Для параметра Входной векторный слой используйте слой Units.
- Для параметра Выходной класс пространственных объектов укажите имя выходного файла Units_Multipatch и выберите набор данных indoor 3D в качестве выходного местоположения.
Для слоя секций в веб-сцене должно быть указано имя Units 3D или Units. У выходного класса объектов на этом шаге может быть другое имя, но слой сцены для секций должен иметь правильное имя.
- Щелкните Запустить.
- Удалите слой Units 3D или Units из сцены.
- Запустите инструмент Присоединить, выполнив следующие действия:
- Для параметра Входные наборы данных выберите слой Units_Multipatch.
- Для параметра Целевой набор данных выберите слой Units 3D.
- Для параметра Тип сопоставления полей выберите опцию Используйте список полей для согласования изменений.
- Убедитесь, что следующие поля сопоставляются в параметре Сопоставить поле: UNIT_ID, USE_TYPE, NAME, NAME_LONG, LEVEL_ID и AREA_GROSS.
Можно сопоставить больше полей, если они уже существуют в классе пространственных объектов Units3D.
- Щелкните Запустить.
- Удалите слой Units_Multipatch из сцены.
- Задайте для свойства Этажи значение LEVEL_ID, чтобы включить поддержку этажей для слоя Units 3D.
- Включите всплывающие окна для слоя Units 3D.
Настроенные всплывающие окна должны включать все доступные атрибуты. Если их нет, настройте всплывающие окна для отображения нужных атрибутов.
Слой Units 3D заполнен данными и готов к использованию в 3D-сцене.
Подготовка деталей для 3D-сцены
Чтобы подготовить детали для 3D-сцены, выполните следующие шаги:
- Щелкните слой Детали правой кнопкой и выберите Свойства.
Появится диалоговое окно Свойства слоя.
- На вкладке Высота установите параметр Являются пространственными объектами на На абсолютной высоте.
- Установите для параметра Использование дополнительных высот объектов значение Z-значения геометрии.
- Задайте для параметра Картографическое смещение значение 0.50 метра.
- На вкладке Определяющий запрос используйте определяющий запрос Where Тип использования включает значения и укажите значения полей, представляющие объекты, которые вы хотите отобразить в сцене в виде вытянутых объектов, таких как стены, двери, окна и колонны.
Примечание:
Лифты, лестницы и аннотации включать не надо.
- Щелкните Применить.
- Нажмите на кнопку ОК, чтобы закрыть диалоговое окно Свойства слоя.
- Задайте для слоя Детали вытягивание, выполнив следующие действия:
- На вкладке Векторный слой, в группе Вытягивание, выберите опцию Минимальная высота для параметра Тип вытягивания объекта.
- Нажмите на кнопку Выражение вытягивания .
Откроется диалоговое окно Конструктор выражений.
- Введите высоту, на которую вы хотите вытянуть объекты, в текстовом окне Выражение и нажмите OK.
Рекомендуется вытягивать объекты примерно на 50% высоты уровня. Это позволяет вам визуализировать детали на уровне без того, чтобы вид внутренних деталей был закрыт стенами, которые составляют всю высоту уровня.
- Установите для параметра Единицы измерения соответствующую единицу измерения.
- Запустите инструмент Слой 3D в класс объектов, выполнив следующие действия:
- Для параметра Входной векторный слой используйте слой Details.
- Для параметра Выходной класс пространственных объектов укажите имя выходного файла Details_Multipatch и выберите набор данных indoor 3D в качестве выходного местоположения.
- Удалите слой Детали из сцены.
Примечание:
Оставьте только слои Details_Multipatch и Details 3D.
Слой Details 3D заполнен данными и готов к использованию в 3D-сцене.
Разделите детали на классы объектов
Вы можете разделить детали на несколько классов объектов для большего контроля над визуализацией. Вы можете распределить стены, двери, окна и другие детали в разные слои и использовать разные символы для каждого из них.
Чтобы разделить детали для стен, дверей, окон и других элементов объектов деталей на четыре отдельных класса элементов, выполните перечисленные ниже шаги:
Примечание:
Либо, если вы не будете разделять объекты деталей на несколько классов 3D-объектов, можете запустить инструмент Присоединить, чтобы добавить объекты деталей из слоя Details_Multipatch в слой Details 3D, используя запрос, чтобы добавить все объекты деталей, которые вы хотите визуализировать как 3D.
- Запустите инструмент Присоединить, выполнив следующие действия:
- Для параметра Входные наборы данных выберите слой Details_Multipatch.
- Для параметра Выражение задайте запрос Where Use Type Includes the value(s) и укажите любые значения полей, которые соответствуют стенам или колоннам, сделанным не из стекла.
- Для параметра Целевой набор данных выберите слой Walls 3D.
- Для параметра Тип сопоставления полей выберите Используйте список полей для согласования изменений.
Появится список полей с уже сопоставленным полем LEVEL_ID. Включите следующие дополнительные сопоставления:
- Сопоставить поле WALL_ID с полем DETAIL_ID.
- Сопоставить поле WALL_TYPE с полем USE_TYPE.
Можно сопоставить дополнительные поля, если они уже существуют в классе пространственных объектов Walls3D.
- Щелкните Запустить.
- Установите для свойства Этажи слоя Walls 3D значение поля Level ID, чтобы оно поддерживало этажи
- Повторите шаги 1 и 2 для слоя Details_Multipatch, чтобы разделить детали для объектов дверей. Настройте выражение так, чтобы оно включало значения поля USE_TYPE, которые применяются к дверям, и выберите слой Doors 3D в качестве целевого набора данных.
- Повторите шаги 1 и 2 для Details_Multipatch, чтобы разделить детали для окон. Настройте выражение так, чтобы оно включало значения поля USE_TYPE, которые применяются к окнам, и выберите слой Windows 3D в качестве целевого набора данных.
- Повторите шаги 1 и 2 для слоя Details_Multipatch, чтобы отделить детали для любых дополнительных объектов, которые вы хотите визуализировать в этой 3D-сцене. Настройте выражение, чтобы оно включало значения поля USE_TYPE, которые соответствуют этим объектам, и выберите слой Details 3D в качестве целевого набора данных.
- При желании измените прозрачность для объектов дверей и окон:
- Выберите слой, для которого вы хотите обновить прозрачность.
- На контекстной вкладке Векторный слой в группе Эффекты установите параметр Прозрачность на 70%.
- Перед публикацией удалите из сцены слой Details_Multipatch и все неиспользуемые 3D-слои.
3D-детали организованы в несколько 3D-слоев, заполнены данными и готовы к использованию в 3D-сцене.
Конвертация полигона строения в 3D-фасад
Чтобы конвертировать полигон строения в текстурированный 3D-фасад, выполните следующие действия:
- Щелкните правой кнопкой мыши слой Facilities и выберите Свойства.
Появится диалоговое окно Свойства слоя.
- На вкладке Высота установите параметр Являются пространственными объектами на На абсолютной высоте.
- Установите для параметра Использование дополнительных высот объектов значение Z-значения геометрии.
- Задайте для параметра Картографическое смещение значение 0.50 метра и щелкните OK.
- Щелкните слой для слоя Строения на панели Содержание, чтобы открыть панель Символы.
Откроется панель Форматировать символ полигона.
- Перейдите на вкладку Свойства.
- Щелкните кнопку Слои и выберите Процедурная заливка.
- Щелкните Правило, чтобы назначить пакет процедурных правил (*.rpk), и выберите файл Indoors_TexturedFacade.rpk в папке Символы, который включен в файлы данных продукта Indoors .
Примечание:
Вы можете использовать свой собственный пакет правил или текстурированные многоуровневые модели мультипатч здания для их индивидуального оформления. В приведенном примере пакета правил используются атрибуты Относительная высота и Уровни над поверхностью земли, чтобы создать текстурированный 3D-фасад, разбитый по этажам.
Появятся параметры процедурной заливки. Наводите курсор на каждый параметр для получения информации о том, как значение изменит внешний вид законченного фасада строения.
В разделе Атрибуты панели Форматировать символ полигона атрибуты HEIGHT_RELATIVE и LEVELS_ABOVE_GROUND считываются непосредственно из полигона зданий Facilities, на что указывают символы подключения базы данных, показанные на следующем изображении:
- Нажмите Применить после каждого изменения параметра процедурной заливки, чтобы отобразить результат в сцене.
- В разделе Опции геометрии вы можете упростить полигон, немного его буферизовать или изменить размер окна.
- Щелкните Применить, чтобы создать итоговую модель текстурированного 3D-фасада.
- Запустите инструмент Слой 3D в класс объектов, выполнив следующие действия:
- Для параметра Входной векторный слой используйте слой Facilities.
- Для параметра Выходной класс пространственных объектов введите имя Facilities_Multipatch и поместите его в набор классов объектов Indoor3D.
В сцену добавляется слой Facilities_Multipatch.
- Запустите инструмент Присоединить, выполнив следующие действия:
- Для параметра Входные наборы данных выберите слой Facilities_Multipatch.
- Для параметра Целевой набор данных выберите слой Facilities 3D.
- Для параметра Тип сопоставления полей выберите опцию Используйте список полей для согласования изменений.
- Убедитесь, что для параметра Сопоставление полей сопоставляются следующие поля: FACILITY_ID, NAME, NAME_LONG и SITE_ID.
Вы можете сопоставить больше полей, если они уже существуют в классе пространственных объектов Facilities3D.
- Щелкните Запустить.
- Переименуйте слой Facilities3D в один из следующих вариантов:
- Facilities
- Facilities Textured
- Facilities3D
- Facilities 3D
Примечание:
Имя слоя Facilities 3D в вашей веб-сцене должно соответствовать одному из вариантов, перечисленных выше.
- Удалите со сцены слой Facilities polygon и слой Facilities_Multipatch.
- Включите всплывающие окна для слоя Текстурированные строения.
Настроенные всплывающие окна должны включать все доступные атрибуты. Если их нет, настройте всплывающие окна для отображения нужных атрибутов.
- Задайте свойства Слоев Indoor для сцены, чтобы сделать сцену с поддержкой этажности.
- Выберите Текстурированные строения для параметра Строения.
- Выберите Уровни для параметра Этажи.
В разделе Опции отображения вы можете настроить стили и текстуры крыш, стен и окон.
Слой Facilities 3D заполнен данными и готов к использованию в 3D-сцене.
Включение отображения ребер
Секции и стены Indoors могут иногда выглядеть размытыми при их просмотре в ArcGIS Pro или в виде опубликованных слоев сцен. Чтобы улучшить видимость ребер и контрастность объектов мультипатч, включив отображение ребер, выполните следующие действия:
- Для 3D-слоев, содержащих объекты деталей и секций, при необходимости разверните слои на панели Содержание и щелкните цветной квадрат под слоем, чтобы открыть панель Форматировать символ Mesh.
- Нажмите на вкладку Галерея и выберите Белые (используйте текстуры) с ребрами.
Вы можете опубликовать сцену в своей организации ArcGIS organization для работы с ней в приложении Viewer.