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

Доступно с дополнительным модулем ArcGIS Indoors Maps.

Вы можете дополнительно создать 3D-сцену для использования в Indoor Viewer, для изучения и навигации.

Есть два метода создания 3D-сцены, соответствующей модели Indoors:

  1. Преобразуйте слои indoor, используемые в 2D-карте, в мультипатчи в ArcGIS Pro, установив относительную высоту секций и их деталей и преобразовав полигон объекта в текстурированный фасад.
  2. Используйте инструмент Импорт BIM в набор данных Indoor для импорта поднабора 3D-объектов из модели Revit в 3D набор данных Indoor, созданный с помощью инструмента Создать 3D набор данных Indoor.

Примечание:

Indoor Viewer поддерживает режим 3D только в том случае, если соответствующая веб-карта уже опубликована. Поэтому автономные таблицы не нужно публиковать в веб-сцене.

Создание 3D-сцены с использованием модели Revit

Можно использовать инструмент Создать 3D набор данных Indoor, чтобы создать набор данных, и запустить инструмент Импорт BIM в набор данных Indoor, чтобы импортировать поднабор модели Revit в модель Indoors. После импорта данных в 3D набор данных Indoor можно по желанию присоединить дополнительные данные из модели Revit или ваших 2D наборов данных.

Выполните следующее, чтобы подготовить сцену для Indoor Viewer, используя данные, импортированные из модели Revit:

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

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

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

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

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

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

Перед подготовкой секций для работы в 3D выполните следующие действия:

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

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

    Примечание:

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

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

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

  6. На панели Содержание сцены отключите слой Elevation Surfaces, сняв отметку для слоя WorldElevation3D/Terrain3D.

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

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

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

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

  2. На вкладке Высота установите параметр Являются пространственными объектами на На абсолютной высоте.
  3. Установите для параметра Использование дополнительных высот объектов значение Z-значения геометрии.
  4. Задайте для параметра Картографическое смещение значение 0.5, а для Вертикальные единицы измерения задайте Метры.
    Настройте высоту объектов в диалоговом окне Свойства слоя.
  5. На вкладке Определяющий запрос задайте для определяющего запроса значение Где, в котором тип использования Use Type не включает значения, и укажите значения полей, представляющие секции лестницы или лифта.
  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.

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

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

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

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

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

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

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

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

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

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

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

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

    Оставьте только слои Details_Multipatch и Details 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-фасад:

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

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

  2. На вкладке Высота установите параметр Являются пространственными объектами на На абсолютной высоте.
  3. Установите для параметра Использование дополнительных высот объектов значение Z-значения геометрии.
  4. Задайте для параметра Картографическое смещение значение 0.5 метра и щелкните 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 Textured
    • Facilities3D
    • Facilities 3D

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

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

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

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

Включение отображения ребер (дополнительно)

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

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

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