【问题标题】:Haver Sine Distance in Google BigQuery [duplicate]Google BigQuery中的Haversine距离[重复]
【发布时间】:2019-06-03 02:04:58
【问题描述】:

我正在尝试获取 Google BigQuery 中两点(纬度、经度)之间的半正弦距离。

之前我在 MySQL 中使用了以下代码,效果很好:

(((ACOS( (SIN(radians(pickup_latitude)) * SIN(radians(dropoff_latitude))) + 
(COS(radians(pickup_latitude)) * COS(radians(dropoff_latitude))
* COS(radians(dropoff_longitude)-radians(pickup_longitude))) )) * 6371))

但显示此错误的相同代码-

未找到函数:[6:19] 处的弧度"

当我在 Google BigQuery 中运行它时。如何将 MySQL 版本的代码转换为 Google BigQuery 版本?

【问题讨论】:

  • 因此,您必须查看新数据库的文档,以了解调用了什么函数(如果存在)以及如何使用它

标签: mysql math google-bigquery


【解决方案1】:

在 BigQuery 标准 SQL 中 - 您可以使用 ST_DISTANCE 函数计算两点之间的距离,如下例所示

SELECT ST_DISTANCE(
  ST_GEOGPOINT(pickup_longitude, pickup_latitude), 
  ST_GEOGPOINT(dropoff_longitude, dropoff_latitude)
) AS distance 
FROM ...  

【讨论】:

  • 成功了。谢谢!
猜你喜欢
  • 2023-03-17
  • 2016-04-06
  • 2021-06-21
  • 2010-10-09
  • 1970-01-01
相关资源
最近更新 更多