Name

ST_Simplify — Restituisce una versione semplificata di una geometria, utilizzando l'algoritmo di Douglas-Peucker.

Synopsis

geometry ST_Simplify(geometry geomA, float tolerance);

geometry ST_Simplify(geometry geomA, float tolerance, boolean preserveCollapsed);

Descrizione

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.

[Note]

Si noti che la geometria restituita potrebbe perdere la sua semplicità (si veda ST_IsSimple)

[Note]

Note topology may not be preserved and may result in invalid geometries. Use (see ST_SimplifyPreserveTopology) to preserve topology.

Availability: 1.2.2

Esempi

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