注意:对于此问题的其余部分,我将将此任意点称为“ myPoint”,以避免造成混淆。
问题:地图上有几个点(计算每个点和myPoint之间的距离不切实际)。
尝试解决方案:我尝试进行半径搜索,但是为了知道这些点在圆内的位置,我必须遍历所有点并确保它们之间的距离小于搜索圆的半径。
问题:如何有效地找到最接近myPoint的点?请询问是否需要澄清。
您可以使用一种技术来“划分”搜索空间(即地图)。
您可以考虑定义一个覆盖地图的常规网格,并将所有地图位置存储在网格的每个单元格中。
这样,很容易计算/确定哪个单元格包含myPoint。然后,只需考虑同一单元内的点即可。
注意:如果包含myPoint的单元格没有任何地图位置,或者与相邻单元格中的点的距离比同一单元格中的点的距离短,那么您可能还必须考虑相邻的单元格(例如,myPoint在单元格边界附近)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句