카테고리:

지리공간 함수

HAVERSINE

하버사인 수식 을 사용하여 지표면상 두 지점 사이의 대원 거리를 km 단위로 계산합니다. 두 지점은 위도와 경도를 소수점 이하로 지정합니다.

참고

Snowflake는 HAVERSINE 함수 대신 ST_DISTANCE 함수 사용을 권장합니다. ST_DISTANCE 함수는 지리공간 타입의 값을 사용하여 계산을 수행하며, 이를 통해 지리공간 데이터를 저장하고 데이터에 지리공간 함수 를 사용할 수 있습니다. 또한 ST_DISTANCE 함수를 사용하는 조인 조건자는 HAVERSINE 함수를 사용하는 조인 조건자보다 성능이 더 우수합니다.

구문

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

인자

lat1

첫 번째 지점의 위도(소수점 이하)입니다.

lon1

첫 번째 지점의 경도를 소수점 이하로 표시합니다.

lat2

두 번째 지점의 위도(소수점 이하)입니다.

lon2

두 번째 지점의 경도를 소수점으로 표시합니다.

이 함수는 FLOAT 형식의 값을 반환합니다.

다음 예는 뉴욕과 로스앤젤레스 사이의 지리 공간적 거리(킬로미터)를 반환합니다.

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