我在两个单独的表中有两组点,如下所示:t1:Point_1 |Lat | Long .................. Point_n |Lat |Long 和 t2 : Pt_1 |Lat | Long .................... Pt_m |Lat |Long,两个表之间没有关系。为 t1 中的每个 pt 识别 t2 中前 3 个最近点的最佳方法(最少资源)是什么,特别是当 t1 和 t2 很大时?也许是地理哈希?我尝试过并且似乎可以很好地处理小型数据集的是:
t1
| extend blah=1
| join kind=fullouter (t2 |extend blah=1) on blah
| extend distance = geo_distance_2points(Long,Lat,Long1,Lat1)
|sort by spbldrom_code, distance asc
| extend rnk = row_number(1,point <> prev(point))
| where rnk<=3
|project point, pt, distance, rnk
请原谅马虎;我在学 。谢谢!