Catégories :

Fonctions géospatiales

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> )
Copy

Arguments

lat1

La latitude du premier point en degrés décimaux.

lon1

La longitude du premier point en degrés décimaux.

lat2

La latitude du deuxième point en degrés décimaux.

lon2

La 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;
Copy
+----------------+
|       DISTANCE |
|----------------|
| 3936.385096389 |
+----------------+