ST_ConvexHull - Amazon Redshift

Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting.

ST_ConvexHull

ST_ConvexHull gibt eine Geometrie zurück, die die konvexe Hülle der nicht leeren Punkte darstellt, die in der Eingabegeometrie enthalten sind.

Bei einer leeren Eingabe ist die resultierende Geometrie die gleiche wie die Eingabegeometrie. Bei allen nicht leeren Eingaben wird die Funktion auf der 2D-Projektion der Eingabegeometrie ausgeführt. Die Dimension der Ausgabegeometrie hängt jedoch von der Dimension der Eingabegeometrie ab. Genauer gesagt: Wenn es sich bei der Eingabegeometrie um eine nicht leere 3DM- oder 3D-Geometrie handelt, werden die m-Koordinaten gelöscht. Das heißt, dass die Dimension der zurückgegebenen Geometrie jeweils 2D oder 3DZ ist. Wenn es sich bei der Eingabe um eine nicht leere 2D- oder 3DZ-Geometrie handelt, hat die resultierende Geometrie dieselbe Dimension.

Syntax

ST_ConvexHull(geom)

Argumente

geom

Ein Wert vom Datentyp GEOMETRY oder ein Ausdruck, der zu einem GEOMETRY-Typ ausgewertet wird.

Rückgabetyp

GEOMETRY

Der SRID-Wert (Spatial Reference System Identifier) der zurückgegebenen Geometrie ist der SRID-Wert der Eingabegeometrie.

Wenn geom null ist, wird null zurückgegeben.

Die zurückgegebenen Werte lauten wie folgt.

Anzahl der Punkte auf der konvexen Hülle Geometrie-Subtyp

0

Eine Kopie von geom wird zurückgegeben.

1

Ein POINT-Subtyp wird zurückgegeben.

2

Ein LINESTRING-Subtyp wird zurückgegeben. Die beiden Punkte des zurückgegebenen Linestrings sind lexikografisch geordnet.

3 oder höher

Ein POLYGON-Subtyp ohne innere Ringe wird zurückgegeben. Das Polygon ist im Uhrzeigersinn ausgerichtet und der erste Punkt des äußeren Rings ist der lexikografisch kleinste Punkt des Rings.

Beispiele

Das folgende SQL-Anweisung gibt die EWKT-Darstellung eines Linestrings zurück. In diesem Fall ist die zurückgegebene konvexe Hülle ein Polygon.

SELECT ST_AsEWKT(ST_ConvexHull(ST_GeomFromText('LINESTRING(0 0,1 0,0 1,1 1,0.5 0.5)'))) as output;
output ------------- POLYGON((0 0,0 1,1 1,1 0,0 0))

Das folgende SQL gibt die EWKT-Darstellung eines Linestrings zurück. In diesem Fall ist die zurückgegebene konvexe Hülle ein Linestring.

SELECT ST_AsEWKT(ST_ConvexHull(ST_GeomFromText('LINESTRING(0 0,1 1,0.2 0.2,0.6 0.6,0.5 0.5)'))) as output;
output ------------- LINESTRING(0 0,1 1)

Die folgende SQL-Anweisung gibt die EWKT-Darstellung eines Multipoints zurück. In diesem Fall ist die zurückgegebene konvexe Hülle ein Punkt.

SELECT ST_AsEWKT(ST_ConvexHull(ST_GeomFromText('MULTIPOINT(0 0,0 0,0 0)'))) as output;
output ------------- POINT(0 0)