- 카테고리:
HAVERSINE¶
하버사인 수식 을 사용하여 지표면상 두 지점 사이의 대원 거리를 km 단위로 계산합니다. 두 지점은 위도와 경도를 소수점 이하로 지정합니다.
참고
Snowflake는 HAVERSINE 함수 대신 ST_DISTANCE 함수 사용을 권장합니다. ST_DISTANCE 함수는 지리공간 타입의 값을 사용하여 계산을 수행하며, 이를 통해 지리공간 데이터를 저장하고 데이터에 지리공간 함수 를 사용할 수 있습니다. 또한 ST_DISTANCE 함수를 사용하는 조인 조건자는 HAVERSINE 함수를 사용하는 조인 조건자보다 성능이 더 우수합니다.
구문¶
HAVERSINE( <lat1>, <lon1>, <lat2>, <lon2> )
인자¶
lat1첫 번째 지점의 위도(소수점 이하)입니다.
lon1첫 번째 지점의 경도를 소수점 이하로 표시합니다.
lat2두 번째 지점의 위도(소수점 이하)입니다.
lon2두 번째 지점의 경도를 소수점으로 표시합니다.
Returns¶
이 함수는 FLOAT 형식의 값을 반환합니다.
예¶
다음 예는 뉴욕과 로스앤젤레스 사이의 지리 공간적 거리(킬로미터)를 반환합니다.
SELECT HAVERSINE(
40.7127,
-74.0059,
34.0500,
-118.2500
) AS distance_in_kilometers;
+------------------------+
| DISTANCE_IN_KILOMETERS |
|------------------------|
| 3936.385096389 |
+------------------------+
The following example is the same as the previous example, but it returns the geospatial distance in meters instead of kilometers by multiplying the result by 1000:
SELECT HAVERSINE(
40.7127,
-74.0059,
34.0500,
-118.2500
) * 1000 AS distance_in_meters;
+--------------------+
| DISTANCE_IN_METERS |
|--------------------|
| 3936385.09638929 |
+--------------------+