ポイントがポリゴン内にあるかどうかを確認するmongoクエリがあります。
neighborhood = db.collection.findOne({
loc: {$geoInteresects: {$geometry: {
type: 'Point',
coordinates: [lng, lat]
}}}
})
現在、私のポリゴンはすべて単一のレベル、近隣であり、重なっているものはありません。
市、郡、および国のデータを同じコレクションに保存したいと考えています。明らかに、findOne を find に変更してコードを適切に変更できますが、特に、結果が [ "Downtown", "San Francisco", "California", "米国"、"北米"]
そこから素敵な文字列を構築するのは簡単なことです。
マルチレベルのポリゴンをまだセットアップしていないので、テストしていません。
$near 演算子がオブジェクトに最も近いポイントを返し、並べ替えることができることは知っていますが、ドキュメントを読んで、テスト ポイントが polgyon 内にあるため、並べ替え順序が未定義であると仮定し、私も実行します近くのポリゴンも取得するリスクがあるため、2 番目のジオインターセクトでチェックして、ポリゴンの中にいないことを確認する必要があります。