在数组中查找最近的坐标?

Rad*_*eem 6 java math 2d trigonometry

我有两个ArrayList,Double数据类型,1.Laitude 2.经度,每个有200多个元素

说我给出一个随机测试坐标,比如说(1.33,103.4),格式为[纬度,经度]

是否有任何算法可以轻松找到最近点,或者我是否需要强力计算每个可能的点,找到斜边,然后比较200多个斜边以返回最近点?谢谢

Mik*_*ail 0

如果数组已排序,则可以使用二分搜索来查找数组中请求点的位置。找到索引后,您应该检查附近的四个点以找到最接近的点。

1)假设你有两个按经度和纬度排序的数组

2)您搜索第一个并找到两个附近的点

3)然后你搜索第二个并找到另外两个点

4)现在你有两到四个点(结果可能相交)

5)这些点将围绕目标点形成一个正方形

6)找到最近的点