Rad*_*eem 6 java math 2d trigonometry
我有两个ArrayList,Double数据类型,1.Laitude 2.经度,每个有200多个元素
说我给出一个随机测试坐标,比如说(1.33,103.4),格式为[纬度,经度]
是否有任何算法可以轻松找到最近点,或者我是否需要强力计算每个可能的点,找到斜边,然后比较200多个斜边以返回最近点?谢谢
如果数组已排序,则可以使用二分搜索来查找数组中请求点的位置。找到索引后,您应该检查附近的四个点以找到最接近的点。
1)假设你有两个按经度和纬度排序的数组
2)您搜索第一个并找到两个附近的点
3)然后你搜索第二个并找到另外两个点
4)现在你有两到四个点(结果可能相交)
5)这些点将围绕目标点形成一个正方形
6)找到最近的点