Подготовка сцены для Indoor Viewer

Доступно с дополнительным модулем 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-данных, выполните следующие действия:

  1. Запустите ArcGIS Pro и откройте проект, который содержит рабочую область Indoors.
  2. На вкладке Вставить щелкните ниспадающий список Новая карта и выберите Новая глобальная сцена.
  3. Добавьте слой Уровни и любые другие 2D слои, которые вы хотели бы включить.
    Примечание:

    Если вы уже опубликовали веб-карту для использования в Indoor Viewer, вы можете добавить эти слои из опубликованного сервиса объектов.

  4. Добавьте в сцену следующие 3D-слои: Facilities 3D, Units 3D и Details 3D.
    Примечание:

    Если модель Revit содержит несколько опций оформления для внешних объектов, или внешние объекты не отнесены к экстерьеру в модели Revit, слой Facilities 3D может не соответствовать вашим требованиям.

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

  5. Настройте символы для 3D-слоев.

    По желанию включите отображение ребер для слоев Details 3D и Facilities 3D, выбрав для слоя в панели Условные обозначения Белый (использование текстур) с ребрами.

  6. Настройте сцену для поддержки этажей.
  7. Если система координат данных выражается не в метрических единицах, необходимо спроецировать данные в систему координат в метрических единицах, выполнив следующие действия:
    1. Запустите инструмент Проецировать для проецирования горизонтальной системы координат в метрическую систему координат, такую как Web Mercator (Auxiliary sphere).
    2. Запустите инструмент Корректировать 3D Z со значением параметра Корректировать значения Z, установленным на 0, и конвертируйте единицы вертикальной системы координат из футов в метры.
  8. Настройте слои Units 3D, Details 3D и любые дополнительные слои с объектами indoor, как слои с поддержкой этажей.
  9. Подтвердите, что название слоя Facilities 3D соответствует одному из следующих соглашений об именовании для слоя, который будет распознан в Indoor Viewer:
    • Facilities
    • Facilities Textured
    • Facilities3D
    • Facilities 3D

Сцена заполняется 3D-данными, импортированными из BIM.

Создайте 3D-сцену, конвертировав 2D-объекты в 3D-объекты

Перед подготовкой объектов секций units для 3D необходимо преобразовать 2D-объекты в 3D-объекты.

Для создания набора 3D-данных Indoor на основе сцены с учетом этажности выполните следующие шаги:

  1. Запустите ArcGIS Pro и откройте проект, содержащий 2D-карту, которую вы подготовили для использования в Viewer.
  2. На вкладке Вставить щелкните ниспадающий список Новая карта и выберите Новая глобальная сцена.
  3. Скопируйте все слои, за исключением базовой карты и автономных таблиц, из готовой 2D-карты indoor, в только что созданную сцену.
  4. Настройте сцену для поддержки этажей.

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

    Примечание:

    Сцены должны поддерживать этажность, чтобы их можно было использовать в приложении Viewer.

  5. Запустите инструмент Создать 3D набор данных Indoor, чтобы создать 3D-набор данных в базе геоданных Indoors.

    Выходной набор 3D данных должен иметь ту же пространственную привязку, что и существующий набор классов объектов Indoors. Объекты могут быть выровнены неправильно, если пространственная привязка отличается.

  6. Снимите на панели Содержание сцены отметку WorldElevation3D/Terrain3D, чтобы выключить слой Поверхности высот.

Сцена заполняется 3D-данными, импортированными из 2D-объектов.

Подготовка секций для 3D

Чтобы подготовить секции units для 3D, выполните следующие шаги:

  1. На панели Содержание щелкните правой кнопкой слой Units и выберите Свойства.

    Появится диалоговое окно Свойства слоя.

  2. На вкладке Высота установите параметр Являются пространственными объектами на На абсолютной высоте.
  3. Для параметра Использование дополнительных высот объектов установите Z-значения геометрии.
  4. Задайте для параметра Картографическое смещение значение 0.50, а в качестве Вертикальных единиц измерения задайте Метры.

    Настройте высоту объектов в диалоговом окне Свойства слоя.

  5. На вкладке Определяющий запрос создайте определяющий запрос, используя Где, Тип использования и не включает значения, и укажите значения полей, представляющие секции лестницы или лифта.
  6. Щелкните Применить.
  7. Нажмите OK.
  8. Запустите инструмент Слой 3D в класс объектов, выполнив следующие действия:
    1. Для параметра Входной векторный слой используйте слой Units.
    2. Для параметра Выходной класс пространственных объектов укажите имя выходного файла Units_Multipatch и выберите набор данных indoor 3D в качестве выходного местоположения.

      Для слоя секций в веб-сцене должно быть указано имя Units 3D или Units. У выходного класса объектов на этом шаге может быть другое имя, но слой сцены для секций должен иметь правильное имя.

    3. Щелкните Запустить.
  9. Удалите слой Units 3D или Units из сцены.
  10. Запустите инструмент Присоединить, выполнив следующие действия:
    1. Для параметра Входные наборы данных выберите слой Units_Multipatch.
    2. Для параметра Целевой набор данных выберите слой Units 3D.
    3. Для параметра Тип сопоставления полей выберите опцию Используйте список полей для согласования изменений.
    4. Убедитесь, что следующие поля сопоставляются в параметре Сопоставить поле: UNIT_ID, USE_TYPE, NAME, NAME_LONG, LEVEL_ID и AREA_GROSS.

      Можно сопоставить больше полей, если они уже существуют в классе пространственных объектов Units3D.

    5. Щелкните Запустить.
  11. Удалите слой Units_Multipatch из сцены.
  12. Задайте для свойства Этажи значение LEVEL_ID, чтобы включить поддержку этажей для слоя Units 3D.
  13. Включите всплывающие окна для слоя Units 3D.

    Настроенные всплывающие окна должны включать все доступные атрибуты. Если их нет, настройте всплывающие окна для отображения нужных атрибутов.

Слой Units 3D заполнен данными и готов к использованию в 3D-сцене.

Подготовка деталей для 3D-сцены

Чтобы подготовить детали для 3D-сцены, выполните следующие шаги:

  1. Щелкните слой Детали правой кнопкой и выберите Свойства.

    Появится диалоговое окно Свойства слоя.

  2. На вкладке Высота установите параметр Являются пространственными объектами на На абсолютной высоте.
  3. Установите для параметра Использование дополнительных высот объектов значение Z-значения геометрии.
  4. Задайте для параметра Картографическое смещение значение 0.50 метра.
  5. На вкладке Определяющий запрос используйте определяющий запрос Where Тип использования включает значения и укажите значения полей, представляющие объекты, которые вы хотите отобразить в сцене в виде вытянутых объектов, таких как стены, двери, окна и колонны.
    Примечание:

    Лифты, лестницы и аннотации включать не надо.

  6. Щелкните Применить.
  7. Нажмите на кнопку ОК, чтобы закрыть диалоговое окно Свойства слоя.
  8. Задайте для слоя Детали вытягивание, выполнив следующие действия:
    1. На вкладке Векторный слой, в группе Вытягивание, выберите опцию Минимальная высота Минимальная высота для параметра Тип вытягивания объекта.
    2. Нажмите на кнопку Выражение вытягивания Выражение вытягивания.

      Откроется диалоговое окно Конструктор выражений.

    3. Введите высоту, на которую вы хотите вытянуть объекты, в текстовом окне Выражение и нажмите OK.

      Рекомендуется вытягивать объекты примерно на 50% высоты уровня. Это позволяет вам визуализировать детали на уровне без того, чтобы вид внутренних деталей был закрыт стенами, которые составляют всю высоту уровня.

    4. Установите для параметра Единицы измерения соответствующую единицу измерения.
  9. Запустите инструмент Слой 3D в класс объектов, выполнив следующие действия:
    1. Для параметра Входной векторный слой используйте слой Details.
    2. Для параметра Выходной класс пространственных объектов укажите имя выходного файла Details_Multipatch и выберите набор данных indoor 3D в качестве выходного местоположения.
  10. Удалите слой Детали из сцены.
    Примечание:

    Оставьте только слои Details_Multipatch и Details 3D.

Слой Details 3D заполнен данными и готов к использованию в 3D-сцене.

Разделите детали на классы объектов

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

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

Примечание:

Либо, если вы не будете разделять объекты деталей на несколько классов 3D-объектов, можете запустить инструмент Присоединить, чтобы добавить объекты деталей из слоя Details_Multipatch в слой Details 3D, используя запрос, чтобы добавить все объекты деталей, которые вы хотите визуализировать как 3D.

  1. Запустите инструмент Присоединить, выполнив следующие действия:
    1. Для параметра Входные наборы данных выберите слой Details_Multipatch.
    2. Для параметра Выражение задайте запрос Where Use Type Includes the value(s) и укажите любые значения полей, которые соответствуют стенам или колоннам, сделанным не из стекла.
    3. Для параметра Целевой набор данных выберите слой Walls 3D.
    4. Для параметра Тип сопоставления полей выберите Используйте список полей для согласования изменений.

      Появится список полей с уже сопоставленным полем LEVEL_ID. Включите следующие дополнительные сопоставления:

      1. Сопоставить поле WALL_ID с полем DETAIL_ID.
      2. Сопоставить поле WALL_TYPE с полем USE_TYPE.

      Можно сопоставить дополнительные поля, если они уже существуют в классе пространственных объектов Walls3D.

    5. Щелкните Запустить.
  2. Установите для свойства Этажи слоя Walls 3D значение поля Level ID, чтобы оно поддерживало этажи
  3. Повторите шаги 1 и 2 для слоя Details_Multipatch, чтобы разделить детали для объектов дверей. Настройте выражение так, чтобы оно включало значения поля USE_TYPE, которые применяются к дверям, и выберите слой Doors 3D в качестве целевого набора данных.
  4. Повторите шаги 1 и 2 для Details_Multipatch, чтобы разделить детали для окон. Настройте выражение так, чтобы оно включало значения поля USE_TYPE, которые применяются к окнам, и выберите слой Windows 3D в качестве целевого набора данных.
  5. Повторите шаги 1 и 2 для слоя Details_Multipatch, чтобы отделить детали для любых дополнительных объектов, которые вы хотите визуализировать в этой 3D-сцене. Настройте выражение, чтобы оно включало значения поля USE_TYPE, которые соответствуют этим объектам, и выберите слой Details 3D в качестве целевого набора данных.
  6. При желании измените прозрачность для объектов дверей и окон:
    1. Выберите слой, для которого вы хотите обновить прозрачность.
    2. На контекстной вкладке Векторный слой в группе Эффекты установите параметр Прозрачность на 70%.
  7. Перед публикацией удалите из сцены слой Details_Multipatch и все неиспользуемые 3D-слои.

3D-детали организованы в несколько 3D-слоев, заполнены данными и готовы к использованию в 3D-сцене.

Конвертация полигона строения в 3D-фасад

Чтобы конвертировать полигон строения в текстурированный 3D-фасад, выполните следующие действия:

  1. Щелкните правой кнопкой мыши слой Facilities и выберите Свойства.

    Появится диалоговое окно Свойства слоя.

  2. На вкладке Высота установите параметр Являются пространственными объектами на На абсолютной высоте.
  3. Установите для параметра Использование дополнительных высот объектов значение Z-значения геометрии.
  4. Задайте для параметра Картографическое смещение значение 0.50 метра и щелкните OK.
  5. Щелкните слой для слоя Строения на панели Содержание, чтобы открыть панель Символы.

    Откроется панель Форматировать символ полигона.

  6. Перейдите на вкладку Свойства.
  7. Щелкните кнопку Слои Слои и выберите Процедурная заливка.

    Параметры штриховки и заливки на вкладке Свойства панели Форматировать символ полигона

  8. Щелкните Правило, чтобы назначить пакет процедурных правил (*.rpk), и выберите файл Indoors_TexturedFacade.rpk в папке Символы, который включен в файлы данных продукта Indoors .
    Примечание:

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

    Появятся параметры процедурной заливки. Наводите курсор на каждый параметр для получения информации о том, как значение изменит внешний вид законченного фасада строения.

    В разделе Атрибуты панели Форматировать символ полигона атрибуты HEIGHT_RELATIVE и LEVELS_ABOVE_GROUND считываются непосредственно из полигона зданий Facilities, на что указывают символы подключения базы данных, показанные на следующем изображении:

    Раздел атрибуты на панели Форматировать символ полигона

  9. В разделе Опции отображения вы можете настроить стили и текстуры крыш, стен и окон.

  10. Нажмите Применить после каждого изменения параметра процедурной заливки, чтобы отобразить результат в сцене.
  11. В разделе Опции геометрии вы можете упростить полигон, немного его буферизовать или изменить размер окна.
  12. Щелкните Применить, чтобы создать итоговую модель текстурированного 3D-фасада.
  13. Запустите инструмент Слой 3D в класс объектов, выполнив следующие действия:
    1. Для параметра Входной векторный слой используйте слой Facilities.
    2. Для параметра Выходной класс пространственных объектов введите имя Facilities_Multipatch и поместите его в набор классов объектов Indoor3D.

      В сцену добавляется слой Facilities_Multipatch.

  14. Запустите инструмент Присоединить, выполнив следующие действия:
    1. Для параметра Входные наборы данных выберите слой Facilities_Multipatch.
    2. Для параметра Целевой набор данных выберите слой Facilities 3D.
    3. Для параметра Тип сопоставления полей выберите опцию Используйте список полей для согласования изменений.
    4. Убедитесь, что для параметра Сопоставление полей сопоставляются следующие поля: FACILITY_ID, NAME, NAME_LONG и SITE_ID.

      Вы можете сопоставить больше полей, если они уже существуют в классе пространственных объектов Facilities3D.

    5. Щелкните Запустить.
  15. Переименуйте слой Facilities3D в один из следующих вариантов:
    • Facilities
    • Facilities Textured
    • Facilities3D
    • Facilities 3D
    Примечание:

    Имя слоя Facilities 3D в вашей веб-сцене должно соответствовать одному из вариантов, перечисленных выше.

  16. Удалите со сцены слой Facilities polygon и слой Facilities_Multipatch.
  17. Включите всплывающие окна для слоя Текстурированные строения.

    Настроенные всплывающие окна должны включать все доступные атрибуты. Если их нет, настройте всплывающие окна для отображения нужных атрибутов.

  18. Задайте свойства Слоев Indoor для сцены, чтобы сделать сцену с поддержкой этажности.
    1. Выберите Текстурированные строения для параметра Строения.
    2. Выберите Уровни для параметра Этажи.

Слой Facilities 3D заполнен данными и готов к использованию в 3D-сцене.

Включение отображения ребер

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

  1. Для 3D-слоев, содержащих объекты деталей и секций, при необходимости разверните слои на панели Содержание и щелкните цветной квадрат под слоем, чтобы открыть панель Форматировать символ Mesh.
  2. Нажмите на вкладку Галерея и выберите Белые (используйте текстуры) с ребрами.

Вы можете опубликовать сцену в своей организации ArcGIS organization для работы с ней в приложении Viewer.