13 | Документация

Сервис с 3D моделью

Сервис с 3D моделью предназначен для отображения твердотельных 3D моделей (трехмерных данных в формате KML/KMZ и GLB).
В качестве источника данных для сервиса могут быть:
  • файл формата KML/KMZ;
  • файл формата GLB (Binary GL Transmission Format);
  • картографический сервис (MapServer), содержащий слои с трехмерными данными;
    Для картографического сервиса должен быть включен протокол KML (см. свойства картографического сервиса на ГИС-сервере > Возможности > Протоколы и соглашения - подробнее см. Руководство по публикации ГИС-сервисов ). В таком случае файл формата KML/KMZ будет сформирован «на лету».
    Файл KML/KMZ, загруженный на ГИС-сервер, добавляется как картографический сервис (MapServer). В таком случае для сервиса также надо включить протокол KML.
  • картографический сервис (Model3dServer), содержащий трехмерные модели, на основе файлов KML/KMZ, GLB, IFC файлов.
    Подробнее о публикации сервиса (Model3dServer) на ГИС-сервере - см. Руководство по публикации ГИС-сервисов > Публикация сервисов с 3D моделью .
По умолчанию геопривязка моделей подхватывается из свойств сервиса.
Обратите внимание, если GLB модели не имеют геопривязки, вы можете задать геопривязку в свойствах сервиса (см. Руководство по публикации ГИС-сервисов > Публикация сервисов с 3D моделью ) или с помощью JavaScript-кода во вкладке HTML-кастомизация (см. п. 10.8 ).
Заметьте, что трехмерные объекты в интерактивной карте будут отображаться только в режиме 3D. Убедитесь, что кнопка активации 3D режима (кнопка 3D карта ) в группе инструментов Управление картой добавлена на карту (см. п. 9 ) или 3D режим включен по умолчанию (параметр Переопределить режим по умолчанию ) во вкладке Инструменты и настройка карты (см. п. 8.3.1 ). Чтобы иметь возможность просмотреть трехмерные объекты сервиса ниже уровня Земли, убедитесь, что включена опция Разрешить просмотр под поверхностью земли в режиме 3d (см. п. 8.3.3 ).
Чтобы добавить сервис в картографическое приложение, во вкладке Сервисы нажмите на кнопку Добавить сервис и выберите Сервис с 3D моделью (см. Рисунок 223 ).
Рисунок 223 - Добавление сервиса с 3D моделью
Задайте Название слоя , с которым данные картографического сервиса будут отображаться в легенде.
Укажите url сервиса.
Отметьте при необходимости следующие настройки (см. Рисунок 224 ):
  • Закрепить на земле ;
    Опция позволяет поместить объекты на уровень земли. По умолчанию отключена.
    Отметьте опцию, чтобы объекты разместить на уровне земли.
  • Видимость по умолчанию ;
    Опция включает видимость объектов на карте по умолчанию. По умолчанию отмечена.
    При необходимости отключите опцию.
  • Показывать в легенде ;
    Опция позволяет отображать добавленный сервис в легенде. По умолчанию отмечена. При необходимости отключите опцию.
    Для удобства слои разных сервисов можно объединить в групповой слой. Отметьте вложенную опцию Группировать в слой и введите название группового слоя. Чтобы заданный групповой слой при открытии карты был развернут, отметьте дополнительную опцию Развернуть по умолчанию .
  • Прозрачность слоев при открытии карты .
    Опция позволяет настроить прозрачность 3D моделей. По умолчанию отключена.
    Отметьте опцию и задайте уровень прозрачности от 0 до 100% , где 0% - не прозрачные, 100% - полностью прозрачные.
  • Рисунок 224 - Настройки сервиса с 3D моделью
Вы можете настроить идентификацию элементов модели. Для этого в группе настроек Группы 3D-элементов нажмите и добавьте новую группу.
При необходимости задайте следующие настройки группы (см. Рисунок 225 ):
  • Имя - название группы элементов;
    Имя группы отображается в заголовке Карточки объекта при идентификации элемента группы (если для группы не определена Связь с первичными данными ).
  • Фильтр для группы - условие, ограничивающее набор элементов группы;
    Нажмите , чтобы добавить условие. Укажите свойство 3D моделей, оператор сравнения («равно» ( = ), «не равно» ( <> ), начинается с , содержит , не содержит , «больше» ( > ), «больше или равно» ( >= ), «меньше» ( < ), «меньше или равно» ( <= ), пустое значение или непустое значение ). Задайте значение, с которым сравнивать (можно использовать макросы - см. п. 16).
    Можно задавать несколько условий применимости. В таком случае определите логику применимости заданных условий (параметр Логика применимости ) - И (все заданные условия должны выполняться), ИЛИ (хотя бы одно из заданных условий выполняется).
    Фильтр может быть не задан, в таком случае в группу входят все элементы моделей.
    Обратите внимание, что набор свойств для каждого типа элементов свой. Узнать набор свойств вы можете, настроив предварительно идентификацию элементов модели без фильтра (т. е. одну группу для всех элементов) с Карточкой объекта по умолчанию. В Карточке объекта по умолчанию отображаются все доступные свойства элемента модели.
  • Связь с первичными данными ;
    В параметре задается слой картографического сервиса (MapServer), связанный (ассоциированный) с элементом 3D модели.
    Выберите нужный картографический сервис (параметр Сервис ). Укажите номер слоя вручную или выберите из выпадающего списка слоев указанного сервиса (параметр Слой ).
    Обратите внимание, что выбранный картографический сервис должен быть добавлен к картографическому приложению.
    Дополнительно задайте Фильтр для поиска объектов - условие на атрибутивные поля выбранного слоя, по которому определяется объект, соответствующий элементу модели. Имя атрибутивного поля выбранного слоя указывается, как есть, а свойство элемента модели - в квадратных скобках. При этом будет взят один объект выбранного слоя, соответствующий фильтру.
    Пример фильтра: oid=[element] , где [element] - свойство элемента модели.
    Когда фильтр задан, при идентификации элемента модели открывается Карточка ассоциированного объекта из указанного слоя.
    Если фильтр для поиска объектов не задан, то подразумевается, что атрибутивные поля указанного слоя совпадают с именами свойств элемента модели. И в таком случае из указанного слоя для отображения в Карточке объекта (шаблон задается ниже) свойств элемента модели используются набор полей, алиасы полей, настроенные на поля домены. Если атрибутивных полей слоя больше, чем свойств элемента модели, то такие поля в Карточке объекта останутся не заполнеными.
  • Идентификация по клику ;
    Опция по умолчанию отключена. Отметьте опцию, чтобы разрешить идентифицировать элементы группы.
  • Шаблон карточки объекта .
    Если Связь с первичными данными не определена, выберите из выпадающего списка шаблон Карточки объекта , который будет использоваться при идентификации элемента модели. При этом в Карточке объекта будут отображаться свойства элемента модели.
    Выпадающий список формируется из всех настроенных шаблонов Карточки объекта (см. п. 5 ).
    Для отображения свойств элемента модели в шаблоне Карточки объекта можно использовать блоки Атрибуты и HTML-код , настраивать условия видимости, вкладки, кнопки и т. д. При этом в блоках и условиях видимости вместо имен атрибутивных полей указываются имена свойств элемента модели.
    В блоке HTML-код имя свойства элемента указывается в квадратных скобках (например, [subcategory] ), причем для значения свойства через двоеточие можно задавать форматы. В блоке также можно использовать макросы из приложения (см. п. 16 ), а также макросы:
    • {ServiceUrl} - полный URL сервиса;
    • {LayerId} - номер слоя;
    • {Token} - цифробуквенная последовательность токена, если сервис доступен только авторизованным пользователям.
      Шаблон Карточки объекта может быть не задан, будет применена Карточка объекта по умолчанию. В Карточке объекта по умолчанию отображаются все доступные свойства элемента модели.
      Если модель не имеет свойств, то Карточка объекта при идентификации элемента модели не откроется.
    • Рисунок 225 - Настройки группы элементов сервиса с 3D моделью
Вы можете добавить столько групп элементов, сколько требуется. Чтобы удалить группу, нажмите справа от параметра Имя .
Обратите внимание, что при идентификации элемента модели вначале определяется, в какую группу элементов попадает выбранный. Если элемент попадает в несколько добавленных групп, то берется первая из подходящих групп в списке. Группы располагаются в списке в порядке их добавления. Вы можете изменить порядок следования групп, удерживая слева от параметра Имя и перетаскивая группу в нужное место.
Группа без фильтра, расположенная в списке последней, является группой по умолчанию.
Идентифицируемый элемент модели на карте подсвечивается. Подсветка отключается при закрытии Карточки объекта .
Объекты сервиса на основе KML/KMZ файла и картографического сервиса (MapServer), содержащего слои с трехмерными данными, можно идентифицировать в 2D и 3D режиме.
Пример настройки сервиса и отображение объекта в 3D на карте - см. Рисунок 226 .
Рисунок 226 - Отображение трехмерной модели сервиса с 3D моделью на основе файла KML/KMZ в трехмерном режиме на интерактивной карте

Работа с 3D моделью в 3D режиме интерактивной карты

В интерактивной карте в 3D режиме поворот, изменение угла наклона всей карты происходит путем удержания правой кнопки мыши и движения влево-вправо, вперед-назад. Для того, чтобы у пользователя карты была возможность вернуть ориентацию карты на север, добавьте на карту кнопку Поворот на север из раздела Управление картой (см. п. 9 ).
В окне Слои карты для сервиса доступна кнопка Перейти к экстенту слоя , а для сервиса на основе GLB-файла или картографического сервиса Model3dServer на основе файлов GLB или IFC (с GLB-моделями) - также дополнительные свойства в контекстном меню слоя (см. Рисунок 227 ).
Обратите внимание, что в настройках далее поворот, вращение, наклон, сдвиг происходят относительно центра сферы (origin point), описанной вокруг модели слоя. Чаще всего, центр сферы совпадает с центром модели.
Рисунок 227 - Отображение сервиса в окне Слои интерактивной карты (слева - кнопки приближения к охвату и перехода в контекстное меню слоя, справа - контекстное меню слоя)
Контекстное меню слоя содержит следующие свойства:
  • Геопривязка (см. Рисунок 228 ):
    По умолчанию подхватываются настройки геопривязки из сервиса (см. Руководство по публикации сервисов > Публикация сервисов с 3D моделью > Настройки сервиса ) либо из JavaScript-кода, добавленного во вкладке HTML-кастомизация (см. п. 10.8 ).
    Пользователь может скорректировать геопривязку модели слоя, если по умолчанию модель отображается некорректно.
    • Местоположение (X,Y) ;
      По умолчанию отображаются координаты проекции центра сферы (origin point) на плоскости.
      Пользуясь инструментом , пользователь может задать новое местоположение, кликнув в нужное место на карте.
      Помимо этого, при наведении на строку ввода мышью пользователь может изменить введенное значение колесиком мыши: щелчок вперед добавляет 0.00001 к значению координаты, щелчок назад убавляет 0.00001 .
    • Высота (Z) ;
      Пользователь может задать высоту расположения модели слоя. По умолчанию модель расположена на поверхности земли.
      При наведении на строку ввода мышью пользователь может изменить введенное значение высоты:
      • колесиком мыши: щелчок вперед добавляет 1 к значению, щелчок назад убавляет 1 ;
      • колесиком мыши с зажатой клавишей Shift: щелчок вперед добавляет 0.1 к значению, щелчок назад убавляет 0.1 .
  • Корректировка геопривязки (см. Рисунок 228 ):
    Если координаты центра верны, но модель по-прежнему отображается некорректно, пользователь может задать дополнительные корректировки.
    • Сдвиг в метрах ;
      Пользователь может задать сдвиг модели относительно координат центра сферы на плоскости (X, Y) и по высоте (Z). По умолчанию сдвига нет.
      При наведении на строку ввода мышью пользователь может изменить введенное значение сдвига:
      • колесиком мыши: щелчок вперед добавляет 1 к значению, щелчок назад убавляет 1 ;
      • колесиком мыши с зажатой клавишей Shift: щелчок вперед добавляет 0.1 к значению, щелчок назад убавляет 0.1 .
    • Вращение в градусах ;
      Пользователь может повернуть модель относительно центра сферы вокруг всех трех осей (X, Y, Z). По умолчанию поворот не задан.
      При наведении на строку ввода мышью пользователь может изменить введенное значение угла:
      • колесиком мыши: щелчок вперед добавляет 3 к значению, щелчок назад убавляет 3 ;
      • колесиком мыши с зажатой клавишей Shift: щелчок вперед добавляет 1 к значению, щелчок назад убавляет 1 .
    • Масштабирование ;
      Пользователь может задать коэффициент масштабирования модели. По умолчанию модель отображается, как есть ( 1 ).
      При наведении на строку ввода мышью пользователь может изменить введенное значение колесиком мыши: щелчок вперед добавляет 0.01 к значению, щелчок назад убавляет 0.01 .
      Обратите внимание, что если пользователь интерактивной карты имеет права доступа к Настройкам CoGIS Server, на котором опубликован сервис, то для такого пользователя в свойствах Геопривязка и Корректировка геопривязки доступна кнопка Сохранить , чтобы заданные пользователем настройки сохранились непосредственно в свойствах сервиса на ГИС-сервере.
    • Рисунок 228 - Контекстное меню слоя с 3D моделями в 3D режиме (слева - настройки геопривязки, справа - корректировки геопривязки)
  • Сечения плоскостью (см. Рисунок 229 ):
    Пользователь может настроить сечения модели плоскостями.
    • Цвет разреза - цвет разреза модели;
      Нажав на цвет, пользователь может выбрать нужный из палитры. По умолчанию - красный.
    • Цвет плоскости - цвет секущей плоскости;
      Нажав на цвет, пользователь может выбрать нужный из палитры. По умолчанию - белый.
      Также можно указать прозрачность секущей плоскости ( 0% - не прозрачная, 100% - полностью прозрачная). По умолчанию - 80% .
    • Пересекать результат сечений ;
      По умолчанию опция отключена, отсеченные каждой секущей плоскостью части модели объединяются.
      С отмеченной опцией отсеченные каждой секущей плоскостью части модели пересекаются (каждая следующая секущая плоскость отсекает часть от уже отсеченного предыдущими плоскостями).
    • Интерактивные плоскости ;
      По умолчанию опция отключена.
      С отмеченной опцией секущие плоскости видны на карте. Кроме того, пользователь в этом случае может двигать секущую плоскость мышью.
    • Сечения :
      В данном разделе настраиваются секущие плоскости.
      Чтобы добавить сечение, необходимо нажать на . Для каждой секущей плоскости пользователь может задать Поворот и Наклон в градусах, а также Смещение в процентах (по умолчанию 50% ).
      Поворот осуществляется относительно проекции центра сферы на плоскости от направления Запад ( 0° - положение по умолчанию) по часовой стрелке (от 0° до 360° ). При этом видна часть модели, расположенная в положительном направлении («перед» / «за» секущей плоскостью).
      Наклон осуществляется относительно центра сферы по высоте от вертикали ( 0° - положение по умолчанию) по направлению «от себя» (отрицательный угол, от 0° до -90° ) или «на себя» (положительный угол, от 0° до 90° ). При этом в случае отрицательного угла видимая часть модели расположена «под» секущей плоскостью, в случае положительного угла - «над» секущей плоскостью.
      Смещение осуществляется от центра сферы по оси Y ( 50% - положение по умолчанию) по направлению «от себя» (от 50% до 0% ) или «на себя» (от 50% до 100% ). При этом видна часть модели, расположенная «перед» / «за» секущей плоскостью.
      Чтобы убрать добавленное сечение, пользователю нужно нажать на , расположенную справа в строке Поворот .
Для каждой добавленной секущей плоскости доступны кнопки предустановленных положений, по нажатии на которую видна:
  • - правая (восточная) половина модели;
  • - левая (западная) половина модели;
  • - северная половина модели;
  • - южная половина модели;
  • - верхняя половина модели;
  • - нижняя половина модели.
В окне Слои карты слой, для которого настроены сечения, помечается иконкой . Нажав на иконку, пользователь может убрать сечения (см. Рисунок 222 ).
Рисунок 229 - Сечение плоскостями моделей сервиса с 3D моделью
Рисунок 230 - Кнопка сброса сечений слоя с 3D моделью
Обратите внимание, что:
  • контекстное меню слоя доступно, если отключена опция Скрыть меню слоев в горизонтальной вкладке Легенда вкладки Инструменты и настройка карты (см. п. 8.4.1 ).
  • в настройках сервиса (см. Руководство по публикации ГИС-сервисов ) может быть задана условная видимость модели сервиса; в таком случае слой, модели которого на данный момент не видны, будет помечен в окне слои карты светло-серым цветом.
Кроме того, вы можете настроить:
  • просмотр трехмерных объектов под поверхностью земли в горизонтальной вкладке Карта вкладки Инструменты и настройка карты (см. п. 8.3.3 );
  • освещенность трехмерных объектов в горизонтальной вкладке Карта вкладки Инструменты и настройка карты (см. п. 8.3.4 );
    Настройки освещенности поддерживаются только для моделей сервиса на основе GLB-файла или картографического сервиса Model3dServer на основе GLB или IFC файла (с GLB-моделями).
  • производительность отрисовки трехмерных объектов в горизонтальной вкладке Карта вкладки Инструменты и настройка карты (см. п. 8.3.5 ).
    Настройки производительности поддерживаются только для моделей сервиса на основе GLB-файла или картографического сервиса Model3dServer на основе GLB или IFC файла (с GLB-моделями).
В активном 3D режиме интерактивной карты пользователю также доступны следующие действия с 3D моделями сервиса:
  • идентификация;
    Настраивается в настройках сервиса (см. п. 4.7 ).
  • измерение длины, периметра и площади;
    Осуществляется инструментами группы Измерение . При переключении режима измерения в 3D (параметр Расчет расстояний в ) расчет расстояний происходит с учетом Z-координаты (см. подробнее п. 9.1 ).
  • управление освещенностью объектов;
    Управление происходит в окне Настройки (см. п. 9.7.4 ).
    Настройки освещенности поддерживаются только для моделей сервиса на основе GLB-файла или картографического сервиса Model3dServer на основе GLB или IFC файла (с GLB-моделями).
  • управление производительностью отрисовки трехмерных объектов;
    Управление происходит в окне Настройки (см. п. 9.7.5 ).
  • просмотр 3D моделей с помощью инструмента Шторка (см. п. 9.12 ).
    С помощью кнопки инструмента Шторка в Легенде можно просматривать только модели сервиса на основе GLB-файла или картографического сервиса Model3dServer на основе GLB или IFC файла (с GLB-моделями).
    При использовании инструмента Шторка трехмерные модели сервиса на основе KMZ файла всегда отображаются с обеих сторон от линии-разделителя.
Чтобы возможности управления освещенностью и отрисовкой были доступны пользователю, добавьте кнопку Настройки на карту (см. п. 9.7 ).
Для работы с 3D-картой предъявляются следующие минимальные технические требования к видеокарте пользователя:
  • Nvidia GeForce 8000 серии или новее;
  • Intel HD Graphics 4000 или новее;
  • AMD Radeon HD 5000 серии или новее.