문서 메뉴

문서 홈애플리케이션 개발MongoDB 매뉴얼

$polygon

이 페이지의 내용

  • 정의
  • 행동
  • 예제
$polygon

레거시 좌표 쌍의 지리 공간적 $geoWithin 쿼리에 대한 다각형을 지정합니다. 쿼리는 다각형의 경계 내에 있는 쌍을 반환합니다. 연산자는 GeoJSON 객체를 쿼리하지 않습니다.

다각형을 정의하려면 좌표점 배열을 지정합니다.

{
<location field>: {
$geoWithin: {
$polygon: [ [ <x1> , <y1> ], [ <x2> , <y2> ], [ <x3> , <y3> ], ... ]
}
}
}

마지막 점은 항상 첫 번째 점과 암시적으로 연결됩니다. 원하는 만큼 점(예: 측면)을 지정할 수 있습니다.

중요

경도와 위도를 사용하는 경우 경도를 먼저 지정합니다.

$polygon 연산자는 평면형 기하 도형을 사용하여 거리를 계산합니다.

애플리케이션은 지리 공간적 인덱스 없이도 를 사용할 수 있습니다. 그러나 지리 공간적 $polygon 인덱스는 인덱싱되지 않은 쿼리보다 훨씬 빠른 쿼리를 지원합니다.

2d 지리 공간적 인덱스만 $polygon 연산자를 지원합니다.

다음 쿼리는 [ 0 , 0 ], [ 3 , 6 ], [ 6 , 0 ]으로 정의된 다각형 내에 존재하는 좌표가 있는 모든 문서를 반환합니다.

db.places.find(
{
loc: {
$geoWithin: { $polygon: [ [ 0 , 0 ], [ 3 , 6 ], [ 6 , 0 ] ] }
}
}
)
← $minDistance

이 페이지의 내용