geojson rfc7946 gis maps json standards

GeoJSON 표준 완벽 가이드: 지리 공간 데이터를 위한 RFC 7946 이해하기

RFC 7946을 사용하여 JSON으로 지리적 특징을 표현하는 방법을 배웁니다. Point, LineString, Polygon 등에 대한 완벽 가이드입니다.

2026-04-11

GeoJSON 표준 완벽 가이드: 지리 공간 데이터를 위한 RFC 7946 이해하기

웹 매핑 및 지리 정보 시스템(GIS)의 세계에서 GeoJSON은 공간 데이터를 공유하기 위한 보편적인 언어가 되었습니다. Leaflet, Mapbox, Google Maps 중 무엇을 사용하든 공식 GeoJSON 표준인 RFC 7946을 접하게 될 것입니다.

RFC 7946 (GeoJSON)이란 무엇인가요?

2016년에 발표된 RFC 7946은 GeoJSON 형식을 공식화했습니다. 이는 JSON(JavaScript Object Notation)을 기반으로 한 지리 공간 데이터 교환 형식입니다. 기하 구조(Geometry), 지물(Features), 지물 컬렉션을 표현할 수 있습니다.

GeoJSON은 다음과 같은 기하 구조 유형을 지원합니다.

  • Point (점): 단일 위치 (경도, 위도).
  • LineString (선): 연결된 점들의 연속.
  • Polygon (면): 닫힌 영역 (시작점과 끝점이 동일).
  • MultiPoint, MultiLineString, MultiPolygon: 위 유형들의 집합.
  • GeometryCollection: 다양한 기하 구조 유형의 혼합.

GeoJSON의 핵심 원칙

1. 좌표계

RFC 7946은 WGS 84 (World Geodetic System 1984) 데이터 사용을 엄격히 규정합니다. 좌표는 항상 [경도, 위도] 순서로 정렬됩니다. 주의: 많은 개발자가 [위도, 경도]를 사용하는 실수를 범하며, 이 경우 데이터가 지구상의 잘못된 위치에 표시됩니다!

2. 지물(Feature) 객체

GeoJSON Feature 객체는 기하 구조와 추가 메타데이터(속성)를 포함합니다.

{
  "type": "Feature",
  "geometry": {
    "type": "Point",
    "coordinates": [102.0, 0.5]
  },
  "properties": {
    "name": "Dinagat Islands"
  }
}

3. 지물 컬렉션 (FeatureCollection)

대부분의 GeoJSON 파일은 FeatureCollection 객체이며, 여러 지물을 단일 파일로 묶을 수 있습니다.


실제 응용 시나리오

웹 매핑

GeoJSON은 대부분의 현대적인 웹 매핑 라이브러리를 위한 기본 형식입니다. AJAX를 통해 쉽게 로드할 수 있으며 properties 객체를 기반으로 스타일을 동적으로 지정할 수 있습니다.

데이터베이스 저장

PostGIS가 포함된 PostgreSQL 및 MongoDB와 같은 현대적인 데이터베이스는 GeoJSON을 기본적으로 지원하여 공간 쿼리(예: "이 위치에서 5km 이내의 모든 점 찾기")를 수행할 수 있습니다.

데이터 시각화

D3.js와 같은 도구는 GeoJSON 데이터를 가져와 대화형 SVG 지도로 렌더링할 수 있어 대시보드 및 인포그래픽에 적합합니다.


GeoJSON vs. KML vs. Shapefile

특징 GeoJSON KML Shapefile
형식 JSON XML 바이너리 (여러 파일)
웹 친화성 매우 우수 보통 낮음
스타일 지정 속성을 통해 내장 (XML) 별도 파일 (.qml/.sld)
가독성 아니요

자주 묻는 질문 FAQ

Q: 왜 [위도, 경도]가 아니라 [경도, 위도]인가요?
A: RFC 7946은 경도가 X축에 해당하고 위도가 Y축에 해당하는 표준 데카르트 좌표계 [x, y]를 따르기 때문입니다.

Q: 다른 좌표계(CRS)를 사용할 수 있나요?
A: 이전 버전의 GeoJSON에서는 사용자 정의 CRS가 허용되었지만, RFC 7946에서는 WGS 84를 엄격히 요구합니다. 데이터가 다른 시스템(예: UTM)에 있는 경우 GeoJSON으로 공유하기 전에 WGS 84로 투영 변환해야 합니다.

Q: 대규모 데이터셋은 어떻게 처리하나요?
A: 매우 큰 공간 데이터셋의 경우 GeoJSON 로드가 느려질 수 있습니다. 위상(Topology)을 공유하여 파일 크기를 줄이는 TopoJSON이나 운영 수준의 매핑을 위한 벡터 타일(Vector Tiles) 사용을 고려해 보세요.


관련 도구

  • JSON 포맷터 - GeoJSON 구조를 검증하고 정리하는 데 필수적입니다.
  • URL 인코더/디코더 - GeoJSON 데이터를 URL 파라미터로 전달할 때 유용합니다.
  • UUID 생성기 - GeoJSON 지물에 대한 고유 ID를 생성하는 데 자주 사용됩니다.