ST_Distance - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

ST_Distance

Bei Eingabegeometrien gibt ST_Distance den minimalen euklidischen Abstand zwischen den 2D-Projektionen der beiden Eingabegeometriewerte zurück.

Bei 3DM-, 3DZ- und 4D-Geometrien gibt ST_Distance den euklidischen Abstand zwischen den 2D-Projektionen beider Eingabegeometriewerte zurück.

Bei Eingabegeografien gibt ST_Distance den geodätische Abstand von zwei 2D-Punkten an. Die Abstände werden in Meter angegeben. Bei Geografien, bei denen es sich nicht um Punkte oder leere Punkte handelt, wird ein Fehler zurückgegeben.

Syntax

ST_Distance(geo1, geo2)

Argumente

geo1

Ein Wert vom Datentyp GEOMETRY oder GEOGRAPHY oder ein Ausdruck, der zu einem GEOMETRY- oder GEOGRAPHY-Typ ausgewertet wird. Der Datentyp von geo1 muss dem Datentyp von geo2 entsprechen.

geo2

Ein Wert vom Datentyp GEOMETRY oder GEOGRAPHY oder ein Ausdruck, der zu einem GEOMETRY- oder GEOGRAPHY-Typ ausgewertet wird. Der Datentyp von geo2 muss dem Datentyp von geo1 entsprechen.

Rückgabetyp

DOUBLE PRECISION in der gleichen Einheit wie die Eingangsgeometrien oder -geografien.

Wenn geo1 oder geo2 null oder leer ist, wird null zurückgegeben.

Wenn geo1 und geo2 nicht den gleichen SRID-Wert (Spatial Reference System Identifier) haben, wird ein Fehler zurückgegeben.

Wenn geo1 oder geo2 eine Geometrie-Collection ist, wird ein Fehler zurückgegeben.

Beispiele

Das folgende SQL gibt den Abstand zwischen zwei Polygonen zurück.

SELECT ST_Distance(ST_GeomFromText('POLYGON((0 2,1 1,0 -1,0 2))'), ST_GeomFromText('POLYGON((-1 -3,-2 -1,0 -3,-1 -3))'));
st_distance ----------- 1.4142135623731

Die folgende SQL gibt die Entfernung (in Metern) zwischen dem Brandenburger Tor und dem Reichstagsgebäude in Berlin unter Verwendung eines GEOGRAPHY-Datentyps zurück.

SELECT ST_Distance(ST_GeogFromText('POINT(13.37761826722198 52.516411678282445)'), ST_GeogFromText('POINT(13.377950831464005 52.51705102546893)'));
st_distance ------------------ 74.64129172609631