Kategorien:

Geodatenfunktionen

ST_DISTANCE

Returns the minimum geodesic distance between two GEOGRAPHY or the minimum Euclidean distance between two GEOMETRY objects.

Syntax

ST_DISTANCE( <geography_expression_1> , <geography_expression_2> )

Argumente

geography_expression_1

Das Argument muss ein Ausdruck vom Typ GEOGRAPHY sein.

geography_expression_2

Das Argument muss ein Ausdruck vom Typ GEOGRAPHY sein.

Rückgabewerte

Gibt einen Wert vom Typ REAL zurück, der die Entfernung in Metern darstellt.

Nutzungshinweise

  • Gibt NULL zurück, wenn ein oder mehrere Eingabepunkte NULL sind.

  • For GEOMETRY objects, the function reports an error if the two input GEOMETRY objects have different SRIDs.

Beispiele

GEOGRAPHY Examples

Das folgende Beispiel zeigt die Entfernung in Metern zwischen zwei Punkten 1 Grad entfernt entlang des Äquators (ungefähr 111 Kilometer).

WITH d AS
    ( ST_DISTANCE(ST_MAKEPOINT(0, 0), ST_MAKEPOINT(1, 0)) )
SELECT d / 1000 AS kilometers, d / 1609 AS miles;
+---------------+--------------+
|    KILOMETERS |        MILES |
|---------------+--------------|
| 111.195101177 | 69.108204585 |
+---------------+--------------+

Das folgende Beispiel zeigt die Verwendung der Funktion ST_DISTANCE mit NULL-Werten:

SELECT ST_DISTANCE(ST_MAKEPOINT(0, 0), ST_MAKEPOINT(NULL, NULL));
+-----------------------------------------------------------+
| ST_DISTANCE(ST_MAKEPOINT(0, 0), ST_MAKEPOINT(NULL, NULL)) |
|-----------------------------------------------------------|
|                                                      NULL |
+-----------------------------------------------------------+

GEOMETRY Examples

The following example compares the distance calculated for GEOGRAPHY and GEOMETRY input objects.

SELECT ST_DISTANCE(TO_GEOMETRY('POINT(0 0)'), TO_GEOMETRY('POINT(1 1)')) AS geometry_distance,
       ST_DISTANCE(TO_GEOGRAPHY('POINT(0 0)'), TO_GEOGRAPHY('POINT(1 1)')) AS geography_distance;
+-------------------+--------------------+
| GEOMETRY_DISTANCE | GEOGRAPHY_DISTANCE |
|-------------------+--------------------|
|       1.414213562 |   157249.628092508 |
+-------------------+--------------------+
Zurück zum Anfang