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

Сервис с 3D тайлами

Сервис с 3D тайлами (Tileset3dServer) предназначен для отображения трехмерных моделей данных (облаков точек и 3D mesh) в форматах:
  • Batched 3D Model (b3dm);
  • Instanced 3D Model (i3dm);
  • Point Cloud (pnts);
  • Composite (cmpt);
  • Binary GL Transmission Format (glb).
Публикация сервиса с 3D тайлами описана в Руководстве по публикации ГИС-сервисов .
Заметьте, что трехмерные объекты в интерактивной карте будут отображаться только в режиме 3D. Убедитесь, что кнопка активации 3D режима (кнопка 3D карта ) в группе инструментов Управление картой добавлена на карту (см. п. 9 ) или 3D режим включен по умолчанию (параметр Переопределить режим по умолчанию ) во вкладке Инструменты и настройка карты (см. п. 8.3.1 ). Чтобы иметь возможность просмотреть трехмерные объекты сервиса ниже уровня Земли, убедитесь, что включена опция Разрешить просмотр под поверхностью земли в режиме 3d (см. п. 8.3.3 ).
Чтобы добавить сервис в картографическое приложение, во вкладке Сервисы нажмите на кнопку Добавить сервис и выберите Сервис с 3D тайлами (см. Рисунок 215 ).
Рисунок 215 - Добавление сервиса с 3D тайлами
Задайте Название слоя , с которым данные сервиса будут отображаться в легенде (см. Рисунок 216 ).
Укажите url сервиса - url до источника (см. параметр Источник в Настройках сервиса с 3D тайлами на ГИС-сервере - см. Руководство по публикации ГИС-сервисов ). По умолчанию подразумевается url до файла tileset.json, лежащий в корне структуры сервиса.
Опция Корректировка высоты позволяет задать сдвиг объектов по высоте в метрах. Указанное число добавляется к каждой высотной отметке объекта сервиса. По умолчанию установлено 0, то есть считается, что сдвиг не требуется. Задайте положительное число, чтобы осуществить сдвиг по высоте вверх. Задайте отрицательное число, что сдвинуть объекты по высоте вниз.
Если объекты сервиса с 3D тайлами имеют высотные отметки относительно уровня Земли, то при добавлении трехмерной поверхности (сервиса высот) к карте отметьте опцию Также использовать в случае сервиса высоты . В таком случае к каждой высотной отметке объекта добавится и значение, заданное в параметре Корректировка высоты , и высотная отметка поверхности сервиса высот.
Если объекты сервиса имеют абсолютные высотные отметки, то при добавлении сервиса высот к карте оставьте опцию Также использовать в случае сервиса высоты отключенной, так как в таком случае для корректного отображения объектов сервиса с 3D тайлами на поверхности (с учетом заданной Корректировки высоты ) дополнительных настроек не требуется.
Опция Видимость по умолчанию включает видимость объектов на карте. Опция по умолчанию включена.
Опция Показывать в легенде позволяет отображать добавленный сервис в легенде. Опция по умолчанию включена. Для удобства слои разных сервисов можно объединить в групповой слой. Отметьте вложенную опцию Группировать в слой и введите название группового слоя. Чтобы заданный групповой слой при открытии карты был развернут, отметьте дополнительную опцию Развернуть по умолчанию .
Опция Прозрачность слоев при открытии карты позволяет настроить прозрачность 3D тайлов. По умолчанию отключена. Отметьте опцию и задайте уровень прозрачности от 0 до 100% , где 0% - не прозрачные, 100% - полностью прозрачные.
Рисунок 216 - Настройки сервиса с 3D тайлами
Вы можете настроить идентификацию элементов 3D модели. Для этого в группе настроек Группы 3D-элементов нажмите и добавьте новую группу.
При необходимости задайте следующие настройки группы (см. Рисунок 217 ):
  • Имя - название группы элементов;
    Имя группы отображается в заголовке Карточки объекта при идентификации элемента группы (если для группы не определена Связь с первичными данными ).
  • Фильтр для группы - условие, ограничивающее набор элементов группы;
    Нажмите , чтобы добавить условие. Укажите свойство 3D моделей, оператор сравнения («равно» ( = ), «не равно» ( <> ), начинается с , содержит , не содержит , «больше» ( > ), «больше или равно» ( >= ), «меньше» ( < ), «меньше или равно» ( <= ), пустое значение или непустое значение ). Задайте значение, с которым сравнивать (можно использовать макросы - см. п. 16).
    Можно задавать несколько условий применимости. В таком случае определите логику применимости заданных условий (параметр Логика применимости ) - И (все заданные условия должны выполняться), ИЛИ (хотя бы одно из заданных условий выполняется).
    Фильтр может быть не задан, в таком случае в группу входят все элементы моделей.
    Обратите внимание, что набор свойств для каждого типа элементов свой. Узнать набор свойств вы можете, настроив предварительно идентификацию элементов модели без фильтра (т. е. одну группу для всех элементов) и без указания шаблона Карточки объекта (будет применена Карточка объекта по умолчанию). В Карточке объекта по умолчанию отображаются все доступные свойства элемента модели.
  • Связь с первичными данными ;
    В параметре задается слой картографического сервиса (MapServer), связанный (ассоциированный) с элементом 3D модели.
    Выберите нужный картографический сервис (параметр Сервис ). Укажите номер слоя вручную или выберите из выпадающего списка слоев указанного сервиса (параметр Слой ).
    Обратите внимание, что картографический сервис должен быть добавлен к картографическому приложению.
    Дополнительно задайте Фильтр для поиска объектов - условие на атрибутивные поля выбранного слоя, по которому определяется объект, соответствующий элементу модели. Имя атрибутивного поля выбранного слоя указывается, как есть, а свойство элемента модели - в квадратных скобках. При этом будет взят один объект выбранного слоя, соответствующий фильтру.
    Пример фильтра: oid=[element] , где [element] - свойство элемента модели.
    Когда фильтр задан, при идентификации элемента модели открывается Карточка ассоциированного объекта из указанного слоя.
    Если фильтр для поиска объектов не задан, то подразумевается, что атрибутивные поля указанного слоя совпадают с именами свойств элемента модели. И в таком случае из указанного слоя для отображения в Карточке объекта (шаблон задается ниже) свойств элемента модели используются алиасы полей и настроенные на них домены.
  • Подсветка по клику ;
    По умолчанию опция отключена, идентифицируемый объект не подсвечивается.
    Отметьте опцию, чтобы при идентификации выбранный объект подсвечивался.
    Выберите из палитры Цвет подсветки или задайте его шестнадцатеричный код вручную, задайте Прозрачность подсветки (где 0% - не прозрачная, 100% - полностью прозрачная). По умолчанию установлена Прозрачность в 25% .
  • Идентификация по клику ;
    Опция по умолчанию отключена. Отметьте опцию, чтобы разрешить идентифицировать элементы группы.
  • Шаблон карточки объекта .
    Если Связь с первичными данными не определена, выберите из выпадающего списка шаблон Карточки объекта , который будет использоваться при идентификации элемента модели. При этом в Карточке объекта будут отображаться свойства элемента модели.
    Выпадающий список формируется из всех настроенных шаблонов Карточки объекта (см. п. 5 ).
    Для отображения свойств элемента модели в шаблоне Карточки объекта можно использовать блоки Атрибуты и HTML-код , настраивать условия видимости, вкладки, кнопки и т. д. При этом в блоках и условиях видимости вместо имен атрибутивных полей указываются имена свойств элемента модели.
    В блоке HTML-код имя свойства элемента указывается в квадратных скобках (например, [subcategory] ), причем для значения свойства через двоеточие можно задавать форматы. В блоке также можно использовать макросы из приложения (см. п. 16 ), а также макросы:
    • {ServiceUrl} - полный URL сервиса;
    • {LayerId} - номер слоя;
    • {Token} - цифробуквенная последовательность токена, если сервис доступен только авторизованным пользователям.
      Шаблон Карточки объекта может быть не задан, будет применена Карточка объекта по умолчанию. В Карточке объекта по умолчанию отображаются все доступные свойства элемента модели.
    • Рисунок 217 - Настройки группы элементов сервиса с 3D тайлами
Пример настройки сервиса и отображение объектов сервиса с 3D тайлами на интерактивной карте - см. Рисунок 218 .
Рисунок 218 - Отображение трехмерных объектов сервиса с 3D тайлами в трехмерном режиме на интерактивной карте

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

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