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
oderGEOGRAPHY
oder ein Ausdruck, der zu einemGEOMETRY
- oderGEOGRAPHY
-Typ ausgewertet wird. Der Datentyp von geo1 muss dem Datentyp von geo2 entsprechen. - geo2
-
Ein Wert vom Datentyp
GEOMETRY
oderGEOGRAPHY
oder ein Ausdruck, der zu einemGEOMETRY
- oderGEOGRAPHY
-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