Блок "Генерация полигональной сетки"
Блок доступен начиная с версии 0.10
Назначение
Блок позволяет сгенерировать сетку (слой, состоящий из одинаковых объектов) для отображения в блоке "3D-карта". Данные, поступающие с выхода "Полигоны", должны быть обработаны в блоке \ "Слой данных для 3D карты". Для работы с блоком его необходимо выбрать в библиотеке и перенести в область графа.
Настройки блока
Доступ к настройкам блока осуществляется через контекстное меню (пункт Настройки):
Общие настройки блоков описаны в отдельном разделе.
Группа "Специфические настройки блока"
| Наименование | Тип | Обязательное | Описание | Пример |
|---|---|---|---|---|
| Наименование слоя | Строка | Нет | Название слоя для отображения в дереве слоев. Может отсутствовать или задаваться в описании слоя (см. детальное описание каждого слоя). | |
| Тип геометрии | Выпадающий список | Да | Типы геометрии для генерации сетки. Возможные значения: - Шестиугольники (правильные) - Ромбы - Прямоугольники. |
|
| Сторона правильного шестиугольника, м | Целое число | Да | Доступен, если выбран тип геометрии: Шестиугольники (правильные). Задает сторону правильного шестиугольника в метрах. | |
| Ширина ромба, м | Целое число | Нет | Доступен, если выбран тип геометрии: Ромбы. Задает ширину ромба в метрах. Не обязательный параметр. При значении параметра равным нулю будет сгенерирован правильный ромб (ширина равна высоте). | |
| Высота ромба, м | Целое число | Да | Доступен, если выбран тип геометрии: Ромбы. Задает высоту ромба в метрах. | |
| Ширина прямоугольника, м | Целое число | Нет | Доступен, если выбран тип геометрии: Прямоугольники. Задает ширину прямоугольника в метрах. Не обязательный параметр. При значении параметра равным нулю будет сгенерирован квадрат (ширина равна высоте). | |
| Высота прямоугольника, м | Целое число | Да | Доступен, если выбран тип геометрии: Прямоугольники. Задает высоту прямоугольника в метрах. | |
| Покрытие сеткой | Выпадающий список | Да | Способ создания сетки. Возможные варианты: - По экстенту - задаются верхний левый и правый нижние координаты сетки - По полигону - задаются все координаты полигона. |
Генерация нескольких полигонов по экстенту невозможна. Требуется указать только две точки для одного полигона.
| Наименование | Тип | Обязательное | Описание | Пример |
|---|---|---|---|---|
| Только пересечение с полигоном | Флаг | Да | Оставить только ту часть сетки, которая пересекается с полигоном. Не применяется при способе покрытия По экстенту. | |
| Координаты сетки | JSON | Нет | Указываются координаты полигона/точки экстента для генерации сетки. |
Если на вход "Координаты сетки" пришли значения, эти параметры игнорируются (координаты берутся из входа блока).
| Наименование | Тип | Обязательное | Описание | Пример |
|---|---|---|---|---|
| Генерировать идентификаторы | Флаг | Нет | Задает необходимость генерации идентификаторов для полигонов сетки. Идентификатором является целое число, начиная от нуля. Хранится в первичном ключе (pkey) объекта с идентификатором id. |
|
| Формирование связей полигонов | Флаг | Нет | Доступен, если включена настройка Генерировать идентификаторы. Задает необходимость формирования массива со связями полигонов. При включении появляется отдельный выход "Связи полигонов". | |
| Генерировать наименования | Флаг | Нет | Задает необходимость генерации наименования для полигонов сетки. Наименованием является строка, формата <ТИП> <ЧИСЛО>, где: - ТИП - тип геометрии - ЧИСЛО - уникальный идентификатор полигона, начиная с 1 Хранится в атрибутах ( attrs) объекта с идентификатором name. |
|
| Атрибуты для агрегации | JSON | Нет | Формат агрегации атрибутов объектов, пришедших на вход "Точки". Массив словарей формата {name: <Имя атрибута>, method: <Метод, см. ниже>}. Методы агрегации:- sum - сумма;- avg - среднее;- concat - соединение строковых элементов. Необходимо указать разделитель (параметр splitter); при его отсутствии строки склеиваются без пробела. |
Пример настройки Атрибуты для агрегации
Входы блока
| Название входа | Тип | Обязательный | Описание |
|---|---|---|---|
| Точки | Объекты | Нет | Массив объектов с точками. |
| Координаты сетки | Объекты | Нет | Массив объектов с полигонами. |
Обязательным является наличие координат (поле coords) в атрибутах (attrs) объекта.
Выходы блока
| Название выхода | Тип | Описание |
|---|---|---|
| Полигон | Объекты | Массив объектов с координатами полигонов сетки. |
| Связи полигонов | JSON | Выход доступен, если включена настройка Формирование связей полигонов. Словарь с идентификатором каждого полигона и массивом идентификаторов всех полигонов, соприкасающихся с ним. |
Из-за особенности формата JSON ключи словарей являются строками, хотя идентификаторы всех полигонов - целое число.
События блока
В блоке нет событий
Описание работы блока
Блок позволяет сгенерировать один из трех вариантов сетки: шестиугольники, ромбы или прямоугольники:
- При генерации по экстенту блок создает полигон с крайними точками, указанными в настройках, затем заполняет весь полигон фигурами указанного размера.
- При генерации по полигону блок объединяет все полигоны в один мультиполигон. После этого ищет его крайние точки, создает полигон и заполняет его фигурами. При необходимости (параметр Только пересечение с полигоном) удаляются лишние полигоны.
- Если на вход "Точки" пришли объекты, блок сопоставляет координаты точек с координатами полигонов сетки и, если в один полигон попало несколько точек, то они будут агрегированы (при условии активации параметра Атрибуты для агрегации).
Описание работы визуализатора
Блок не является визуализатором.
Настройки визуализатора
Блок не является визуализатором.


