ST_Perimeter - 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_Perimeter

Für eine Eingabeflächengeometrie gibt ST_Perimeter den kartesischen Umfang (Länge der Grenze) der 2D-Projektion zurück. Die Umfangseinheiten entsprechen den Einheiten, in denen die Koordinaten der Eingabegeometrie ausgedrückt werden. Die Funktion gibt Null (0) für Punkte, Multipoints und lineare Geometrien zurück. Wenn es sich bei der Eingabe um eine Geometriesammlung handelt, gibt die Funktion die Summe der Umfänge der Geometrien in der Sammlung zurück.

Für eine Eingabegeografie gibt ST_Perimeter den geodätische Umfang (Länge der Grenze) der 2D-Projektion einer Eingabeflächengeografie zurück, die auf dem vom SRID festgelegten Sphäroiden berechnet wurde. Der Umfang wird in Meter angegeben. Die Funktion gibt Null (0) für Punkte, Multipoints und lineare Geografien zurück. Wenn es sich bei der Eingabe um eine Geometriesammlung handelt, gibt die Funktion die Summe der Umfänge der Geografien in der Sammlung zurück.

Syntax

ST_Perimeter(geo)

Argumente

geo

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

Rückgabetyp

DOUBLE PRECISION

Wenn geo null ist, wird null zurückgegeben.

Wenn der SRID-Wert nicht gefunden werden kann, wird ein Fehler zurückgegeben.

Beispiele

Die folgende SQL-Anweisung gibt den kartesischen Umfang eines Multipolygons zurück.

SELECT ST_Perimeter(ST_GeomFromText('MULTIPOLYGON(((0 0,10 0,0 10,0 0)),((10 0,20 0,20 10,10 0)))'));
st_perimeter -------------------------------- 68.2842712474619

Die folgende SQL-Anweisung gibt den kartesischen Umfang eines Multipolygons zurück.

SELECT ST_Perimeter(ST_GeomFromText('MULTIPOLYGON(((0 0,10 0,0 10,0 0)),((10 0,20 0,20 10,10 0)))'));
st_perimeter -------------------------------- 68.2842712474619

Die folgende SQL-Anweisung gibt den Umfang eines Polygons in einer Geografie zurück.

SELECT ST_Perimeter(ST_GeogFromText('SRID=4326;POLYGON((0 0,1 0,0 1,0 0))'));
st_perimeter ------------------ 378790.428393693

Die folgende SQL-Anweisung gibt den Umfang eines Linestrings in einer Geografie zurück.

SELECT ST_Perimeter(ST_GeogFromText('SRID=4326;LINESTRING(5 0,10 0)'));
st_perimeter -------------- 0