找到最近的地理位置

时间:2013-01-06 00:13:14

标签: google-maps geolocation geometry computational-geometry

我正在寻找一种从一个地理位置获得近乎地理位置的方法。我可以从两个位置计算差异,但我需要从半径为10-20英里的点找到所有地理位置。我在flickr上找到了一个类似的东西:

http://m.flickr.com/#/nearby/

任何人都有想法它是如何运作的?他们必须将纬度和经度转换为唯一值,并且必须找到几乎此位置或其他内容的所有条目。

感谢您的帮助!

3 个答案:

答案 0 :(得分:1)

您可以使用Voronoi Diagrams,但可能会按每个坐标(单独)对数据进行预排序,然后找到每个坐标附近的点集交叉点,这样可以更轻松地解决问题。

  

可以在Voronoi图之上构建point location数据结构,以便回答最接近的neighbor queries,其中一个人想要找到最接近给定查询点的对象。最近邻查询有很多应用程序。

答案 1 :(得分:0)

您可以使用kd-Tree。前段时间我尝试过这个并且效果很好:

https://github.com/jmhodges/kdtree2

答案 2 :(得分:0)

使用(点)四叉树或k-d树,或者如果点数不高,您甚至可以使用强力搜索。
不要使用voronoi图。它们是最复杂的算法之一。