首页 > 解决方案 > Big Query 中是否有允许我从起点和终点减去纬度和经度的函数?

问题描述

我有一个有 4 列的简单表格。这些列是起始纬度、起始经度、结束纬度和结束经度。有没有办法获取开始和结束纬度/经度坐标之间的差异并创建名为差异的第 5 列?数据类型为 FLOAT。

标签: sqlgoogle-bigquery

解决方案


您可以使用您的纬度和经度来制作地理点,然后使用该st_distance()功能计算距离。

with data as (
    select 48.8566 as paris_lat, 2.3522 as paris_long, 40.7128 as nyc_lat, -74.0060 as nyc_long
),
points as (
    select st_geogpoint(paris_long,paris_lat) as paris, st_geogpoint(nyc_long,nyc_lat) as nyc from data
)
select
    paris,
    nyc,
    st_distance(paris,nyc)/1000 as distance_in_kms
from points

我以 2 个热门城市为例,但您可以使用您的starting_ending_纬度/经度列。


推荐阅读