Categorias:

Funções geospaciais

HAVERSINE

Calcula a distância do grande círculo em quilômetros entre dois pontos na superfície da Terra, usando a fórmula de haversine. Os dois pontos são especificados por sua latitude e longitude em graus decimais.

Nota

A Snowflake recomenda o uso da função ST_DISTANCE em vez da função HAVERSINE. A função ST_DISTANCE realiza o cálculo usando valores de tipos geoespaciais, o que permite que você armazene dados geoespaciais e use as funções geoespaciais nos dados. Além disso, os predicados de junção que usam a função ST_DISTANCE têm melhor desempenho do que os predicados de junção que usam a função HAVERSINE.

Sintaxe

HAVERSINE( <lat1>, <lon1>, <lat2>, <lon2> )
Copy

Argumentos

lat1

A latitude do primeiro ponto em graus decimais.

lon1

A longitude do primeiro ponto em graus decimais.

lat2

A latitude do segundo ponto em graus decimais.

lon2

A longitude do segundo ponto em graus decimais.

Exemplos

Esta função retorna um valor do tipo FLOAT.

Exemplos

O exemplo a seguir retorna a distância geoespacial em quilômetros entre Nova York e Los Angeles:

SELECT HAVERSINE(40.7127, -74.0059, 34.0500, -118.2500) AS distance;
Copy
+----------------+
|       DISTANCE |
|----------------|
| 3936.385096389 |
+----------------+