【发布时间】:2020-12-21 03:02:56
【问题描述】:
我有很多商店都有自己的纬度和经度。我正在尝试提取每个点半径 2 英里内的数据。例如。每家商店 2 英里范围内有多少家商店。解决此问题的最佳方法是什么?
我知道将纬度/经度四舍五入到十分之一(18.4,-66.2)基本上可以给我 5 英里的半径,但我如何才能变得更细化。我不确定以英里为单位进行四舍五入到第 100 位(18.4,-66.21)对我的影响有多大,但半径似乎太小了。
日期存储为:
- 商店名称(字符串)
- 纬度(双精度)
- 经度(双)
【问题讨论】:
-
我不知道 presto,所以这可能没有帮助,但这是我在 postgres 中的开始方式......为每个商店到商店的组合创建一个表。如果您有 22 家商店,那么您就有 231 种组合。然后此查询将返回每个组合的距离... select loc1, loc2, FN_CALC_DISTANCE(loc1_lat, loc1_lon, loc2_lat, loc2_lon) from temp_location_combos
标签: sql geospatial latitude-longitude presto radius