通りを表すポイント (黒い線) とマップ上の場所を表すポイント (赤いポイント) の配列があります。指定された通りの近くにあるすべてのポイントを、距離で並べ替えて検索したいと考えています。また、最大距離 (青と緑の領域) を指定する機能も必要です。簡単な例を次に示します。
演算子を使用することを考えましたが、 ではなく、入力として$near
のみ受け入れます。Point
LineString
mongodb はこの種のクエリをどのように処理できますか?
通りを表すポイント (黒い線) とマップ上の場所を表すポイント (赤いポイント) の配列があります。指定された通りの近くにあるすべてのポイントを、距離で並べ替えて検索したいと考えています。また、最大距離 (青と緑の領域) を指定する機能も必要です。簡単な例を次に示します。
演算子を使用することを考えましたが、 ではなく、入力として$near
のみ受け入れます。Point
LineString
mongodb はこの種のクエリをどのように処理できますか?
あなたが言ったように、Mongoの $near は中心点としての線ではなく点でのみ機能しますが、線の近くの点を見つけることから前提を反転して、点の近くの線を見つけると、点を中心として使用し、線をターゲットとして使用できます
これは違いです
foreach line find points near it
と
foreach point find line near it
チェックするポイントが多数ある場合は、これをnevi_meの回答と組み合わせて、チェックが必要なポイントのリストをはるかに小さなサブセットに減らすことができます