- Catégories :
HAVERSINE¶
Calcule la grande distance circulaire en kilomètres entre deux points de la surface de la Terre, en utilisant la formule Haversine. Les deux points sont spécifiés par leur latitude et leur longitude en degrés décimaux.
Note
Snowflake recommande d’utiliser plutôt la fonction ST_DISTANCE que la fonction HAVERSINE. La fonction ST_DISTANCE effectue le calcul à l’aide de valeurs de types géospatiaux, ce qui vous permet de stocker des données géospatiales et d’utiliser les fonctions géospatiales sur ces données. En outre, les prédicats de jointure qui utilisent la fonction ST_DISTANCE ont de meilleures performances que les prédicats de jointure qui utilisent la fonction HAVERSINE.
Syntaxe¶
HAVERSINE( <lat1>, <lon1>, <lat2>, <lon2> )
Arguments¶
lat1La latitude du premier point en degrés décimaux.
lon1La longitude du premier point en degrés décimaux.
lat2La latitude du deuxième point en degrés décimaux.
lon2La longitude du deuxième point en degrés décimaux.
Exemples¶
La fonction renvoie une valeur de type FLOAT.
Exemples¶
L’exemple suivant renvoie la distance géospatiale en kilomètres entre New York et Los Angeles :
SELECT HAVERSINE(40.7127, -74.0059, 34.0500, -118.2500) AS distance;
+----------------+
| DISTANCE |
|----------------|
| 3936.385096389 |
+----------------+