GeoJSON 객체
개요
MongoDB는 이 페이지에 나열된 GeoJSON 객체 유형을 지원합니다.
GeoJSON 데이터를 지정하려면 내장된 문서를 사용하세요.
GeoJSON 객체 유형을 지정하는
type
이라는 필드 및객체의 좌표를 지정하는
coordinates
라는 필드입니다.
<field>: { type: <GeoJSON type> , coordinates: <coordinates> }
중요
위도 및 경도 좌표를 지정하는 경우 경도를 먼저 나열한 다음 위도를 나열합니다.
유효한 경도 값은
-180
~180
입니다(둘 모두 포함).유효한 위도 값은
-90
~90
입니다(둘 모두 포함).
GeoJSON 객체에 대한 MongoDB 지리 공간적 쿼리는 구에서 계산됩니다. MongoDB 는 GeoJSON 객체에 대한 지리 공간적 쿼리에 WGS84 참조 시스템을 사용합니다.
Point
다음 예시는 GeoJSON 포인트를 지정합니다.
{ type: "Point", coordinates: [ 40, 5 ] }
LineString
다음 예시에서는 GeoJSON 라인스트링을 지정합니다.
{ type: "LineString", coordinates: [ [ 40, 5 ], [ 41, 6 ] ] }
Polygon
다각형은 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 ] ] ] }
MultiPoint
2dsphere 인덱스 필요
GeoJSON MultiPoint 내장된 문서는 점 목록을 인코딩합니다.
{ type: "MultiPoint", coordinates: [ [ -73.9580, 40.8003 ], [ -73.9498, 40.7968 ], [ -73.9737, 40.7648 ], [ -73.9814, 40.7681 ] ] }
MultiLineString
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 ] ] ] }
MultiPolygon
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 ] ] ] ] }
GeometryCollection
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 ] ] ] } ] }