Google KML을 GeoJSON으로 변환하는 도구
Google KML 파일을 GeoJSON으로 변환하면 계층적인 XML 지리 데이터를 현대적인 웹 지도를 위한 경량 벡터 JavaScript Object Notation으로 바꿀 수 있습니다.
형식 비교 및 기술 사양
| 사양 | KML | GEOJSON |
|---|---|---|
| MIME 유형 | application/vnd.google-earth.kml+xml | application/geo+json |
| 유형 | geographic XML notation | geographic vector JSON |
| 압축 | XML text (KMZ when ZIP compressed) | none (JSON text) |
| 표준 사양 | OGC KML 2.3 | IETF RFC 7946 |
| 매직 바이트 헤더 | 3C 3F 78 6D 6C ... 3C 6B 6D 6C (<kml) | 7B 22 74 79 70 65 22 3A 20 22 ({"type": ") JSON header |
형식 개요 및 응용 프로그램
지리 데이터는 종종 데스크톱 매핑 도구와 웹 애플리케이션 사이를 오갑니다. Google KML은 Google Earth에서 사용하는 표준 형식으로, XML 트리 내부에 포인트, 선, 다각형을 구조화합니다. Mapbox 및 Leaflet과 같은 현대적인 웹 브라우저와 매핑 라이브러리는 JavaScript가 사용하는 데이터 구조와 직접 일치하기 때문에 GeoJSON을 선호합니다. 개발자와 GIS 분석가는 전문 데스크톱 소프트웨어 없이 웹 페이지에 지도 오버레이를 빠르게 로드하기 위해 KML을 GeoJSON으로 변환합니다. 웹 애플리케이션은 큰 XML 문서를 파싱하는 것에 비해 JSON을 즉시 처리합니다. 사용자가 웹 지도를 로드할 때 GeoJSON 파일은 벡터 렌더링 엔진으로 직접 공급됩니다. 이 변환 과정은 런타임 중에 XML 태그를 번역하는 오버헤드를 제거합니다. 이를 통해 지도가 정확한 좌표 형상을 유지하면서 수천 개의 피처를 부드럽게 표시할 수 있습니다.
기술 사양 및 코덱 분석
Google KML은 application/vnd.google-earth.kml+xml MIME 타입을 사용하며 XML 텍스트 구문 또는 압축 시 KMZ로 알려진 ZIP 컨테이너에 의존합니다. GeoJSON은 application/geo+json MIME 타입을 사용하며 JSON 객체로 구조화된 압축되지 않은 일반 텍스트로 구성됩니다. KML 파일은 종종 표준 XML 선언 바이트로 시작하고, KMZ 아카이브는 ZIP 로컬 파일 헤더 바이트인 50 4B 03 04로 시작합니다. GeoJSON 파일은 루트 JSON 객체를 나타내는 ASCII 문자 '{'로 시작합니다. 변환 과정은 XML 문서 트리를 파싱하고, 좌표 배열과 메타데이터 태그를 추출하며, 좌표 정밀도를 잃지 않고 RFC 7946 준수 JSON 피처 컬렉션으로 다시 작성합니다.
OS 및 브라우저 호환성
두 형식 모두 Windows, macOS, Linux, iOS, Android를 포함한 모든 최신 운영 체제에서 작동합니다. 브라우저는 JSON을 기본적으로 파싱하므로 GeoJSON은 Chrome, Firefox, Safari, Edge와 같은 모든 최신 웹 브라우저에서 기본적으로 실행됩니다. 웹 브라우저는 타사 파싱 라이브러리 없이는 KML 파일을 기본적으로 표시할 수 없으므로, Google KML은 Google Earth 같은 전문 데스크톱 소프트웨어나 QGIS 같은 변환 도구가 필요합니다.
💡 유용한 정보
웹 지도에서 공간 오프셋 오류를 방지하기 위해 GeoJSON으로 변환하기 전에 소스 KML이 WGS 84 지리 좌표를 사용하는지 항상 확인하십시오.
형식 비교 및 기술 사양
표준 5메가바이트 KML 파일은 약 4.2메가바이트 GeoJSON 파일로 변환됩니다. 초당 30메가비트로 실행되는 4G 모바일 네트워크에서 이 파일을 다운로드하는 데 약 1.1초가 걸립니다. 초당 150메가비트로 실행되는 5G 네트워크에서는 전송이 0.2초 만에 완료됩니다. 기가비트 파이버 연결에서는 파일이 0.05초 미만으로 즉시 전송됩니다.
자주 묻는 질문
품질 저하 없이 Google KML을 GeoJSON으로 변환하려면 어떻게 해야 합니까?
좌표 데이터에 대한 변환은 수학적으로 무손실입니다. 두 형식 모두 WGS 84 공간 참조 시스템을 사용하여 지리 좌표를 저장합니다. 그러나 사용자 지정 아이콘 URL 및 복잡한 다각형 돌출 높이와 같은 KML의 특정 스타일링 규칙은 표준 GeoJSON에 직접 대응하는 항목이 없을 수 있으므로 수동으로 다시 만들어야 할 수 있습니다.
Google KML과 GeoJSON의 차이점은 무엇입니까?
Google KML은 풍부한 스타일링, 카메라 뷰, 3D 요소를 지원하는 계층적 노드 구조를 갖춘 지구 브라우저용으로 설계된 XML 기반 언어입니다. GeoJSON은 JSON을 기반으로 구축된 경량 형식으로, 웹 API 및 피처 컬렉션, 형상, 간단한 속성을 포함하는 평면 구조의 벡터 그래픽에 최적화되어 있습니다.