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

Доступно для организации ArcGIS, имеющей лицензию на дополнительный модуль Indoors.

Вы можете дополнительно создать 3D-сцену для использования в Indoor Viewer, путем конвертации слоев indoor, используемых в 2D-картах в мультипатчи в ArcGIS Pro. Установив относительную высоту секций и их деталей, а затем преобразовав полигон здания в текстурированный фасад, вы можете создать трехмерную внутреннюю сцену для исследования и навигации по ней с использованием Viewer.

Примечание:

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

Создание 3D-сцены

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

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

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

    Примечание:

    Сцены без поддержки этажей не поддерживаются в приложении Viewer для ArcGIS Online и для ArcGIS Enterprise 11 и более поздних версий.

  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 Use Type includes the value(s) и укажите значения полей, представляющие объекты, которые вы хотите отобразить в сцене в виде вытянутых объектов, таких как стены, двери, окна и колонны.
    Примечание:

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

  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.

    Имя слоя строений в вашей веб-сцене должно быть Строения или Текстурированные строения.

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

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

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

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

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

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

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