웹 지도를 위한 GeoJSON 가이드
2026-03-02
GeoJSON은 웹에서 지리 데이터를 교환하는 주요 형식입니다. Leaflet, Mapbox GL JS, OpenLayers, deck.gl 등 인기 있는 모든 지도 라이브러리가 GeoJSON을 기본 지원합니다. osm2cdr.ru를 이용하면 OpenStreetMap의 어떤 영역이든 몇 초 만에 GeoJSON으로 내보낼 수 있습니다.
GeoJSON 구조
GeoJSON 파일은 FeatureCollection 유형의 객체를 담은 일반 JSON입니다. 각 Feature는 지오메트리(점, 선, 폴리곤)와 속성(properties) — OpenStreetMap 태그인 이름, 객체 유형, 주소 등의 속성을 포함합니다.
Leaflet에 연결하는 방법
웹 지도에 GeoJSON을 표시하는 가장 간단한 방법:
fetch('/data/moscow-buildings.geojson')
.then(r => r.json())
.then(data => L.geoJSON(data, {
style: { color: '#3388ff', weight: 1, fillOpacity: 0.3 }
}).addTo(map));
속성 기반 스타일링
osm2cdr.ru의 GeoJSON은 OSM 태그를 보존합니다: highway, building, amenity, natural 등. 이를 통해 객체를 유형별로 스타일링할 수 있습니다:
L.geoJSON(data, {
style: function(feature) {
if (feature.properties.building) return { color: '#e74c3c' };
if (feature.properties.natural === 'water') return { color: '#3498db' };
return { color: '#95a5a6' };
}
});
대용량 데이터 최적화
GeoJSON은 소·중규모 영역(최대 50km²)에서 잘 작동합니다. 넓은 지역의 경우:
- GeoJSON-Seq — 스트리밍 형식으로, 파일이 한 줄씩 로드됩니다.
- PMTiles — 수백만 개의 객체를 즉시 표시하는 클라우드 네이티브 타일 형식.
- 벡터 타일 — 지도를 탐색하는 동안 단계적으로 로드됩니다.
GeoJSON 작업 도구
- geojson.io — 보기 및 편집을 위한 온라인 편집기.
- Mapshaper — 지오메트리 단순화 및 변환.
- Turf.js — 브라우저에서 바로 수행하는 공간 분석.
- QGIS — 복잡한 처리를 위한 본격 GIS.