La fonction ST_DISTANCE renvoie la distance minimale entre deux objets géographiques, en mètres.
Syntaxe
DOUBLE ST_DISTANCE(GEOGRAPHY <value1>, GEOGRAPHY <value2>)
Paramètres
value1, value2 : Obligatoire. Valeurs de type GEOGRAPHY data type. Construisez des objets GEOGRAPHY à l'aide de fonctions telles que ST_GEOGPOINT, ST_GEOGFROMWKB, ST_GEOGFROMTEXT, ST_MAKELINE et ST_MAKEPOLYGON.
Valeur renvoyée
Renvoie une valeur DOUBLE représentant la distance minimale entre deux objets géographiques, en mètres. Les règles suivantes s'appliquent :
Si
value1ouvalue2est un objet géographique vide, la fonction renvoie NULL.En raison des limites de précision de la bibliothèque S2 Geometry Library, la valeur renvoyée peut différer légèrement de la distance réelle.
Exemples
-
Exemple 1 : calculer la distance minimale entre deux points
SELECT ST_DISTANCE(ST_GEOGFROMTEXT('POINT(0 0)'), ST_GEOGFROMTEXT('POINT(1 1)')); -- Returns: +-----------------------+ | _c0 | +-----------------------+ | 157249.62809250783 | +-----------------------+ -
Exemple 2 : gérer un objet géographique vide
-- Returns NULL because the second geography object is empty. SELECT ST_DISTANCE(ST_GEOGFROMTEXT('POINT(0 0)'), ST_GEOGFROMTEXT('POINT EMPTY'));