【问题标题】:How does a geospatial index work? [closed]地理空间索引如何工作? [关闭]
【发布时间】:2011-01-02 02:58:41
【问题描述】:

我想知道地理空间索引(例如 MongoDB 使用的索引)是如何工作的。谁能解释内部使用什么数据结构/算法?搜索运行的时间复杂度是多少?

资源链接也很棒。

【问题讨论】:

  • @Will 我认为重新打开这个问题会很好。它实际上确实要求提供事实答案,并且到目前为止的回答价值很高。作为一名从事数据​​库索引技术的程序员,我认为听到更多答案会很有价值:)
  • @RobEvans 是的,不。首先,地理空间索引的工作原理是一个在 StackOverflow 的问题/答案格式中无法很好回答的主题。其次,这个问题正在寻找链接,这是特别不允许的(有一个密切的原因)。如果您对这里的主题和主题不了解,请访问Meta Stack Overflow
  • @Will 不同意您的说法,即地理索引及其内部工作不适合问答,但我认为这无关紧要。当然,这个问题可以通过编辑来删除链接请求并更具体,但这并不意味着它没有价值或一般来说不合适。我看到其中不少有价值且封闭,这很遗憾,因为社区肯定会在它们中找到价值......我已经在下面的两个答案中找到了价值,因为它让我想起 geohases 作为 b-tree键。
  • @RobEvans 好吧,你错了。公认的答案不过是指向树结构的链接。这只是整体中的一个组成部分,仍然太宽泛,无法放在这里。您必须访问这些链接才能了解它们。仅供参考,这些东西称为搜索引擎,它们已经索引链接。 StackOverflow 并不想成为链接聚合服务。第二个答案只是对另一个问题的答案(可爱)的抄袭,它指向另一个由链接部分回答的问题。腐烂的链接,顺便说一句,使答案毫无用处。再次访问Meta Stack Overflow,了解 SO 为何以这种方式运行。
  • 我也很好奇,这个问题也正是我想问的。可以重新打开吗?

标签: indexing geospatial


【解决方案1】:

根据数据类型和使用模式,R-Tree 或变体(R*R+)或quadtree 甚至可能是kd-tree

【讨论】:

    【解决方案2】:

    据此其他SO question

    当前实现在标准之上对地理哈希码进行编码 MongoDB B 树。 $near 查询的结果是准确的。一限制 使用这种编码,虽然速度很快,但前缀查找不会给出 准确的结果,尤其是在位翻转区域附近。 MongoDB 解决了这个问题 通过在初始前缀扫描后进行网格邻居搜索来挑选 提高任何落后者的分数。这通常可以确保性能 在提供正确结果的同时仍然很高。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-12
      • 1970-01-01
      • 1970-01-01
      • 2010-09-05
      • 1970-01-01
      • 1970-01-01
      • 2015-09-04
      • 1970-01-01
      相关资源
      最近更新 更多