Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ /

GeoJSON 객체

이 페이지의 내용

  • 개요
  • Point
  • LineString
  • Polygon
  • MultiPoint
  • MultiLineString
  • MultiPolygon
  • GeometryCollection

MongoDB는 이 페이지에 나열된 GeoJSON 객체 유형을 지원합니다.

GeoJSON 데이터를 지정하려면 내장된 문서를 사용하세요.

  • GeoJSON 객체 유형을 지정하는 type 이라는 필드 및

  • 객체의 좌표를 지정하는 coordinates라는 필드입니다.

<field>: { type: <GeoJSON type> , coordinates: <coordinates> }

중요

위도 및 경도 좌표를 지정하는 경우 경도를 먼저 나열한 다음 위도를 나열합니다.

  • 유효한 경도 값은 -180~180입니다(둘 모두 포함).

  • 유효한 위도 값은 -90~90입니다(둘 모두 포함).

GeoJSON 객체에 대한 MongoDB 지리 공간적 쿼리는 구에서 계산됩니다. MongoDB 는 GeoJSON 객체에 대한 지리 공간적 쿼리에 WGS84 참조 시스템을 사용합니다.

다음 예시는 GeoJSON 포인트를 지정합니다.

{ type: "Point", coordinates: [ 40, 5 ] }

다음 예시에서는 GeoJSON 라인스트링을 지정합니다.

{ type: "LineString", coordinates: [ [ 40, 5 ], [ 41, 6 ] ] }

다각형은 GeoJSON LinearRing 좌표 배열의 배열로 구성됩니다. 이러한 LinearRings는 닫힌 LineStrings입니다. 닫힌 LineStrings는 좌표 쌍을 4개 이상 가지며 첫 번째 및 마지막 좌표로 동일한 위치를 지정합니다.

곡면에서 두 점을 연결하는 선은 평평한 표면에서 두 점을 연결하는 동일한 좌표 세트를 포함할 수도 있고 포함하지 않을 수도 있습니다. 곡면에서 두 점을 연결하는 선은 측지선이 됩니다. 공유된 모서리, 겹침 및 기타 유형의 교차점에서 오류가 발생하지 않도록 점을 주의 깊게 확인합니다.

다음 예시에서는 외부 링이 있고 내부 링(또는 구멍)이 없는 GeoJSON Polygon을 지정합니다. 다각형을 닫으려면 첫 번째 좌표와 마지막 좌표가 일치해야 합니다.

{
type: "Polygon",
coordinates: [ [ [ 0 , 0 ] , [ 3 , 6 ] , [ 6 , 1 ] , [ 0 , 0 ] ] ]
}

링이 하나인 다각형의 경우 링은 자체 교차할 수 없습니다.

고리가 여러 개 있는 다각형의 경우:

  • 처음 설명한 링은 외부 링이어야 합니다.

  • 외부 링은 자체적으로 교차할 수 없습니다.

  • 모든 내부 링은 외부 링에 완전히 포함되어야 합니다.

  • 내부 링은 서로 교차하거나 겹칠 수 없습니다. 내부 링은 가장자리를 공유할 수 없습니다.

다음 예는 내부 링이 있는 GeoJSON 다각형을 나타냅니다.

{
type : "Polygon",
coordinates : [
[ [ 0 , 0 ] , [ 3 , 6 ] , [ 6 , 1 ] , [ 0 , 0 ] ],
[ [ 2 , 2 ] , [ 3 , 3 ] , [ 4 , 2 ] , [ 2 , 2 ] ]
]
}
내부 링이 있는 다각형 다이어그램입니다.

2dsphere 인덱스 필요

GeoJSON MultiPoint 내장된 문서는 점 목록을 인코딩합니다.

{
type: "MultiPoint",
coordinates: [
[ -73.9580, 40.8003 ],
[ -73.9498, 40.7968 ],
[ -73.9737, 40.7648 ],
[ -73.9814, 40.7681 ]
]
}

2dsphere 인덱스 필요

다음 예시에서는 GeoJSON 다중 라인 문자열을 지정합니다.

{
type: "MultiLineString",
coordinates: [
[ [ -73.96943, 40.78519 ], [ -73.96082, 40.78095 ] ],
[ [ -73.96415, 40.79229 ], [ -73.95544, 40.78854 ] ],
[ [ -73.97162, 40.78205 ], [ -73.96374, 40.77715 ] ],
[ [ -73.97880, 40.77247 ], [ -73.97036, 40.76811 ] ]
]
}

2dsphere 인덱스 필요

다음 예시에서는 GeoJSON 다각형을 지정합니다.

{
type: "MultiPolygon",
coordinates: [
[ [ [ -73.958, 40.8003 ], [ -73.9498, 40.7968 ], [ -73.9737, 40.7648 ], [ -73.9814, 40.7681 ], [ -73.958, 40.8003 ] ] ],
[ [ [ -73.958, 40.8003 ], [ -73.9498, 40.7968 ], [ -73.9737, 40.7648 ], [ -73.958, 40.8003 ] ] ]
]
}

2dsphere 인덱스 필요

다음 예시에서는 GeoJSON 형식 GeometryCollection의 좌표를 저장합니다.

{
type: "GeometryCollection",
geometries: [
{
type: "MultiPoint",
coordinates: [
[ -73.9580, 40.8003 ],
[ -73.9498, 40.7968 ],
[ -73.9737, 40.7648 ],
[ -73.9814, 40.7681 ]
]
},
{
type: "MultiLineString",
coordinates: [
[ [ -73.96943, 40.78519 ], [ -73.96082, 40.78095 ] ],
[ [ -73.96415, 40.79229 ], [ -73.95544, 40.78854 ] ],
[ [ -73.97162, 40.78205 ], [ -73.96374, 40.77715 ] ],
[ [ -73.97880, 40.77247 ], [ -73.97036, 40.76811 ] ]
]
}
]
}

돌아가기

레스토랑 찾기