Преобразование isocontour
Преобразование isocontour ≥ 5.8 описывает пространственное распределение значений набором дискретных уровней. Каждая контурная линия — изолиния постоянного значения. Часто так показывают оценку плотности двумерных точечных данных: контуры удобнее для очень больших наборов точек.
Преобразование принимает одну или несколько растровых сеток (матриц) чисел и создаёт поток геометрий GeoJSON. Их можно изобразить с помощью geoshape или geopath. Полный пример показан в контурной диаграмме.
Параметры преобразования
| Свойство | Тип | Описание |
|---|---|---|
| field | Field | Поле с растровой сеткой. Если не задано, сам объект данных рассматривается как сетка. |
| thresholds | Number[ ] | Массив явных пороговых значений уровней. При его наличии параметры levels, nice, resolve и zero игнорируются. |
| levels | Number | Желаемое число контуров с равными интервалами между уровнями. Игнорируется при заданном thresholds. |
| nice | Boolean | Округлять ли пороговые значения до удобных для чтения чисел (по умолчанию false). При этом число порогов может отличаться от точного значения levels. |
| resolve | String | Способ согласования порогов для нескольких входных сеток. При "independent" (по умолчанию) пороги рассчитываются отдельно для каждой сетки; при "shared" один набор порогов используется для всех. |
| zero | Boolean | Включать ли ноль как опорное значение для порогов контуров (по умолчанию true). |
| smooth | Boolean | Сглаживать ли контурные полигоны линейной интерполяцией (по умолчанию true). Параметр применяется и к контурам сетки, полученной с помощью kde2d. |
| scale | Number | Number[ ] | Число или массив [sx, sy] из двух чисел для масштабирования выходных координат изоконтуров. Помогает привести контуры к нужной системе координат. Поддержка массива — ≥ 5.9. |
| translate | Number[ ] | Массив [dx, dy] из двух чисел для смещения выходных координат изоконтуров. Помогает привести контуры к нужной системе координат. ≥ 5.9 |
| as | String | Имя выходного поля для созданного изоконтура (по умолчанию "contour"). |
Использование
Пример строит 10 уровней контуров двумерной ядерной оценки плотности. Предшествующее преобразование kde2d берёт предварительно вычисленные координаты точек из полей x_value и y_value, а сигналы width и height задают область, где рассчитываются плотность и контуры.
{
"type": "kde2d",
"x": "x_value",
"y": "y_value",
"size": [{"signal": "width"}, {"signal": "height"}],
"as": "grid"
},
{
"type": "isocontour",
"field": "grid",
"levels": 10
}