我有一个包含约5000个经纬度对的列表,我想找到其中离用户指定的另一点最近的5个点。
你能否建议一个有效的算法来解决这个问题?我在Ruby中实现这个算法,所以如果有合适的库那就更好了,但是我仍然对算法很感兴趣!
更新:有几个人要求更具体地解释这个问题。因此,在此提供更多细节:
- 这5000个点大部分都在同一个城市内。可能会有一些在城市外,但可以安全地假设99%的点在75公里半径内,所有点都在200公里半径内。 - 点的列表变化很少。为了论证,我们假设它每天更新一次,在那段时间内我们必须处理几千个请求。
你能否建议一个有效的算法来解决这个问题?我在Ruby中实现这个算法,所以如果有合适的库那就更好了,但是我仍然对算法很感兴趣!
更新:有几个人要求更具体地解释这个问题。因此,在此提供更多细节:
- 这5000个点大部分都在同一个城市内。可能会有一些在城市外,但可以安全地假设99%的点在75公里半径内,所有点都在200公里半径内。 - 点的列表变化很少。为了论证,我们假设它每天更新一次,在那段时间内我们必须处理几千个请求。