我有一组具有经度和纬度坐标的对象,我需要能够将另一组对象与最接近的项进行匹配。简单的最近邻居的东西。我最好的想法是将经/纬度坐标转换为3D坐标,然后存储在K-d树或八叉树中,以便以后查找。对于所有实际目的,它都应该工作并且足够好(请参阅:kdtree for geospatial point search),但是感觉有些不对劲。我认为这实际上是3D空间中的2D流形的一部分。
是否有更合适的结构可以使用?还是我只是对此考虑过度?
答案 0 :(得分:0)
甚至维基百科说:
k-d树(k维树的缩写)是一种空间划分数据结构,用于组织 k维空间中的点。
因此继续使用2D点(不将它们投影到3D或类似的东西)。
将它们插入树中,然后以对数时间查询树-在那里,一切都愉快!