Name

CG_Tesselate — Führt eine Oberflächentesselierung eines Polygons oder einer Polyederfläche durch und gibt diese als TIN oder Sammlung von TINS zurück

Übersicht

geometry CG_Tesselate(geometry geom);

Beschreibung

Nimmt als Eingabe eine Oberfläche wie MULTI(POLYGON) oder POLYHEDRALSURFACE und gibt eine TIN-Darstellung über den Prozess der Tesselierung mit Dreiecken zurück.

[Anmerkung]

ST_TriangulatePolygon funktioniert ähnlich wie diese Funktion, mit dem Unterschied, dass sie eine Geometriesammlung von Polygonen anstelle eines TINs zurückgibt und auch nur mit 2D-Geometrien funktioniert.

Verfügbarkeit: 3.5.0

Diese Methode benötigt ein SFCGAL-Backend.

Diese Funktion unterstützt 3d und lässt den Z-Index nicht fallen.

Diese Funktion unterstützt polyedrische Flächen.

Diese Funktion unterstützt Dreiecke und dreieckige unregelmäßige Netzoberflächen (TIN).

Beispiele

Tessellation divides each face of a cube into triangles.

Code
WITH data AS (
  SELECT 'POLYHEDRALSURFACE Z( ((0 0 0,0 0 1,0 1 1,0 1 0,0 0 0)),
((0 0 0,0 1 0,1 1 0,1 0 0,0 0 0)),((0 0 0,1 0 0,1 0 1,0 0 1,0 0 0)),
((1 1 0,1 1 1,1 0 1,1 0 0,1 1 0)),
((0 1 0,0 1 1,1 1 1,1 1 0,0 1 0)),((0 0 1,1 0 1,1 1 1,0 1 1,0 0 1)) )'::geometry AS cube
)
SELECT CG_Tesselate(cube) AS tessellation
FROM data;
Ausgabe von Rastern
TIN Z (((0 0 0,0 0 1,0 1 1,0 0 0)),((0 1 0,0 0 0,0 1 1,0 1 0)),((0 0 0,0 1 0,1 1 0,0 0 0)),((1 0 0,0 0 0,1 1 0,1 0 0)),((0 0 1,1 0 0,1 0 1,0 0 1)),((0 0 1,0 0 0,1 0 0,0 0 1)),((1 1 0,1 1 1,1 0 1,1 1 0)),((1 0 0,1 1 0,1 0 1,1 0 0)),((0 1 0,0 1 1,1 1 1,0 1 0)),((1 1 0,0 1 0,1 1 1,1 1 0)),((0 1 1,1 0 1,1 1 1,0 1 1)),((0 1 1,0 0 1,1 0 1,0 1 1)))
Figure
Geometry figure for visual-cg-tesselate-01

Tessellation of a Polygon.

Code
WITH data AS (
  SELECT 'POLYGON((10 190,10 70,80 70,80 130,50 160,120 160,120 190,10 190))'::geometry AS polygon
)
SELECT polygon AS input_polygon,
       CG_Tesselate(polygon) AS tessellation
FROM data;
Ausgabe von Rastern
POLYGON((10 190,10 70,80 70,80 130,50 160,120 160,120 190,10 190)) | TIN(((80 130,10 70,80 70,80 130)),((50 160,10 190,10 70,50 160)),((80 130,50 160,10 70,80 130)),((120 160,120 190,50 160,120 160)),((120 190,10 190,50 160,120 190)))
Figure
Geometry figure for visual-cg-tesselate-02