我应该使用什么数据结构来索引地理坐标?

时间:2019-05-26 18:30:23

标签: data-structures geospatial

我有一组具有经度和纬度坐标的对象,我需要能够将另一组对象与最接近的项进行匹配。简单的最近邻居的东西。我最好的想法是将经/纬度坐标转换为3D坐标,然后存储在K-d树或八叉树中,以便以后查找。对于所有实际目的,它都应该工作并且足够好(请参阅:kdtree for geospatial point search),但是感觉有些不对劲。我认为这实际上是3D空间中的2D流形的一部分。

是否有更合适的结构可以使用?还是我只是对此考虑过度?

1 个答案:

答案 0 :(得分:0)

甚至维基百科说:

  

k-d树(k维树的缩写)是一种空间划分数据结构,用于组织 k维空间中的点。

因此继续使用2D点(将它们投影到3D或类似的东西)。

将它们插入树中,然后以对数时间查询树-在那里,一切都愉快!