我有一些地理定位的对象(每个对象都有纬度+经度)。我的 App 需要显示移动设备 GPS 位置周围 3 公里的物体。我有数千个对象,它们分布在大范围内(例如,美国的几个州、几个小国家),这意味着在我的对象列表中,我可以有一个位于纽约市,另一个位于迈阿密,但我也可以有对象非常接近(几米)。
目前,我的应用程序执行迭代搜索。对于每个对象,我使用 GPS 位置计算距离,如果距离 <= 3KM,则保留该对象,否则忽略它。该算法效率不高,我正在寻找一种能够提供更好性能的算法。
我想有一种方法可以使用地理坐标对我的对象进行排序,然后可以更快地找到位于 GPS 位置周围的对象。
我目前的想法只是用“极端点”计算矩形,北/南/东/西(距离 GPS 位置 3 公里)以限制搜索区域。接下来,我将仅计算此框内对象的距离。我认为可以做一些更好的事情,但我不知道......
任何建议将不胜感激;-) 谢谢,
塞布。