Name

ST_TriangulatePolygon — Berechnet die eingeschränkte Delaunay-Triangulation von Polygonen

Synopsis

geometry ST_TriangulatePolygon(geometry geom);

Beschreibung

Berechnet die eingeschränkte Delaunay-Triangulation von Polygonen. Löcher und Multipolygone werden unterstützt.

Die "eingeschränkte Delaunay-Triangulation" eines Polygons ist eine Menge von Dreiecken, die aus den Scheitelpunkten des Polygons gebildet werden und es genau abdecken, mit dem maximalen Gesamtinnenwinkel aller möglichen Triangulationen. Sie liefert die "beste Qualität" der Triangulation des Polygons.

Verfügbarkeit: 3.3.0.

Erfordert GEOS >= 3.11.0.

Beispiel

Triangulierung eines Quadrats.

SELECT ST_AsText(
    ST_TriangulatePolygon('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))'));

                                 st_astext
---------------------------------------------------------------------------
 GEOMETRYCOLLECTION(POLYGON((0 0,0 1,1 1,0 0)),POLYGON((1 1,1 0,0 0,1 1)))
                

Beispiel

Triangulation des Buchstabens P.

SELECT ST_AsText(ST_TriangulatePolygon(
    'POLYGON ((26 17, 31 19, 34 21, 37 24, 38 29, 39 43, 39 161, 38 172, 36 176, 34 179, 30 181, 25 183, 10 185, 10 190, 100 190, 121 189, 139 187, 154 182, 167 177, 177 169, 184 161, 189 152, 190 141, 188 128, 186 123, 184 117, 180 113, 176 108, 170 104, 164 101, 151 96, 136 92, 119 89, 100 89, 86 89, 73 89, 73 39, 74 32, 75 27, 77 23, 79 20, 83 18, 89 17, 106 15, 106 10, 10 10, 10 15, 26 17), (152 147, 151 152, 149 157, 146 162, 142 166, 137 169, 132 172, 126 175, 118 177, 109 179, 99 180, 89 180, 80 179, 76 178, 74 176, 73 171, 73 100, 85 99, 91 99, 102 99, 112 100, 121 102, 128 104, 134 107, 139 110, 143 114, 147 118, 149 123, 151 128, 153 141, 152 147))'
    ));

Polygon-Triangulation

Gleiches Beispiel wie ST_Tesselate

SELECT ST_TriangulatePolygon(
                'POLYGON (( 10 190, 10 70, 80 70, 80 130, 50 160, 120 160, 120 190, 10 190 ))'::geometry
                );

ST_AsText Ausgabe

GEOMETRYCOLLECTION(POLYGON((50 160,120 190,120 160,50 160))
    ,POLYGON((10 70,80 130,80 70,10 70))
    ,POLYGON((50 160,10 70,10 190,50 160))
    ,POLYGON((120 190,50 160,10 190,120 190))
    ,POLYGON((80 130,10 70,50 160,80 130)))

Ursprüngliche Polygone

Dreieckiges Polygon