ST_Simplify — Restituisce una versione semplificata di una geometria, utilizzando l'algoritmo di Douglas-Peucker.
geometry ST_Simplify(
geometry geomA, float tolerance)
;
geometry ST_Simplify(
geometry geomA, float tolerance, boolean preserveCollapsed)
;
Restituisce una versione "semplificata" della geometria data, utilizzando l'algoritmo di Douglas-Peucker. In realtà, funziona solo con (multi)linee e (multi)poligoni, ma può essere tranquillamente richiamato con qualsiasi tipo di geometria. Poiché la semplificazione avviene oggetto per oggetto, è possibile fornire a questa funzione anche una collezione di geometrie.
Il flag "conserva collassato" conserva gli oggetti che altrimenti sarebbero troppo piccoli data la tolleranza. Ad esempio, una linea lunga 1 metro semplificata con una tolleranza di 10 metri. Se l'argomento preserveCollapsed
è specificato come true, la linea non scomparirà. Questo flag è utile per i motori di rendering, per evitare che un gran numero di oggetti molto piccoli scompaia da una mappa lasciando vuoti sorprendenti.
![]() |
|
Si noti che la geometria restituita potrebbe perdere la sua semplicità (si veda ST_IsSimple) |
![]() |
|
Note topology may not be preserved and may result in invalid geometries. Use (see ST_SimplifyPreserveTopology) to preserve topology. |
Availability: 1.2.2
A circle simplified too much becomes a triangle, medium an octagon,
SELECT ST_Npoints(geom) AS np_before, ST_NPoints(ST_Simplify(geom,0.1)) AS np01_notbadcircle, ST_NPoints(ST_Simplify(geom,0.5)) AS np05_notquitecircle, ST_NPoints(ST_Simplify(geom,1)) AS np1_octagon, ST_NPoints(ST_Simplify(geom,10)) AS np10_triangle, (ST_Simplify(geom,100) is null) AS np100_geometrygoesaway FROM (SELECT ST_Buffer('POINT(1 3)', 10,12) As geom) AS foo; np_before | np01_notbadcircle | np05_notquitecircle | np1_octagon | np10_triangle | np100_geometrygoesaway -----------+-------------------+---------------------+-------------+---------------+------------------------ 49 | 33 | 17 | 9 | 4 | t
ST_IsSimple, ST_SimplifyPreserveTopology, ST_SimplifyVW, Topology ST_Simplify