我对GIS有点新意,我想在我的数据库(mySQL)中搜索k最近邻居 。 据我所知,选项是: 1)使用Haverstine公式 - 但它将在整个数据库上运行,我知道我可以添加索引到lat并且很长时间来改进... 2)使用如下所述的扩展区域:http://blogs.msdn.com/b/isaac/archive/2008/10/23/nearest-neighbors.aspx 3)使用如下所述的边界框:http://code.google.com/intl/iw-IL/appengine/articles/geosearch.html 4)使用如下所述的point和MBRContains函数: Fastest Way to Find Distance Between Two Lat/Long Points
我想知道每种方式的优点和缺点是什么,哪一种(或组合)最适合获得快速且温和的准确结果。 另外,我应该使用积分吗?多边形还是只是纬度/长度? 我知道这个话题已经在这里讨论了一次,但我仍然不确定答案是什么。 TNX
答案 0 :(得分:0)
我决定使用MySQL的高级顾问Alexander Rubin(2006) 它使用lat和long。 在这里能找到它: http://www.google.co.il/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cts=1331768736541&ved=0CC8QFjAA&url=http%3A%2F%2Fassets.en.oreilly.com%2F1%2Fevent%2F2%2FGeo%2520Distance%2520Search%2520with%2520MySQL%2520Presentation.ppt&ei=nC1hT4KlD6mk0QX1uOmGBw&usg=AFQjCNF-JRRwbrOhQPim3d1wRDc2dI8HsQ&sig2=uoRdf1PMkZTNSh7m7zXu-A
希望它会帮助你们中的一些人