Расширенные настройки рендеринга
Настройки представляют собой json-объект. Допустимы следующие ключи (приведены значения по умолчанию):
{
"meta_tile": true,
"meta_buffer": 600,
"simplify_geometries": true,
"simplify_snap_ratio": 0.025,
"simplify_dp_ratio": 0.05,
"simplify_prefilter": 0,
"simplify_dp_preserve": true,
"simplify_clip_resolution": 50,
"twkb_encoding": false,
"centroid": false,
}
Общее описание параметров:
Параметры simplify_*
- отвечают за упрощение геометрии, при этом в общем виде запрос с упрощение геометрии выглядит следующим образом:
если twkb_encoding = true
SELECT ST_AsTWKB(ST_Simplify(ST_RemoveRepeatedPoints(ST_ClipByBox2D, sql_bbox(box)), twkb_tolerance), twkb_tolerance, true) AS geom
где twkb_tolerance
вычисляется подсистемой рендеринга автоматически.
Если twkb_encoding = false
SELECT ST_AsBinary(ST_Simplify(ST_ClipByBox2D(ST_SnapToGrid(geom, snap_simp_tolerance), sql_bbox(box)), dp_ratio_simp_tolerance)) AS geom
Описание параметров:
meta_tile
- булева переменная; указывает использовать или нет метатайл (метатайл - это группа тайлов размером 3х2 - используется для оптимизации запросов данных из пространственной СУБД)meta_buffer
- целочисленная переменная; указывает на размер буферной области вокруг тайла/метатайла (используется подсистемой рендеринга, для расчета коллизий и просчета вариантов расположения текста)simplify_geometries
- булева переменная; указывает использовать или нет автоматическое упрощение ST_Simplifysimplify_snap_ratio
- дробная переменная; используется для расчета параметра tolerance функции ST_SnapToGrid (snap_simp_tolerance); расcчитывается для каждого зума отображения по формуле tolerance = px_sz * simplify_snap_ratio px_sz - размер пиксела в метрах на текущем масштабе отображенияsimplify_dp_ratio
- дробная переменная; используется для расчета параметра tolerance функции ST_Simplify (dp_ratio_simp_tolerance); расcчитывается для каждого зума отображения по формуле tolerance = px_sz * simplify_dp_ratio px_sz - размер пиксела в метрах на текущем масштабе отображенияsimplify_dp_preserve
- булева переменная; используется в качестве параметра preserveCollapsed функции ST_Simplify:simplify_clip_resolution
- дробная переменная; определяет использование функции ST_ClipByBox2D - если ее значение больше размера пиксела на текущем масштабе отображения - то для упрощения используется функция ST_ClipByBox2Dtwkb_encoding
- булева переменная; определяет тип запроса геометрии (см. выше):centroid
- булева переменная, если выставлена в true - вместо полной геометрии будет отрисовываться центроид