Перейти к содержанию

Блок "Генерация полигональной сетки"

Блок доступен начиная с версии 0.10

Назначение

Блок позволяет сгенерировать сетку (слой, состоящий из одинаковых объектов) для отображения в блоке "3D-карта". Данные, поступающие с выхода "Полигоны", должны быть обработаны в блоке \ "Слой данных для 3D карты". Для работы с блоком его необходимо выбрать в библиотеке и перенести в область графа.

Настройки блока

Доступ к настройкам блока осуществляется через контекстное меню (пункт Настройки):

Общие настройки блоков описаны в отдельном разделе.

Группа "Специфические настройки блока"

Наименование Тип Обязательное Описание Пример
Наименование слоя Строка Нет Название слоя для отображения в дереве слоев. Может отсутствовать или задаваться в описании слоя (см. детальное описание каждого слоя).
Тип геометрии Выпадающий список Да Типы геометрии для генерации сетки. Возможные значения:
- Шестиугольники (правильные)
- Ромбы
- Прямоугольники.
Сторона правильного шестиугольника, м Целое число Да Доступен, если выбран тип геометрии: Шестиугольники (правильные). Задает сторону правильного шестиугольника в метрах.
Ширина ромба, м Целое число Нет Доступен, если выбран тип геометрии: Ромбы. Задает ширину ромба в метрах. Не обязательный параметр. При значении параметра равным нулю будет сгенерирован правильный ромб (ширина равна высоте).
Высота ромба, м Целое число Да Доступен, если выбран тип геометрии: Ромбы. Задает высоту ромба в метрах.
Ширина прямоугольника, м Целое число Нет Доступен, если выбран тип геометрии: Прямоугольники. Задает ширину прямоугольника в метрах. Не обязательный параметр. При значении параметра равным нулю будет сгенерирован квадрат (ширина равна высоте).
Высота прямоугольника, м Целое число Да Доступен, если выбран тип геометрии: Прямоугольники. Задает высоту прямоугольника в метрах.
Покрытие сеткой Выпадающий список Да Способ создания сетки. Возможные варианты:
- По экстенту - задаются верхний левый и правый нижние координаты сетки
- По полигону - задаются все координаты полигона.

Генерация нескольких полигонов по экстенту невозможна. Требуется указать только две точки для одного полигона.

Наименование Тип Обязательное Описание Пример
Только пересечение с полигоном Флаг Да Оставить только ту часть сетки, которая пересекается с полигоном. Не применяется при способе покрытия По экстенту.
Координаты сетки JSON Нет Указываются координаты полигона/точки экстента для генерации сетки.

Если на вход "Координаты сетки" пришли значения, эти параметры игнорируются (координаты берутся из входа блока).

Наименование Тип Обязательное Описание Пример
Генерировать идентификаторы Флаг Нет Задает необходимость генерации идентификаторов для полигонов сетки. Идентификатором является целое число, начиная от нуля. Хранится в первичном ключе (pkey) объекта с идентификатором id.
Формирование связей полигонов Флаг Нет Доступен, если включена настройка Генерировать идентификаторы. Задает необходимость формирования массива со связями полигонов. При включении появляется отдельный выход "Связи полигонов".
Генерировать наименования Флаг Нет Задает необходимость генерации наименования для полигонов сетки. Наименованием является строка, формата <ТИП> <ЧИСЛО>, где:
- ТИП - тип геометрии
- ЧИСЛО - уникальный идентификатор полигона, начиная с 1
Хранится в атрибутах (attrs) объекта с идентификатором name.
Атрибуты для агрегации JSON Нет Формат агрегации атрибутов объектов, пришедших на вход "Точки". Массив словарей формата {name: <Имя атрибута>, method: <Метод, см. ниже>}. Методы агрегации:
- sum - сумма;
- avg - среднее;
- concat - соединение строковых элементов. Необходимо указать разделитель (параметр splitter); при его отсутствии строки склеиваются без пробела.
Пример настройки Атрибуты для агрегации
[
    {"name": "attr1", "method": "sum"},
    {"name": "attr2", "method": "avg"},
    {"name": "attr3", "method": "concat", "splitter": " "}, 
    {"method": "concat", "splitter": " - "},
    {"name": "attr5", "splitter": " - "},
    {"name": "name", "method": "concat", "splitter": " - "}
]

Входы блока

Название входа Тип Обязательный Описание
Точки Объекты Нет Массив объектов с точками.
Координаты сетки Объекты Нет Массив объектов с полигонами.

Обязательным является наличие координат (поле coords) в атрибутах (attrs) объекта.

Выходы блока

Название выхода Тип Описание
Полигон Объекты Массив объектов с координатами полигонов сетки.
Связи полигонов JSON Выход доступен, если включена настройка Формирование связей полигонов. Словарь с идентификатором каждого полигона и массивом идентификаторов всех полигонов, соприкасающихся с ним.
Пример выхода
{       
    "1": [2, 3, 4, 5],      
    "2": [1, 3, 4],     
    "3": [1, 2],        
    "4": [1, 2],        
    "5": [1]    
}    

Из-за особенности формата JSON ключи словарей являются строками, хотя идентификаторы всех полигонов - целое число.

События блока

В блоке нет событий

Описание работы блока

Блок позволяет сгенерировать один из трех вариантов сетки: шестиугольники, ромбы или прямоугольники:

  • При генерации по экстенту блок создает полигон с крайними точками, указанными в настройках, затем заполняет весь полигон фигурами указанного размера.
  • При генерации по полигону блок объединяет все полигоны в один мультиполигон. После этого ищет его крайние точки, создает полигон и заполняет его фигурами. При необходимости (параметр Только пересечение с полигоном) удаляются лишние полигоны.
  • Если на вход "Точки" пришли объекты, блок сопоставляет координаты точек с координатами полигонов сетки и, если в один полигон попало несколько точек, то они будут агрегированы (при условии активации параметра Атрибуты для агрегации).

Описание работы визуализатора

Блок не является визуализатором.

Настройки визуализатора

Блок не является визуализатором.

Ссылки