ST_DISTANCE |
Distance |
| BigQuery |
Syntaxe
|
ST_DISTANCE(geography_1, geography_2)
|
|
ST_DISTANCE(geography_1, geography_2, use_spheroid)
|
Paramètres
| Nom |
Description |
| geography_1 |
Ce paramètre permet de spécifier la première expression de type GEOGRAPHY pour laquelle vous souhaitez calculer la distance minimale. |
| geography_2 |
Ce paramètre permet de spécifier la deuxième expression de type GEOGRAPHY pour laquelle vous souhaitez calculer la distance minimale par rapport à geography_1. La fonction renvoie la plus courte distance en mètres entre les deux objets géographiques. |
| use_spheroid |
Ce paramètre facultatif permet de définir la méthode de calcul de la distance. C'est une valeur de type BOOL. Si TRUE (valeur par défaut), ce paramètre permet d'effectuer le calcul de la distance en utilisant un modèle sphéroïde plus précis (comme WGS84). C'est la méthode recommandée pour des calculs géographiques précis sur la surface de la Terre. Si FALSE, le calcul est effectué sur un modèle sphérique, ce qui est généralement plus rapide mais moins précis, surtout pour de grandes distances ou des zones géographiques étendues. |
Description
Cette fonction permet de demander la distance la plus courte entre 2 valeurs GEOGRAPHY spécifié en mètre carré.
Remarques
- Calcule la distance minimale entre deux objets géographiques : La fonction ST_DISTANCE permet de déterminer la plus courte distance, en mètres, entre
deux géographies données (geography_1 et geography_2). Cela peut être la distance entre deux points, ou bien entre un point et un polygone, voire entre deux lignes.
C'est une fonction essentielle dans l'analyse spatiale.
- Utilise par défaut un modèle sphéroïde pour une meilleure précision : Quand le paramètre use_spheroid est défini sur TRUE (valeur par défaut), le calcul
tient compte de la forme aplatie de la Terre (modèle WGS84). Cela permet des distances beaucoup plus précises, surtout pour les objets géographiques éloignés ou situés
à des latitudes différentes.
- Peut utiliser un modèle sphérique pour gagner en performance : Si l'on définit use_spheroid sur FALSE, la fonction utilise un modèle sphérique plus
simple, ce qui accélère les calculs. Cette option peut convenir dans les cas où la performance est prioritaire sur la précision, par exemple pour de grandes analyses
approximatives ou en phase de prototypage.
- Retourne une valeur numérique exprimée en mètres : Le résultat est une valeur flottante représentant la distance en mètres, ce qui la rend directement
exploitable pour des seuils, des comparaisons ou des classements (par exemple, retrouver les 5 objets les plus proches d'un point donné avec ORDER BY ST_DISTANCE(...)
LIMIT 5).
- Utile pour des calculs de proximité ou de navigation : ST_DISTANCE est largement utilisée pour trouver les entités les plus proches (clients, points
de service, antennes,...), pour mesurer des distances légales (rayons d'interdiction), ou pour établir des relations spatiales entre entités distantes dans un système
d'information géographique.
- S'applique à tous types d'objets GEOGRAPHY : Elle fonctionne avec toutes les combinaisons de types GEOGRAPHY : points, lignes, polygones ou
collections. Cela permet d'analyser des distances entre des formes complexes (ex. : distance entre un itinéraire et une zone réglementée, ou entre deux zones
géographiques étendues).
- La distance est calculée bord à bord : La distance renvoyée est celle entre les points les plus proches des deux géométries, et non entre leurs centres
ou barycentres. Ainsi, si deux polygones se touchent, la distance renvoyée sera zéro, même si leurs centres sont éloignés.
- Peut être combinée à d'autres fonctions spatiales : On peut associer ST_DISTANCE à des fonctions comme ST_CLOSESTPOINT, ST_WITHIN, ou ST_DWITHIN pour
affiner les analyses. Par exemple, on peut extraire la distance minimale et visualiser le point exact sur la frontière qui est le plus proche grâce à ST_CLOSESTPOINT.
Dernière mise à jour : Jeudi, le 18 Juin 2020