sql - 雪花中的地理空间连接

标签 sql join location geospatial snowflake-cloud-data-platform

我希望在雪花中进行某种地理空间连接。目前,运行此查询需要一天多的时间。

我有一个位置数据点表(约 10 亿条记录),另一个 POI 位置表(约 6k)(两者都以纬度/经度作为坐标)。我想绘制在 POI 的 X 米范围内看到的数据点数量。

只能使用snowflake,或者任何开源程序。如有任何帮助,我们将不胜感激。

我想查看包含以下各列的表格:

POI_id 半径数据点

最佳答案

Haversine Function

执行此操作的方法是通过“on”子句中的半正矢函数连接两个表。

select *
from table1 a
inner join table2 b
on haversine(a.lat,a.long,b.lat,b.long) <= 10
;

如上例所示,如果距离不超过 10 公里,请加入

关于sql - 雪花中的地理空间连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46675559/

相关文章:

java - JDBC : Batch insert not inserting value to database

php - 当单元格输入相同时获取一个值

android - Android 上的位置服务有多准确

sql - 在 Oracle 数据库中设置一个数字的特定位

mysql - 子查询。获取每个用户的附加条件

MySQL JOIN 并从两个可能的来源中选择一个

php - 如何将已连接的表与 Laravel 中的其他表连接?

mysql - 连接 2 个表中的字段

java - 使用半径搜索附近的物体。谷歌地图

java - 无法在谷歌地图上自动显示当前位置?