sql - Big Query 中是否有允许我从起点和终点减去纬度和经度的函数?
问题描述
我有一个有 4 列的简单表格。这些列是起始纬度、起始经度、结束纬度和结束经度。有没有办法获取开始和结束纬度/经度坐标之间的差异并创建名为差异的第 5 列?数据类型为 FLOAT。
解决方案
您可以使用您的纬度和经度来制作地理点,然后使用该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_
纬度/经度列。
推荐阅读
- php - html文件和php文件中的html之间的页面看起来不同
- python - 删除数据框但仍然丢失内存
- python - 如何为每个列索引查找包含 n 个最小值的行索引的列表?
- spring-boot - Struts 2:提交响应后无法获取会话
- c - 如何操作数组?
- java - 尝试访问子类的属性但变量是超类类型时“找不到符号”
- android - 在登录 Ubuntu GUI 会话之前,Android 设备不会出现在“adb devices”中
- php - 在 WooCommerce 中显示购物车和订单商品的重量
- javascript - 反应孩子应用程序定位按钮
- scala - scala 嵌套 for/yield 生成器以提取子字符串