Catégories :

Fonctions géospatiales

ST_DISTANCE

Renvoie la distance géodésique minimale (en mètres) entre deux objets géospatiaux.

Syntaxe

ST_DISTANCE( <geography_expression_1> , <geography_expression_2> )

Arguments

expression_géographie_1

L’argument doit être une expression de type GEOGRAPHY.

expression_géographie_2

L’argument doit être une expression de type GEOGRAPHY.

Renvoie

Renvoie une valeur de type REAL qui représente la distance en mètres.

Notes sur l’utilisation

  • Renvoie NULL si un ou plusieurs points d’entrée sont NULL.

Exemples

Cela montre la distance en mètres entre deux points distants de 1 degré le long de l’équateur (environ 111 kilomètres ou 69 miles).

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 |
+---------------+--------------+

Cela montre l’utilisation de la fonction ST_DISTANCE avec des valeurs NULL :

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