【问题标题】:Find locations in radius of path between 2 other locations在其他 2 个位置之间的路径半径中查找位置
【发布时间】:2013-01-12 08:20:51
【问题描述】:

我有一个大型的位置数据库,所有位置都包含纬度/经度。我使用 GeoKit 和 Rails 轻松获取任何其他位置的设定半径内的位置。一切都很好。

我的目标是指定 2 个位置(例如 A 和 B),并在 A 和 B 之间的路径上找到 Xmi 半径内的所有其他位置。

您可以通过哪些方式来解决此问题?我曾考虑在路径上以某个固定间隔执行附近的搜索,但后来我担心性能和另一面 - 仅仅因为我选择了一个糟糕的间隔而丢失了路径附近的位置。

想法?

【问题讨论】:

    标签: ruby-on-rails-3 performance gps geometry geokit


    【解决方案1】:

    只计算端点,

    沿路径以半径长度为间隔

    如图所示。

    这样可以解决你的问题

    【讨论】:

    • 感谢您的回答。但是,这让我担心由于间距不足而导致非常靠近路径的缺失区域。例如,如果您从左侧开始向内移动 25%,则不会包含距离路径仅约 1 个单位的位置。我们可以通过重叠区域来解决这个问题,但这会导致性能问题。
    • 1:那么ypu应该考虑端点的圆条件....2:编写检查矩形的代码;并检查 'width=line width' 和 'height=radius' 的矩形
    【解决方案2】:

    我没有在这里找到一个优雅的答案,但我想 sadiqxs 是在正确的轨道上。 GeoKit 不支持非矩形搜索,所以我最终得到了一个类似于 sadiqxs 的解决方案,但经过优化以根据距离应用最大搜索次数。

    【讨论】:

      猜你喜欢
      • 2017-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-17
      • 1970-01-01
      • 2011-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多