Estende a função ST_AsMVTGeom com o parâmetro res_prec, que filtra geometrias pequenas demais para afetar a visualização. Esse recurso reduz a carga de processamento no frontend e no backend, diminui a sobrecarga de rede e melhora o desempenho da visualização.
Sintaxe
GEOMETRY ST_AsMVTGeomEx(
GEOMETRY geom,
BOX2D bounds,
INTEGER res_prec=1,
INTEGER extent=4096,
INTEGER buffer=256,
BOOLEAN clip_geom=true
);
Parâmetros
|
Parâmetro |
Tipo |
Padrão |
Descrição |
|
|
GEOMETRY |
— |
Geometria a converter. |
|
|
BOX2D |
— |
Limites retangulares do tile, excluindo o buffer. |
|
|
INTEGER |
1 |
Limiar de filtragem. O sistema descarta a geometria se sua extensão máxima em pixels nos eixos x ou y for menor que este valor. |
|
|
INTEGER |
4.096 |
Tamanho do tile no sistema de coordenadas do tile. |
|
|
INTEGER |
256 |
Tamanho do buffer no sistema de coordenadas do tile. |
|
|
BOOLEAN |
true |
Selecione se as geometrias serão recortadas nos limites do tile. |
Observações de uso
Função inadequada para visualizar dados pontuais. Utilize-a apenas para dados vetoriais de tamanhos variados.
Em tiles pequenos, definir
res_preccom um valor alto pode ocultar muitos vetores.
Exemplos
A consulta a seguir exibe apenas vetores com extensão mínima de dois pixels nos eixos x ou y do tile atual.
WITH mvtgeom AS(SELECT ST_AsMVTGeomEx(geom, ST_Transform(ST_TileEnvelope(0,0,0),4326),2)AS geom
FROM geom_table
WHERE geom && ST_Transform(ST_TileEnvelope(0,0,0),4326))
SELECT ST_AsMVT(mvtgeom.*);