나는 집의 위치를 나타내는 임의의 점을 가지고있다. 내 MongoDB에는 여러 영역을 나타내는 다각형이있는 콜렉션이 있습니다 (우편 번호와 유사).주어진 포인트를 래핑하는 폴리곤을 찾는 가장 좋은 방법 MongoDB?
주어진 지점이 해당 영역 내에있는 컬렉션의 영역을 반환하고 싶습니다.
현재 나는 "작은"상자에 포인트를 변환 (예상대로 작동)이 같은 쿼리 사용하고 있습니다 :(포인트 boxified되었다 [56.121371, 13.114797]
를)
db.areas.find({
"area" : {
"$geoIntersects" : {
"$geometry" : {
"type" : "Polygon",
"coordinates" : [
[
[
56.120371,
13.113797
],
[
56.120371,
13.115797
],
[
56.122371,
13.115797
],
[
56.122371,
13.113797
],
[
56.120371,
13.113797
]
]
]
}
}
}
});
을 나는 $near
을 사용하려고 시도했지만 포인트와 만 작동합니다. 나는 또한 성공하지 않고 $geoWithin
을 시도했다. 내 생각 엔 수집 문서가 쿼리 내에 있는지 쿼리가 문서 내에 있는지 확인하지 않는 것입니다.
이것은 매우 일반적인 쿼리 여야합니다. 더 좋은 방법이 있다면 "작은"다각형을 만드시겠습니까? "해결 방법"처럼 느껴집니다.
을 포함한 모든 지오메트리와 함께 작동? –
그게 효과가있어! 나는 그걸 시도하지 않았다는 것을 믿을 수 없다 ... – luttkens
그냥 대답을 만들고 받아 들일 것이다. – luttkens