Algorithm 使用MongoDB';基于三维数据的s地理空间索引

Algorithm 使用MongoDB';基于三维数据的s地理空间索引,algorithm,mongodb,geospatial,Algorithm,Mongodb,Geospatial,我有一组文档,每个文档都包含一个存储在MongoDB集合中的3空间点。MongoDB目前只有2空间的地理空间索引。有没有一种方法可以利用Geospacial索引对3维空间数据进行类似的查询?压缩其中一个维度可能会使其变得混乱,但精度会降低一半 假设它们是64位键,并且您希望存储三个32位坐标: [(x你的意思是,不是你想要的x,y,z?+1-我甚至不知道Mongo有一个地理空间索引..它有一个用于地理空间的球形和长方体模型,长方体模型对核心GIS类型不太有用,但对于定位应用程序来说很有趣。是的,

我有一组文档,每个文档都包含一个存储在MongoDB集合中的3空间点。MongoDB目前只有2空间的地理空间索引。有没有一种方法可以利用Geospacial索引对3维空间数据进行类似的查询?

压缩其中一个维度可能会使其变得混乱,但精度会降低一半

假设它们是64位键,并且您希望存储三个32位坐标:
[(x你的意思是,不是你想要的x,y,z?+1-我甚至不知道Mongo有一个地理空间索引..它有一个用于地理空间的球形和长方体模型,长方体模型对核心GIS类型不太有用,但对于定位应用程序来说很有趣。是的,Mongodb有用于平面2d和球形2d的地理空间索引。()如果你在地球表面映射点,它可以建立地理空间索引并进行快速的邻近查询,不幸的是,我的数据是三维的。mongo对n维地理空间支持的功能要求是,我认为这会打乱“近”的概念地理空间索引是用来做什么的,不是吗?是和否。如果你用最随机的变量来设置破碎维度的低位,你应该会很好。第二个交错位的技巧非常有效,可以将任意数量的维度压缩成一个。我真的不明白这一点。这在实际应用中是如何工作的MongoDB JavaScript外壳代码?你能提供一个如何定义索引的示例吗?一个示例查询?谢谢!另外,你会怎么做:对于精确的查询——是的,但是你不需要空间索引——常规索引可以很好地工作,而且你可以做多列索引,所以不需要乱七八糟的查询。对于接近的查询——你已经有效地抛出了n去掉y维(更糟糕的是,在x维中引入了噪声),因此您也可以跳过这个乱七八糟的部分,只对[x,z]进行空间索引。