0

ポイントがポリゴン内にあるかどうかを確認するmongoクエリがあります。

neighborhood =  db.collection.findOne({
    loc: {$geoInteresects: {$geometry: {
        type: 'Point',
        coordinates: [lng, lat]
    }}}
})

現在、私のポリゴンはすべて単一のレベル、近隣であり、重なっているものはありません。

市、郡、および国のデータを同じコレクションに保存したいと考えています。明らかに、findOne を find に変更してコードを適切に変更できますが、特に、結果が [ "Downtown", "San Francisco", "California", "米国"、"北米"]

そこから素敵な文字列を構築するのは簡単なことです。

マルチレベルのポリゴンをまだセットアップしていないので、テストしていません。

$near 演算子がオブジェクトに最も近いポイントを返し、並べ替えることができることは知っていますが、ドキュメントを読んで、テスト ポイントが polgyon 内にあるため、並べ替え順序が未定義であると仮定し、私も実行します近くのポリゴンも取得するリスクがあるため、2 番目のジオインターセクトでチェックして、ポリゴンの中にいないことを確認する必要があります。

4

1 に答える 1