問題タブ [spatial-index]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
177 参照

mongodb - ソースと宛先に対する MongoDB 空間クエリ

イベントという名前のコレクションがあります。

Events コレクションの各ドキュメントには、緯度経度のソースと宛先があります。

Events コレクションに対してクエリを実行し、ソースから一定の距離内にあり、宛先から一定の距離内にあるイベントのみを取得したいと考えています。

MongoDB は 1 つのコレクションで 2 つの地理空間インデックスをサポートしていないことを読みました。

データモデルがどのように見えるべきか、目的を達成するためにクエリを作成するにはどうすればよいかについて、私は混乱しています。

ありがとう

0 投票する
1 に答える
413 参照

java - JSI RTree 実装の「contains」メソッドが誤った結果をもたらす?

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 を誤って間違ったデータにマッピングしていないことを確認しました。

最初のテストを行ったとき、インデックスに数十のポイントを追加し、バウンディング ボックスを使用してクエリを実行したところ、結果が正確であることがわかりました。だから私は困惑しています。うまくいけば、誰かが何かアドバイスをしてくれます。

0 投票する
1 に答える
227 参照

mongodb - MongoDB $near が重複したレコードを返す

ドキュメントの例:

上記と同じ構造のドキュメントが 7 つあります。

クエリを作成すると:

私は14カウントを返します。理想的には 7 レコードを取得する必要がありますが、14 レコードを取得しています。何が間違っているのかわかりません。

フィールド「location.ll」を「2d」としてすでに索引付けしました

私が間違っていることを教えてください。

お手伝いありがとう

0 投票する
2 に答える
588 参照

sql - Sql Server Geometry 列が原因で、クエリの実行に時間がかかる

SQL データベースからポリゴン データを取得するクエリを作成しました。

結果を取得するために次のクエリがあります。

このテーブルでは、以下のように空間インデックスを既に追加しています

しかし、2483 件のレコードを取得するのに 38 秒かかりました。誰でもこのクエリを最適化するのを手伝ってくれますか

0 投票する
2 に答える
3306 参照

mysql - WGS84 緯度/経度を空間データとして MySQL に直接保存できますか?

私はWGS84 座標のセットを持っています。保守的なアプローチは、それらを数値として保存し ( SQL データベースに緯度と経度のデータを保存するときに使用するデータ型は? )、距離を次のように計算することです (緯度/経度で最も近い緯度/経度を見つける - 複雑な sql または複雑な計算)。

もう少し高度なアプローチは、「範囲内」のユーザー定義関数を作成することです ( MySQL User Defined Function for Latitude Longitude Syntax )

MySQL の緯度と経度のテーブルのセットアップでは、空間インデックスが使用されます。Pointしかし、WGS 座標を直接格納し、データ型に基づいて距離を照会できるかどうかはよくわかりません。

例: データは次のようになります: "lat" 40.7142298"lng" -73.9614669、これがインポートしたいものです。次に、「緯度/経度から 10 km 以内のすべての tupel を選択」のようなクエリを実行します。