키홀 마크업 언어

키홀 마크업 언어(Keyhole Markup Language, KML)는 구글 어스, 구글 지도 및 기타 응용 프로그램에 쓰이는 XML 기반의 마크업 언어 스키마이다. 지형 정보(annotation)를 모델링하고 표현하는 역할을 한다. KML 인코딩을 지원하는 구글 외 회사의 월드 와이드 웹 기반의 2차원 지도나 3차원 지구 지도 브라우저에도 쓰인다. 키홀 마크업 언어(KML)은 구글 어스에 쓰일 목적으로 개발되었다.[1] 키홀 마크업 언어(KML)은 키홀 사가 개발하였다. 2004년 키홀 사는 구글에게 인수되었다. 이름 "키홀"(Keyhole)은 미국 최초의 광전자 공학 정찰 위성인 KH-11 정찰위성을 기리기 위해 붙인 이름이다.

키홀 마크업 언어
파일 확장자.kml, .kmz
인터넷 미디어 타입
  • application/vnd.google-earth.kml+xml
  • application/vnd.google-earth.kmz
개발키홀, 구글
포맷 종류GIS 파일 포맷
다음으로부터 확장XML

사용 편집

KML 파일은 구글 어스, 구글 지도(구글 맵스), 모바일 등에 쓰인다.

구조 편집

KML 파일은 피처(feature)들의 집합을 기술하고 있다. (위치 마크, 이미지, 다각형, 3D 모델, 텍스트 디스크립션 등) 각각의 지형 위치는 경도위도를 가지고 있다. 기울기, 헤딩, 고도 등 뷰를 더 상세히 정의할 수 있는 데이터도 넣을 수 있는데, 이들 수치가 모여 하나의 "카메라 뷰"를 구성한다. KML은 GML과 같은 구조적 문법이 같다.[2] 일부 KML 정보는 구글 맵스나 모바일에서 볼 수 없다.[3]

KML은 대개 "KMZ" 파일 형식으로 배포된다. KMZ는 KML의 데이터 압축 파일이다.

다음은 KML 도큐먼트의 예제이다.

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Placemark>
  <name>New York City</name>
  <description>New York City</description>
  <Point>
    <coordinates>-74.006393,40.714172,0</coordinates>
  </Point>
</Placemark>
</kml>

KML에 대한 MIME 타입application/vnd.google-earth.kml+xml이며, KMZ에 대한 마임 타입은 application/vnd.google-earth.kmz이다.

KML의 측지학적 레퍼런스 시스템 편집

레퍼런스 시스템으로서, KML은 3차원 지리 좌표계를 사용한다. 3차원 지리 좌표계는 순서대로 경도, 위도, 고도 성분으로 이루어진다. 경도, 위도 성분은 1984 World Geodetic System (WGS84)를 근거로 정해진다. 고도(수직 성분)는 WGS84 EGM96 지오이드 버티칼 데이텀으로 정해진다. 예를 들어 (-122.917, 49.2623)와 같이 좌표 문자열에서 고도가 생략되었다면, 고도는 기본값으로 0을 갖는다. (해수면 높이와 거의 일치한다.) 다시 말해 앞서의 문자열은 (-122.917, 49.2623, 0)이란 좌표문자열이 된다. KML이 사용한 좌표 레퍼런스 시스템에 대한 포멀한 정의는 OGC KML 2.2 스펙에 들어 있다. 이 정의는 이미 널리 알려져 있는 EPSG CRS 콤포넌트를 참조하고 있다.

KML을 사용하는 응용 프로그램 편집

같이 보기 편집

각주 편집

  1. 구글 어스의 당시 이름은 키홀 어스 뷰어(Keyhole Earth Viewer)였다.
  2. “Create account at Blog.com”. 2008년 7월 23일에 원본 문서에서 보존된 문서. 2008년 8월 28일에 확인함. 
  3. Viewing data from Google Earth - Maps Help
  4. “Google Map의 KML지원이 강화되었다.”. 《aero's Blog》. 2007년 12월 21일에 원본 문서에서 보존된 문서. 2008년 8월 28일에 확인함. 

외부 링크 편집