Name

ST_Simplify — Returns a simplified version of a geometry, using the Douglas-Peucker algorithm.

Synopsis

geometry ST_Simplify(geometry geomA, float tolerance);

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

Beschreibung

Gibt eine "vereinfachte" Version der gegebenen Geometrie zurück. Verwendet den Douglas-Peucker Algorithmus. Tut zurzeit nur mit (Multi)Lines und (Multi)Polygons etwas, kann aber gefahrlos mit jedem geometrischen Datentyp verwendet werden. Da die Vereinfachung auf einer Objekt zu Objekt Basis passiert, können Sie diese Funktion auch mit einer Sammelgeometrie speisen.

The "preserve collapsed" flag will retain objects that would otherwise be too small given the tolerance. For example, a 1m long line simplified with a 10m tolerance. If preserveCollapsed argument is specified as true, the line will not disappear. This flag is useful for rendering engines, to avoid having large numbers of very small objects disappear from a map leaving surprising gaps.

[Note]

Bemerke, dass die zurückgegebene Geometrie ihre Simplizität verlieren kann (siehe ST_IsSimple).

[Note]

Beachten Sie bitte, das die Topologie möglicherweise nicht erhalten bleibt und ungültige Geometrien entstehen können. Benutzen Sie bitte (see ST_SimplifyPreserveTopology) um die Topologie zu erhalten.

Verfügbarkeit: 1.2.2

Beispiele

Ein zu stark vereinfachter Kreis wird zu einem Dreieck, mittelmäßig vereinfacht zum Achteck:

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
      

Siehe auch

ST_IsSimple, ST_SimplifyPreserveTopology, ST_SimplifyVW, Topology ST_Simplify