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

ArcGIS Enterprise (10.9.1)    |

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

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

Примечание:
  • Приложение поддерживает режим 3D, только если была опубликована соответствующая веб-карта. Поэтому автономные таблицы не нужно публиковать в веб-сцене.
  • Содержание панели информации в режиме 3D зависит от конфигурации 2D веб-карты. Имена слоев в 3D-сцене должны соответствовать соответствующему 2D-слою на веб-карте, если не указано иное, а для 2D-слоя должны быть настроены всплывающие окна для отображения информации на информационной панели при щелчке по объекту в 3D-сцене.

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

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

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

    Сцены, не учитывающие этажность, не поддерживаются в приложении Viewer для ArcGIS Online. Они не будут поддерживаться в ArcGIS Enterprise версии 11 и выше.

  5. Создайте в своей базе данных Indoors набор классов объектов Indoors_3D. У него должна быть такая же пространственная привязка, как и у имеющегося набора набор классов объектов Indoors.
  6. На панели Содержание сцены отключите слой Elevation Surfaces, сняв отметку для слоя WorldElevation3D/Terrain3D.

Подготовка помещений для работы в 3D

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

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

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

  2. На вкладке Высота установите параметр Являются пространственными объектами на На абсолютной высоте.
  3. Задайте высоту объекта для использования опции Z-значения геометрии.
  4. Задайте для параметра Картографическое смещение значение 0.5 метра.
    Свойства слоя
  5. На вкладке Определяющий запрос задайте для определяющего запроса Не включать значения и укажите атрибут USE_TYPE для всех лестниц и лифтов.
  6. Нажмите OK.
  7. Запустите инструмент Слой 3D в класс объектов:
    1. Для параметра Входной векторный слой используйте слой Помещения.
    2. Для параметра Выходной векторный слой введите имя Units3D и поместите слой в набор классов Indoors_3D.

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

  8. Удалите слой Секции из сцены.
    Примечание:

    Оставьте только слой Units3D.

  9. Задайте для свойства Этажи значение LEVEL_ID, чтобы включить поддержку этажей для слоя Units3D.
  10. Включите всплывающие окна для слоя Units3D.

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

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

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

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

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

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

    Чаще всего это стены, двери, окна и колонны.

    Примечание:

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

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

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

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

      К примеру, введите 1, чтобы вытянуть объекты на 1 метр.

    4. Задайте для параметра Единицы измерения Метры.
  7. Запустите инструмент Слой 3D в класс объектов:
    1. Для параметра Входной векторный слой используйте слой Детали.
    2. Для параметра Выходной векторный слой введите имя Details3D и поместите слой в набор классов Indoors_3D.
  8. Задайте для свойства Этажи значение Level_ID, чтобы включить поддержку этажей для слоя Units3D.
  9. Удалите слой Детали из сцены.
    Примечание:

    Оставьте только слой Details3D.

Отделение деталей

Для отделения деталей необходимо выполнить следующие шаги:

  1. Создайте копию слоя Details3D в сцене и переименуйте слои, присвоив следующие имена:
    • Детали (стены)
    • Детали (двери)
  2. Задайте для свойства Этажи значение LEVEL_ID, чтобы включить поддержку этажей для нового слоя.
  3. На вкладке Определяющий запрос обоих слоев Детали задайте для определяющего запроса Не включать значения и укажите атрибут USE_TYPE для всех лестниц и лифтов.
  4. На вкладке Определяющий запрос для слоя Детали (сцены) задайте для определяющего запроса Не включать значения и укажите линии с атрибутом USE_TYPE, представляющие стену или колонну (не стеклянные).
  5. На вкладке Определяющий запрос слоя Детали (двери) задайте для определяющего запроса Не включать значения и укажите линии с атрибутом USE_TYPE, представляющие двери, окна или стеклянные стены.

    Эти детали частично прозрачные, чтобы было видно, что через них можно все увидеть или пройти через них.

  6. На вкладке Оформление, в разделе Эффекты, переместите бегунок Прозрачность на отметку 70% для слоя Детали (двери).

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

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

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

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

  2. Задайте на вкладке Высота высоту объекта для использования опции Z-значения геометрии.
  3. Задайте для параметра Картографическое смещение значение 0.5 метра.
  4. Щелкните слой для слоя Строения на панели Содержание, чтобы открыть панель Символы.

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

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

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

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

  8. В разделе Атрибуты панели Форматировать символ полигона атрибуты HEIGHT_RELATIVE и LEVELS_ABOVE_GROUND считываются из полигона Facilities, на что указывают синие символы подключения базы данных:
    Разделы Форматировать символ полигона
  9. В разделе Опции отображения вы можете настроить стили и текстуры крыш, стен и окон.
  10. Нажмите Применить после каждого изменения параметра процедурной заливки, чтобы увидеть результат в сцене.
  11. В разделе Опции геометрии вы можете упростить полигон, немного его буферизовать или изменить размер окна.
  12. Щелкните Применить, чтобы создать итоговую модель текстурированного 3D-фасада.
  13. Запустите инструмент Слой 3D в класс объектов:
    1. Для параметра Входной векторный слой используйте слой Строения.
    2. Для параметра Выходной векторный слой введите имя Facilities3D и поместите слой в набор классов Indoors_3D.

      Слой мультипатч Facilities3D будет добавлен к сцене.

  14. Переименуйте слой Facilities3D в Существующие парки.

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

  15. Удалите полигональный слой Строения из сцены.
  16. Включите всплывающие окна для слоя Текстурированные строения.

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

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

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

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

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

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