본문 바로가기

Database/mongoDB

$centerSphere

※ MongoDB 공식 매뉴얼에 나와있는 $centerSphere 부분을 번역해 보도록 하겠습니다. 번역을 안하는게 나을 것 같은 용어들은 한번만 번역하거나 그대로 두었습니다.

 

Definition (정의)

$centerSphere

 

구형 geometry 를 사용하는 geospatial 쿼리에 원을 정의합니다. 쿼리는 원의 경계 내에 있는 documents 를 반환합니다. GeoJSON 객체와 레거시 좌표쌍에서 $centerSphere 연산자를 사용할 수 있습니다.

 

$centerSphere 를 사용하기 위해선, 다음을 포함하는 배열을 지정해야 합니다 :

  • 원 중심점의 그리드 좌표
  • 라디안으로 측정된 원의 반지름. 라디안을 계산하기 위해선, 이 링크를 보십시오.

 

중요 : 경도와 위도를 사용한다면, 경도를 먼저 지정하세요.

 

Behavior (동작)

 

응용 프로그램은 geospatial index 없이 $centerSphere 를 사용할 수 있습니다. 그러나 geospatial 인덱스는 인덱싱되지 않은 것들보다 더 빠른 쿼리를 지원합니다.

 

2dsphere, 2d 인덱스 둘 다 $centerSphere 를 지원합니다.

 

Example (예시)

 

다음의 예시는 그리드 좌표를 쿼리하고, 경도 88 W, 위도 30 N 좌표에서 10 마일 반경 내에 있는 모든 documents 를 반환합니다. 이 쿼리는 지구의 적도 반경과 근사치인 3963.2 마일로 나눔으로써 거리를 라디안으로 변환합니다 :

 

db.places.find( {
  loc: { $geoWithin: { $centerSphere: [ [ -88, 30 ], 10/3963.2 ] } }
} )

 

 

출처 : https://docs.mongodb.com/manual/reference/operator/query/centerSphere/

 

$centerSphere — MongoDB Manual

Example The following example queries grid coordinates and returns all documents within a 10 mile radius of longitude 88 W and latitude 30 N. The query converts the distance to radians by dividing by the approximate equatorial radius of the earth, 3963.2 m

docs.mongodb.com

 

'Database > mongoDB' 카테고리의 다른 글

$maxDistance  (0) 2020.04.16
$geometry  (0) 2020.04.16
$center  (0) 2020.04.12
$box  (0) 2020.04.12
$nearSphere  (0) 2020.04.09