JSI RTree 実装https://github.com/aled/jsiを使用して、アプリケーションの地理的位置にインデックスを付けようとしています。約 700 万のエントリをロードしてから、contains メソッドを使用して、マサチューセッツ州とコネチカット州の境界ボックスを使用してクエリを実行します。返される結果は、実際にはそのバウンディング ボックスにはありません。これはユーザー エラーですか、それとも RTree 実装のバグですか?
ここに私のバウンディングボックスがあります:
Rectangle r = new Rectangle(-73.630F,43.185F,-69.675F,40.946F);
返された多くの間違った結果の 1 つがこれでした
「経度」: -74.24565887、「緯度」: 40.66231918
...しかし、それらの多くは箱からはるかに外れています。
インデックス内の ID を誤って間違ったデータにマッピングしていないことを確認しました。
最初のテストを行ったとき、インデックスに数十のポイントを追加し、バウンディング ボックスを使用してクエリを実行したところ、結果が正確であることがわかりました。だから私は困惑しています。うまくいけば、誰かが何かアドバイスをしてくれます。