kml 확장자. KML 파일 확장명 지리정보 플랫폼 ArcGIS Server

KML(Keyhole Markup Language)은 Google 어스, Google 지도 및 모바일 애플리케이션용 Google 지도에서 지리 데이터를 표시하는 데 사용되는 파일 형식입니다.

KML은 요소와 속성이 중첩된 태그 기반 구조를 사용하며 XML 표준을 기반으로 합니다.

Google 어스, XML 편집기 또는 간단한 텍스트 편집기를 사용하여 KML 파일을 만들 수 있습니다.

KML 파일 및 관련 이미지(사용 가능한 경우)는 ZIP 형식을 사용하여 KMZ 아카이브로 압축할 수 있습니다.

KML 파일을 사용하여 다음을 수행할 수 있습니다.

  • 다양한 아이콘을 설정하고 지구 표면의 장소를 나타내는 서명을 만들고,
  • 카메라의 위치를 ​​변경하여 선택한 개체에 대해 다른 각도를 만들고,
  • 다른 오버레이 이미지를 사용하고,
  • 스타일을 정의하여 개체 표시를 사용자 정의하고 HTML 코드를 적용하여 하이퍼링크 및 인라인 이미지 생성,
  • 폴더를 사용하여 항목을 계층적으로 그룹화하고,
  • 원격 또는 로컬 호스트에서 KML 파일을 동적으로 수신하고 업데이트합니다.
  • 3D 뷰어의 변화에 ​​따라 KML 데이터를 수신하고,
  • 질감이 있는 3D 개체 표시 COLLADA

다음은 KML 파일에서 개체로 사용할 수 있습니다.

Placemarks (객체 Placemark) - 가장 단순한 요소는 장소 표시를 정의합니다 - 노란색 버튼 형태의 아이콘을 사용하여 지구 표면의 위치를 ​​지정합니다.

경로 - 특정 두께와 색상의 선

다각형 - 선의 색상과 서명의 색상을 정의합니다.

이미지 - 지구 표면의 오버레이 이미지를 사용하면 지구의 풍경에 이미지를 중첩할 수 있으며 로고와 같이 이동 및 확장 가능 또는 이동 불가능할 수 있습니다.

3차원 모델 - 3차원 개체(예: 건물 및 구조물)에 대한 설명을 연결할 수 있습니다. 3차원 모델은 납작한 도형의 높이를 설정하는 방법(당겨서)과 COLLADA 형식의 본격적인 모델에 연결하는 방법(Google SketchUp)의 두 가지 방법으로 설정할 수 있습니다.

KML 파일의 가장 간단한 예입니다.



스포츠의 궁전
스포츠 팰리스 "나고르니" ave. 가가리나, 29세
43.979459,56.291908,0


이 파일의 구조를 설명하겠습니다.

첫 번째 줄은 XML 헤더입니다. 이것은 모든 KML 파일의 첫 번째 줄입니다. 이 줄 앞에 공백이나 문자가 없어야 합니다.

두 번째 줄은 KML 네임스페이스를 선언하는 데 사용됩니다. 이것은 모든 KML 2.1 파일의 두 번째 줄입니다.

다음 요소를 포함하는 장소 표시:

- 이름, 레이블을 표시하는 데 사용되는 바로 가기

- description, 태그에 첨부된 주석 상자에 나타나는 설명

- 포인트, 지구 표면에서 마크의 위치를 ​​나타냅니다(경도, 위도 및 선택적으로 고도).

이 파일을 다음 위치에 업로드할 수 있습니다. 구글 프로그램메뉴에서 파일 - 열기를 선택하여 Planet Earth(Google Earth)를 엽니다.

Google Maps API를 사용하여 다운로드할 수도 있습니다.

예제 코드:

사이트에서 Google 어스를 사용하는 예



브라우저에 로드하면 다음과 같이 표시됩니다.

Google 지도에서 KML 파일을 볼 수도 있습니다.

KML 파일이 인터넷의 웹사이트에 있어야 한다는 전제 조건이 있습니다.

처음부터 http://maps.google.ru/로 이동해야 합니다.

그런 다음 검색 창에 인터넷에 있는 KML 파일의 주소(예: http: //site/examples/kml/prim_kml_1.kml)를 입력하고 "지도에서 검색" 버튼을 클릭합니다.

KML 파일이 Google 지도에 표시됩니다.

계속하려면…

발표

KML 기타 파일 형식

KML 파일은 XML 형식으로 저장되며 원래 Keyhole 매핑 프로그램용으로 개발되었습니다. 2004년 Google은 Keyhole Inc.를 인수했습니다. 이것이 KML 파일이 현재 Google의 매핑 서비스인 Google Maps와 Google Earth에서 많이 사용되는 이유입니다.

KML 파일의 기술 세부정보

KML 파일에는 XML 형식으로 저장된 정보가 포함되어 있습니다. 이 정보에는 이미지와 선, 다각형 및 점과 같은 단순한 데이터가 모두 포함됩니다. 이 파일은 지도의 특정 위치에 대한 정보를 저장하는 데 사용됩니다. KML 파일을 사용하면 사용자가 지도에 위치를 표시할 수 있을 뿐만 아니라 콘텐츠(HTML 형식), 질감 및 다양한 각도에서 보기를 추가할 수 있습니다. Google 지도에서 KML 파일을 열려면 웹에서 호스팅되는 KML 파일만 있으면 됩니다. 라인에 별도의 확장 링크와 함께 구글 검색지도에서 열립니다.

KML 파일 형식에 대한 추가 정보

KML 형식은 Google 어스의 지형지물에 대한 지리 데이터를 저장하는 확장 프로그램입니다. 이러한 정보에는 지도상의 장소 표시, 다각형 또는 선 형태의 임의의 영역, 3차원 모델 및 지도의 일부 이미지가 포함됩니다.

이 형식과 상호 작용하는 응용 프로그램을 고려해 보겠습니다.

구글 어스

    1. 시작 후 다음을 클릭하십시오. "열려있는"메인 메뉴에서.

  1. 원래 개체가 있는 디렉터리를 찾습니다. 우리의 경우 파일에 위치 정보가 포함되어 있습니다. 그것을 클릭하고 클릭하십시오 "열려있는".

레이블 형태의 위치 표시가 있는 프로그램 인터페이스.

공책

메모장은 텍스트 문서를 만들기 위한 내장 Windows 응용 프로그램입니다. 또한 특정 형식의 코드 편집기 역할을 할 수도 있습니다.

    1. 이 소프트웨어를 실행하십시오. 파일을 보려면 다음을 선택하십시오. "열려있는"메뉴에.

  1. 우리는 선택합니다 "모든 파일"해당 필드에. 원하는 개체를 선택한 후 다음을 클릭합니다. "열려있는".

메모장에 파일 내용을 시각적으로 표시합니다.

KML 확장자는 배포가 거의 없으며 Google 어스에서만 독점적으로 사용되며 메모장을 통해 이러한 파일을 보는 것은 누구에게도 유용하지 않다고 말할 수 있습니다.

파일 확장자 .kml
파일 카테고리
예제 파일 (2.05KiB)
관련 프로그램 블렌더(Windows, Mac 및 Linux)
Blue Marble Geographics 글로벌 매퍼(Windows)
ESRI ArcGIS for Desktop(Windows)
Google 어스(Windows, Mac 및 Linux)
Google 지도(웹)
Merkaartor(Windows, Mac 및 Linux)
키홀 PRO(Windows 및 Mac)

KML은 Google 어스와 같은 어스 브라우저에서 지리 데이터를 표시하는 데 사용되는 파일 형식입니다. KML은 요소와 속성이 중첩된 태그 기반 구조를 사용하며 XML 표준을 기반으로 합니다. 모든 태그는 대소문자를 구분하며 KML 참조에 나열된 대로 정확하게 나타나야 합니다. 참조는 선택 사항인 태그를 나타냅니다. 주어진 요소 내에서 태그는 참조에 표시된 순서대로 나타나야 합니다.

KML을 처음 사용하는 경우 이 문서와 함께 제공되는 샘플 파일( 샘플 인 어스) KML 파일의 기본 구조와 가장 일반적으로 사용되는 태그에 대한 학습을 ​​시작합니다. 첫 번째 섹션에서는 Google 어스 사용자 인터페이스로 만들 수 있는 기능에 대해 설명합니다. 이러한 기능에는 장소 표시, 설명, 지상 오버레이, 경로 및 다각형이 포함됩니다. 두 번째 섹션에서는 텍스트 편집기로 KML을 작성해야 하는 기능에 대해 설명합니다. 텍스트 파일이 다음과 같이 저장될 때 .kml또는 .kmz확장자, 어스 브라우저는 표시 방법을 알고 있습니다.

팁: Google 어스의 기능에 대한 KML "코드"를 보려면 Google 어스의 3D 뷰어에서 해당 기능을 마우스 오른쪽 버튼으로 클릭하고 복사를 선택하면 됩니다. 그런 다음 클립보드의 내용을 텍스트 편집기에 붙여넣습니다. Google 어스에 표시되는 시각적 기능은 해당하는 KML 텍스트로 변환됩니다. 이 기능을 실험해 보십시오.

KML의 일부 주요 기능을 사용하는 방법에 대한 설명은 개발자 가이드를 참조하세요.

목차

기본 KML 문서

가장 간단한 종류의 KML 문서는 Google 어스에서 직접 작성할 수 있는 문서입니다. Google 어스에서.

장소 표시

장소 표시는 Google 어스에서 가장 일반적으로 사용되는 기능 중 하나입니다. 노란색 압정을 아이콘으로 사용하여 지구 표면의 위치를 ​​표시합니다. 가장 간단한 Placemark에는 Placemark의 위치를 ​​지정하는 요소. 장소 표시의 이름과 사용자 정의 아이콘을 지정할 수 있으며 다른 기하학 요소를 추가할 수도 있습니다.

예를 들어 KML 샘플 파일에서 "절대 위치 지정: 왼쪽 상단" 폴더를 활성화하면 보기 창의 왼쪽 상단에 화면 오버레이가 표시됩니다. 이것은 다음 KML 코드로 생성되었습니다.




절대 위치: 왼쪽 상단

http: //사이트/kml/documentation/images/top_left.jpg






위치 지정은 다음으로 지정된 이미지의 한 점을 매핑하여 제어합니다. 에 의해 지정된 화면의 한 지점으로 ... 이 경우 이미지의 왼쪽 위 모서리(0,1)가 화면의 동일한 지점과 일치하게 되었습니다.

폴더의 다른 예를 확인하여 다른 고정 위치를 얻는 방법과 화면 크기에 따라 동적으로 크기가 조정되는 이미지를 만드는 방법을 확인하십시오. (참고로 xunits그리고 단위정밀 제어를 위해 '픽셀'로 지정할 수도 있습니다.) 자세한 내용은 KML 2.2 참조를 참조하세요.

네트워크 링크

네트워크 링크에는 다음이 포함됩니다. 요소 (하이퍼텍스트 참조) 파일을 로드합니다. 그만큼 로컬 파일 사양 또는 절대 URL이 될 수 있습니다. 이름에도 불구하고, 반드시 네트워크에서 파일을 로드하는 것은 아닙니다.

그만큼 링크에서 다음 중 하나의 위치를 ​​지정합니다.

  • 아이콘 스타일, 그라운드 오버레이 및 화면 오버레이에서 아이콘이 사용하는 이미지 파일
  • 에 사용된 모델 파일 요소
  • 네트워크 링크에 의해 로드된 KML 또는 KMZ 파일

지정된 파일은 로컬 파일이거나 원격 서버의 파일일 수 있습니다. 가장 간단한 형태의 네트워크 링크는 하나의 큰 KML 파일을 동일한 컴퓨터에서 더 작고 관리하기 쉬운 파일로 분할하는 유용한 방법입니다.

지금까지 우리의 모든 예에서는 KML 코드가 로컬 시스템에서 Google 어스로 전달되어야 했습니다. 네트워크 링크는 원격 위치에서 콘텐츠를 제공할 수 있는 기능을 제공하며 일반적으로 많은 수의 사용자에게 데이터를 배포하는 데 사용됩니다. 이와 같이 데이터를 수정해야 하는 경우 원본 위치에서만 변경하면 되며 모든 사용자는 업데이트된 데이터를 자동으로 받게 됩니다.

KML용 CGI 스크립팅

정적 데이터가 포함된 파일을 가리키는 것 외에도 네트워크 링크 "s 예를 들어 네트워크 서버에 있는 CGI 스크립트에 의해 동적으로 생성되는 데이터를 가리킬 수 있습니다. PHP, Python 또는 Perl과 같은 스크립팅 언어에 대한 지식이 있으면 KML 데이터의 스트림(또는 파일)을 각 네트워크 링크에 전달하는 스크립트를 만들 수 있습니다.

네트워크 CGI를 통해 KML을 전달하려면 두 가지가 필요합니다.

클라이언트(Google Earth)에서 서버로 호출이 이루어지면 서버는 (1) HTTP 200의 응답 코드를 반환하고 (2) 응답의 콘텐츠 유형을 text / plain 또는 application / vnd.google로 설정해야 합니다. -earth.kml + xml.

응답은 유효한 KML이어야 합니다. 복잡한 응용 프로그램의 경우 적절한 오류 처리가 매우 중요합니다.

팁:오류를 처리하는 간단한 방법은 서버의 오류를 폴더 이름에 대한 텍스트로 구문 분석하는 것입니다. 예를 들어 서버가 반환하도록 할 수 있습니다. 데이터베이스에 액세스할 수 없음문자열로. 이것은 연결이 끊어지게 두는 것보다 더 많은 정보를 제공하고 더 사용자 친화적입니다.

다음 예제는 Python을 사용하지만 다른 모든 스크립팅 언어에서도 동일하게 유효합니다.

임의의 장소 표시 생성

다음 Python 스크립트는 다음에 대한 임의의 정수 값을 생성합니다. 위도그리고 경도그런 다음 해당 값을 의 요소 네트워크 링크가 새로 고쳐질 때마다 Python 스크립트가 다시 실행되고 새로운 위도 및 경도 값으로 KML을 생성합니다.

#! / usr / bin / python import random latitude = random.randrange (-90, 90) 경도 = random.randrange (-180, 180) kml = ("\ N "" \ N "" \ N "" 임의의 장소 표시\ N "" \ N "" %d,%d\ N ""\ N ""\ N """)%(경도, 위도) 인쇄" 콘텐츠 유형: application / vnd.google-earth.kml + xml \ n "kml 인쇄

다음은 이 Python 스크립트를 로드하는 네트워크 링크가 포함된 KML 파일의 예입니다.




네트워크 링크
0
0
네트워크 링크 예 1

임의의 장소 표시
0
0
새로운 난수를 생성하는 간단한 서버 측 스크립트
각 호출에 위치 표시

0
0

http: // yourserver.com/cgi-bin/randomPlacemark.py



보기 기반 새로 고침 쿼리

표준 네트워크 링크는 단방향 링크입니다. 데이터는 서버에서 Google 어스로만 흐릅니다. 보기 기반 새로 고침은 양방향 통신을 가능하게 합니다. 보기 기반 새로 고침이 활성화되면 Google Earth는 지정된 시간에 보기 좌표를 서버로 반환합니다. 이것은 모든 N초, 분 또는 시간 또는 보기 이동이 중지된 후 일정 시간이 경과한 경우. 보다 KML 2.2 참조에서.

좌표는 다음과 같이 좌표를 추가하는 HTTP GET을 통해 서버에 반환됩니다(기본 경계 상자 정보).

GET / 경로 / 서버 / 스크립트 / 쿼리 BBOX = HTTP / 1.1

사용자가 샌프란시스코를 내려다보는 동안 요청이 이루어진 경우 좌표는 다음과 같을 수 있습니다.

GET /path/to/server/script/query?BBOX=-122.497790,37.730385,-122.380087,37.812331 HTTP/1.1

이 기능은 매우 창의적인 일부 응용 프로그램에 사용할 수 있지만 시작하기 위해 아래에 간단한 예가 나와 있습니다.

시야 바로 아래에 있는 지점 추적하기

다음 서버 측 Python 스크립트는 Google Earth에서 보낸 반환 메시지를 구문 분석하고 화면 중앙에 Placemark로 응답합니다. 네트워크 링크를 새로 고칠 때마다 새 아이콘이 생성됩니다.

#! / usr / bin / python import cgi url = cgi.FieldStorage () bbox = url ["BBOX"].value bbox = bbox.split(",") west = float(bbox) south = float(bbox) 동쪽 = float (bbox) 북쪽 = float (bbox) center_lng = ((동쪽 - 서쪽) / 2) + 서쪽 center_lat = ((북쪽 - 남쪽) / 2) + 남쪽 kml = ("\ N "" \ N "" \ N "" 보기 중심 위치 표시\ N "" \ N "" %.6f,%.6f\ N ""\ N ""\ N """)% (center_lng, center_lat) 인쇄" 콘텐츠 유형: application / vnd.google-earth.kml + xml \ n "kml 인쇄

다음은 Python 스크립트를 로드하는 네트워크 링크용 KML입니다.




네트워크 링크
0
0
네트워크 링크 예 2

중앙 위치 표시 보기
0
0
보기 기반 새로 고침을 통해 원격 서버에서 계산
화면 중앙에 위치 표시를 반환합니다.

0
0

http: // yourserver.com/cgi-bin/viewCenteredPlacemark.py

2
정지
1



이 예제에 설명된 원리는 일부 매우 복잡한 응용 프로그램에 사용할 수 있습니다. 예를 들어, 지리 정보 데이터베이스가 있는 경우 뷰어의 좌표를 추출하고 보기에 특정한 데이터에 대해 데이터베이스를 호출한 다음 이를 KML로 Google 어스에 반환할 수 있습니다.

3개의 KML MIME 유형

Google 어스(또는 어스 브라우저)의 요청에 응답할 때 KML 서버는 Google 어스가 응답을 올바르게 해석할 수 있도록 특정 규칙 집합을 따라야 합니다.

성공하면 서버는 HTTP 200의 응답 코드를 반환하고 여기에 설명된 대로 응답의 콘텐츠 유형을 적절한 MIME 유형으로 설정해야 합니다.

Google 어스는 KML 및 KMZ 파일을 읽습니다. KML 파일의 MIME 유형은 다음과 같습니다.

  • 애플리케이션 / vnd.google-earth.kml + xml

KMZ 파일의 MIME 유형은 다음과 같습니다.

  • 애플리케이션 / vnd.google-earth.kmz

Apache의 경우 다음 행을 추가하십시오. httpd.conf파일:

  • AddType 애플리케이션 / vnd.google-earth.kml + xml .kml
  • AddType 애플리케이션 / vnd.google-earth.kmz .kmz

Microsoft의 IIS에서 MIME 유형을 설정하는 방법에 대한 자세한 내용은 Microsoft 설명서를 참조하십시오.

응답 본문에는 XML 선언(). 서버가 잘못된 KML을 반환하면 네트워크 링크가 중지되고 비활성화되고 오류 메시지가 출력됩니다.

KML 파일은 지리 모델링 데이터를 XML 형식으로 저장합니다. 여기에는 점, 선 및 이미지가 포함됩니다. XML을 사용하여 위치, 이미지 오버레이, 비디오 링크 및 선, 모양, 3D 이미지 및 점과 같은 모델링 정보를 저장하여 지리적 주석 및 시각화를 표현합니다. 다양한 지리정보 소프트웨어 솔루션은 KML 형식을 사용하여 다른 프로그램 및 웹 서비스에서 쉽게 사용할 수 있는 형식으로 데이터를 넣습니다.

소개

Keyhole Markup Language - 2D 지도 및 3D 브라우저에서 지리적 주석 및 렌더링을 표현하기 위한 XML 표기법입니다. KML은 원래 Keyhole Earth Viewer라고 불렸던 Google Earth와 함께 사용하도록 설계되었습니다. 키홀이 만들었습니다. 2004년 구글에 인수된 Inc. 이 형식은 2008년 Open Geospatial Consortium의 국제 표준이 되었습니다.

Google 어스는 이러한 파일을 보고 그래픽으로 편집할 수 있는 최초의 프로그램이었습니다. Marble과 같은 다른 프로젝트에서도 KML에 대한 지원을 개발하기 시작했습니다.

응용 프로그램: KML 형식을 만드는 방법은 무엇입니까?

Google 지도에서 이 확장자를 가진 파일을 열 수 있습니다. 이렇게 하려면 위치를 온라인에 배치한 다음 Google 지도의 검색 상자에 URL을 입력해야 합니다.

Google 어스는 이러한 파일을 보고 편집할 수 있는 최초의 프로그램이며 인터넷에서 지리 데이터로 작업하는 가장 인기 있는 방법 중 하나입니다. 웹 페이지가 열린 상태에서 내 위치 메뉴 항목(책갈피 아이콘)을 사용하여 컴퓨터에서 KML 파일을 다운로드하거나 계정구글 드라이브.

당신은 또한 모든 파일을 열 수 있습니다 텍스트 에디터(예: 메모장 ++). 이렇게 하면 좌표, 이미지 링크, 카메라 기울기 각도 및 타임스탬프가 포함된 텍스트 버전을 볼 수 있습니다.

KML을 XML로 변환하려는 경우 변환을 수행할 필요가 없습니다. 형식은 실제로 KML 형식 확장자를 사용하므로) .KML의 이름을 .XML로 변경하면 XML 뷰어에서 열릴 수 있습니다.

파일을 Google 지도로 직접 가져올 수도 있습니다. 이것은 새 지도 레이어에 콘텐츠를 추가할 때 Google 내 지도 페이지에서 수행됩니다. 지도를 연 상태에서 모든 수준에서 가져오기를 선택하여 컴퓨터 또는 Google 드라이브에서 파일을 다운로드합니다. 레이어 추가 버튼을 사용하여 새 레이어를 생성할 수 있습니다.

또는 먼저 http://maps.google.com/maps?q=를 사용하여 파일의 URL을 연결하여 Google 지도에서 고유한 KML 파일과 해당 URL을 만들 수 있습니다. 예를 들어 동일한 URL을 열려면 http://maps.google.com/maps?q=http://mywebsite.com/myfile.kml URL을 사용할 수 있습니다.

웹 브라우저에 추가할 수 있는 지구용 3D 보기 플러그인인 Google Earth에도 동일한 작업이 적용됩니다.

구조

KML 파일 형식은 Google 지도, Google 어스, 지도, 휴대기기 또는 KML 인코딩을 구현하는 기타 지리정보 소프트웨어에 표시하기 위한 일련의 기능(레이블, 이미지, 다각형, 3D 모델, 텍스트 설명)을 지정합니다. 각 위치에는 경도와 위도가 있습니다. 이 형식은 GML과 동일한 구조적 문법을 공유합니다. 일부 정보는 Google 지도나 휴대기기에서 볼 수 없습니다.

데이터는 확장자가 .kmz인 암호화된 KML 파일인 KMZ 형식으로 배포되는 경우가 많습니다. 레거시(ZIP 2.0) 압축과 호환되어야 하며 그렇지 않으면 .kmz 파일의 압축이 풀리지 않을 수 있습니다.

KML의 측지 참조 시스템

참조 프레임을 위해 KML은 경도, 위도 및 고도와 같은 3D 지리 좌표를 사용합니다. 경도, 위도 구성 요소(십진수 각도)는 World Geodetic System 1984(WGS84)에 따라 결정됩니다. 수직 구성 요소(높이)는 WGS84 EGM96 지오이드의 수직 베이스에서 미터 단위로 측정됩니다. 좌표선에 표고가 지정되지 않은 경우(예: -77.03647, 38.89763) 표고 구성요소의 기본값은 0(대략적인 해수면), 즉 (-77.03647, 38.89763, 0)입니다.

KML에서 사용되는 좌표계(GML로 코딩됨)의 공식적인 정의는 OGC KML 2.2 사양에 포함되어 있습니다. 이 정의는 EPSG CRS 구성 요소를 나타냅니다.

선적 서류 비치

KML 2.2 사양은 모든 지리 객체에 대한 공개 표준으로서의 지위를 보장하기 위해 공개 지리 공간 컨소시엄에 제출되었습니다. 2007년 11월, 표준을 공식화하기 위해 OGC 내에 새로운 작업 그룹이 구성되었습니다. 2008년 1월 4일 이전에 제안된 표준에 대한 의견이 요청되었으며 2008년 4월 14일에 공식 OGC 표준이 되었습니다.

표준 작업 그룹은 KML 2.2 변경 요청을 마무리하고 승인된 변경 사항을 통합했습니다. 공식 OGC KML 2.3 표준은 2015년 8월 4일에 게시되었습니다.



관련 기사: