我对 GIS 有点陌生,我想在我的 DB (mySQL) 中搜索 k 最近邻居。据我了解,选项是:1)使用 Haverstine 公式 - 但它将在整个数据库上运行,我知道我可以向 lat 和 long 添加索引以改进事情.. 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) 使用点和 MBRContains 函数,如下所述: Fastest Way to Find Distance Between Two Lat/Long Points
我想知道每种方式的优缺点是什么,哪一种(或组合)最适合获得快速且准确的结果。另外,我应该使用点和多边形还是只使用纬度/经度?我知道这个话题已经在这里讨论过不止一次,但我仍然不确定答案是什么。TNX