あなたの問題は、最大値が組み込まれているようには見えませんが:within
、制限がありません(そしてgeokit内の健全性チェック)。
クエリがバウンディングボックスを生成するため:within
に通過するように見えます。三角法を少し実行し(を参照)、結果はインスタンスになります。Geokit::Bounds.from_point_and_radius
from_point_and_radius
endpoint
mappable.rb
Geokit::Bounds
三角法で問題が発生しているのではないかと思います。三角関数は周期的であるため、半径100 000は、最終的に0〜40 000 km(地球の円周、約25 000マイル)の範囲にラップアラウンドし、バウンディングボックスは100000マイルをバインドしません。100 000を少し試してみると、おそらくgeokitを使用して、1辺あたりわずか数センチメートル(または通常の浮動小数点の問題を解決できる場合は半径がゼロ)のバウンディングボックスを作成できます。
エグゼクティブサマリー:すべてが必要な場合は、まったく使用:within
しないでください。を使用する場合は:within
、適切な距離を指定します(つまり、ラップアラウンドせずに惑星の表面に収まるように十分に小さくします)。