Ruby gem geokit和:在最大值或公差范围内?

Ruby gem geokit和:在最大值或公差范围内?,ruby,geokit,Ruby,Geokit,刚开始玩和尝试一些东西 事情的进展和预期的差不多,有一点,那就是找到附近的东西 但是,如果我使用:miles将:in设置为一个较大的值,比如100000,我希望得到数据库中返回的大部分(如果不是全部的话)对象—但它似乎在某个点停止—就好像:in有一个内置的最大值 我试过公式:平面和:球面 提前感谢,, Chris您的问题似乎不是:在内的内置最大值,而是缺少限制(以及geokit内的健全性检查) 它看起来像是一个:在范围内的查询最终通过Geokit::Bounds。从_point_和_radius

刚开始玩和尝试一些东西

事情的进展和预期的差不多,有一点,那就是找到附近的东西

但是,如果我使用:miles将:in设置为一个较大的值,比如100000,我希望得到数据库中返回的大部分(如果不是全部的话)对象—但它似乎在某个点停止—就好像:in有一个内置的最大值

我试过公式:平面和:球面

提前感谢,,
Chris

您的问题似乎不是
:在
内的内置最大值,而是缺少限制(以及geokit内的健全性检查)

它看起来像是一个
:在
范围内的查询最终通过
Geokit::Bounds。从_point_和_radius
生成一个边界框
从_点和_半径
将进行一些三角运算(请参见
mappable.rb
中的
端点
),结果将是一个
Geokit::Bounds
实例

我怀疑你在三角学方面出了问题;trig函数是周期性的,因此100000半径最终将环绕在0到40000公里(地球周长约25000英里)之间,而边界框将不绑定100000英里。如果你玩10万点,你可能会让geokit生成一个每边只有几厘米的边界框(如果你能解决常见的浮点问题,则为零半径)


执行摘要:如果你想要全部,根本不要使用
:在
中;如果你想使用
:在
范围内,那么给它一个合理的距离(即足够小,可以在不缠绕的情况下安装在行星表面)。

谢谢-我想我使用“合理的”内值选项:)Geokit只在地球上工作?这只是Rails无法扩展的另一个例子。