- 类别:
HAVERSINE¶
使用 Haversine 公式 (link removed) 计算地球表面两点之间的大圆距离(以千米为单位)。这两个点由它们的纬度和经度(以十进制度为单位)指定。
备注
Snowflake 建议使用 ST_DISTANCE 函数而不是 HAVERSINE 函数。ST_DISTANCE 函数使用地理空间类型的值执行计算,这使您能够存储地理空间数据并对数据使用 地理空间函数。此外,使用 ST_DISTANCE 函数的联接谓词的性能优于使用 HAVERSINE 函数的联接谓词。
语法¶
HAVERSINE( <lat1>, <lon1>, <lat2>, <lon2> )
实参¶
lat1
第一个点的纬度,以十进制度为单位。
lon1
第一个点的经度,以十进制度为单位。
lat2
第二个点的纬度,以十进制度为单位。
lon2
第二个点的经度,以十进制度为单位。
示例¶
此函数返回 FLOAT 类型的值。
示例¶
以下示例返回纽约和洛杉矶之间的地理空间距离(以千米为单位):
SELECT HAVERSINE(40.7127, -74.0059, 34.0500, -118.2500) AS distance;
+----------------+
| DISTANCE |
|----------------|
| 3936.385096389 |
+----------------+