Google KML (.kml)
OGC 표준키홀 마크업 언어(KML)는 지리 주석 및 시각화를 표현하기 위한 개방형 XML 표준으로, 원래 Keyhole Earth Viewer(Google Earth)용으로 개발되었으며 개방형 지리 공간 컨소시엄(OGC)에 의해 표준화되었습니다.
GEOJSON을(를) KML(으)로 변환
무료 브라우저 내 GEOJSON에서 KML로 변환하는 도구입니다. 기기에서 파일을 즉시 변환할 수 있습니다.
검사 및 메타데이터
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 KML 파일을 식별합니다:
바이트 단위 헤더 시그니처 (매직 바이트)
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 KML 파일을 식별합니다:
16진수 시그니처 (오프셋 0):
3C 6B 6D 6CASCII 표현: <kml
표준화: OGC KML 2.3 Standard
기술 사양
| 컨테이너 아키텍처 | Placemark, GroundOverlay, 3D 모델 및 카메라 시점을 정의하는 XML 기반 지리 시각화 문법 |
| 압축 | 압축되지 않은 XML 텍스트(.kmz 파일은 ZIP으로 압축됨) |
| 바이트 엔디안 | UTF-8 / 유니코드 텍스트 스트림 |
| 색 공간 | AABBGGRR 16진수 색상 문자열 |
| 채널 및 구조 | Placemark, 경로, 폴리곤, 3D 건물 모델, 사진 오버레이 및 투어 카메라 경로 |
| 최대 크기 | WGS 84 좌표: 경도, 위도, 고도(해수면 위 미터 단위) |
| 투명도 | AABBGGRR 색상 문자열과 PNG 오버레이에서 알파 투명도 지원 |
| 스트리밍 및 프로그레시브 | NetworkLinks를 통해 원격 지리 서버의 동적 스트리밍 업데이트 지원 |
기술 비교 매트릭스: KML 대 경쟁사
| 기술적 속성 | KML (현재) | GEOJSON | GPX | KMZ |
|---|---|---|---|---|
| 3D 카메라 및 투어 | 카메라 기울기, 방위각, 비행 투어를 모두 지원 | 없음(평면 기하학 속성) | 고도 추적 | 카메라 기울기 및 비행 투어를 모두 지원 |
| 패키징 형식 | 일반 텍스트 XML 문서 | 일반 텍스트 JSON 문서 | 일반 텍스트 XML 문서 | doc.kml이 포함된 ZIP 아카이브 |
| 색상 형식 | AABBGGRR (알파-파랑-초록-빨강) | CSS / 16진수 표준 | 없음 | AABBGGRR |
| 기본 대상 | Google Earth 및 3D GIS | 웹 지도 (Mapbox, Leaflet) | Garmin 및 GPS 피트니스 추적 | Google Earth 독립 실행형 아카이브 |
일반적인 손상 모드 및 헥스 복구 가이드
Google Earth 오류: '줄 X에서 구문 분석 오류: 일치하지 않는 태그'.
근본 원인: 풍선 설명 HTML의 닫히지 않은 XML 태그 또는 이스케이프되지 않은 앰퍼샌드.
복구: File2File.app KML Repair를 사용하여 XML 구문을 수정하고 설명을 <![CDATA[...]]>로 감싸십시오.
보안 분석 및 파서 공격 벡터
KML 파일은 XXE, SSRF 또는 크로스 사이트 스크립팅(XSS)을 유발할 수 있는 NetworkLink 및 HTML 설명 풍선을 지원합니다.
알려진 공격 벡터
- 내부 인트라넷 엔드포인트를 폴링하는 악성 <NetworkLink> 태그를 통한 서버 측 요청 위조(SSRF).
- 데스크톱 또는 웹 Earth 풍선 내에서 실행되는 살균되지 않은 <description> 태그 내부의 XSS 주입.
- 자동화된 KML 처리 중 XML 외부 엔티티(XXE) 주입.
방어적 모범 사례: 외부 네트워크 가져오기를 비활성화하고 DOMPurify로 말풍선(balloon) HTML 콘텐츠를 살균하십시오.
역사적 배경 및 주요 이력
주요 장점
- 풍부한 3D 지구 시각화: 점뿐만 아니라 3D 카메라 각도, 방위각, 기울기, 고도, 비행 투어(fly-through)를 정의합니다.
- KML 지원은 애플리케이션에 따라 다르며 데스크톱 GIS 및 지도 도구마다 지원 기능이 다릅니다.
- NetworkLink는 연결된 KML 리소스를 가져올 수 있습니다. 새로 고침 동작은 문서 설정과 뷰어에 따라 다릅니다.
기술적 제한 사항 및 단점
- 장황한 XML 구문으로 인해 GeoJSON과 같은 압축 형식보다 파일 크기가 큽니다.
- 색상은 표준 RGBA 대신 비정통적인 AABBGGRR 16진수 순서(알파-파랑-초록-빨강)를 사용합니다.
- 복잡한 3D 기능(투어, 모델)은 경량 웹 매핑 플랫폼에서 거의 지원되지 않습니다.
흥미로운 기술적 상식
- Keyhole Inc.의 이름은 냉전 시대에 미국이 발사한 역사적인 KH(Keyhole) 정찰 스파이 위성의 이름에서 유래되었습니다.
- KML에서 색상 값은 AABBGGRR로 거꾸로 작성됩니다. 처음 두 자리는 알파, 그 다음은 파랑, 초록, 빨강 순입니다.
- KMZ 아카이브에는 하나 이상의 KML 파일이 들어가며 지원 파일도 포함할 수 있습니다. 기본 파일의 관례적 이름은 doc.kml이지만 다른 이름도 허용됩니다.
자주 묻는 기술 질문
KML과 KMZ는 어떻게 다릅니까?
KML은 일반 텍스트 XML 파일입니다. KMZ는 KML 파일과 함께 사용자 정의 지도 아이콘, 텍스처 또는 3D 오버레이 이미지를 포함하는 압축된 ZIP 파일입니다.
KML을 GeoJSON으로 어떻게 변환할 수 있습니까?
브라우저에서 바로 File2File.app을 사용하여 클릭 한 번으로 웹 매핑용 Google Earth KML 파일을 깔끔한 GeoJSON으로 변환할 수 있습니다.
Google Maps에서 KML 파일을 열 수 있습니까?
Google Maps에서 '저장됨' -> '지도' -> '지도 만들기'(Google 내 지도)로 이동한 다음 '가져오기'를 클릭하여 KML 파일을 업로드하십시오.
관련 KML 변환 쌍
GeoJSON 벡터를 Google KML로 변환하면 가벼운 JSON 좌표 배열이 Google Earth 및 Google Maps에 맞춤화된 구조화된 XML 문서로 바뀝니다.
Google KML 파일을 GeoJSON으로 변환하면 계층적인 XML 지리 데이터를 현대적인 웹 지도를 위한 경량 벡터 JavaScript Object Notation으로 바꿀 수 있습니다.
GPS 트랙 GPX 데이터를 Google KML 형식으로 변환하면 원시 야외 추적 로그를 Google Earth 및 사용자 지정 웹 매핑 애플리케이션 내에 즉시 표시할 수 있습니다.
Google KML 지리 마크업을 GPS 트랙 GPX로 변환하여 독점적인 매핑 기능을 범용 웨이포인트 및 트랙 데이터로 표준화합니다.