KML (Keyhole Markup Language - язык разметки Keyhole) — это формат файлов, который используется отображения географических данных в программах Google Планета Земля, Карты Google и Карты Google для мобильных устройств.
KML использует основанную на тегах структуру с вложенными элементами и атрибутами и создан на основе стандарта XML.
Для создания файлов KML можно использовать программу Google Планета Земля (Google Earth), редактор XML или обычный текстовый редактор.
Файлы KML и связанные с ними изображения (при наличии) можно сжимать с помощью формата ZIP в архивы KMZ.
С помощью файлов KML можно:
- устанавливать различные значки и делать подписи для обозначения мест на поверхности Земли,
- создавать различные ракурсы для выбранных объектов, изменяя положение камеры,
- использовать различные накладываемые изображения,
- определять стили для настройки отображения объекта, применять код HTML для создания гиперссылок и встроенных изображений,
- использовать папки для иерархической группировки элементов,
- динамически получать и обновлять файлы KML из удаленных или локальных узлов сети,
- получать данные KML в соответствии с изменениями в средстве трехмерного просмотра,
- отображать текстурные трехмерные объекты COLLADA
В качестве объектов в файлах формата KML могут быть использованы:
Метки (объект Placemark) – самый простой элемент, задает метку – обозначение положения на поверхности Земли с помощью значка в виде желтой кнопки.
Пути – линии определенной толщины и цвета
Многоугольники — определяется цвет линий и цвет подписи.
Изображения — накладываемые изображения поверхности Земли позволяют накладывать изображение на ландшафт Земли, могут быть перемещаемыми и масштабируемыми, так и не перемещаемыми, например, логотип.
Трёхмерная модель — позволяет подключать описание трёхмерных объектов (например, зданий и сооружений). Трёхмерную модель можно задать двумя способами: заданием высоты плоских фигур (вытягиванием) и ссылкой на полноценную модель в формате COLLADA (Google SketchUp).
Простейший пример файла KML.
Дворец спорта
Дворец спорта «Нагорный» просп. Гагарина, 29
43.979459,56.291908,0
Опишу структуру этого файла.
Первая строка — заголовок XML. Это 1-я строка в каждом файле KML. Перед этой строкой не должно быть пробелов или символов.
Вторая строка – служит для объявления пространства имен KML. Это 2-я строка в каждом файле KML 2.1.
Объект Placemark, содержащий следующие элементы:
— name, ярлык, используемый для обозначения метки
— description, описание, появляющееся в окне комментария, прикрепленном к метке
— Point, указывает положение метки на поверхности Земли (долгота, широта и дополнительно высота).
Этот файл Вы можете загрузить в программе Google Планета Земля (Google Earth) выбрав в меню Файл – Открыть.
Его также можно загрузить использую API карт Google.
Код примера:
Пример использования Google Earth на сайте
function initialize() {if (GBrowserIsCompatible()) {geoXml = new GGeoXml(«http://remont.cek.ru/xml/prim_kml_1.kml»);
var map = new GMap2(document.getElementById(«map_canvas»));
map.setCenter(new GLatLng(56.291908,43.979459), 15);
map.setMapType(G_SATELLITE_MAP);
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.addOverlay(geoXml);
Если загрузить его в браузере мы увидим
Вы также можете просмотреть файл KML на Картах Google.
Предварительно необходимо чтобы Ваш файл KML должен быть размещен на веб-сайте в Интернете.
С начала нужно зайти по адресу http://maps.google.ru/
Затем в строке поиска ввести адрес Вашего KML-файла в интернете, например, http://сайт/examples/kml/prim_kml_1.kml и нажать на кнопку «Поиск на карте».
Ваш KML-файл отобразиться на карте Google.
Продолжение следует…
Файл KML хранит данные о геомоделировании в формате XML. Он содержит точки, линии и изображения. Используют XML для выражения географической аннотации и визуализации путем хранения местоположений, наложения изображений, видео-ссылок и информации моделирования, таких как линии, фигуры, 3D-изображения и точки. Различные геопространственные программные решения используют формат KML, чтобы поместить данные в формат, который могут легко использовать другие программы и веб-службы.
ВведениеKeyhole Markup Language — XML-обозначение для выражения географической аннотации и визуализации в двумерных картах и трехмерных браузерах. KML был разработан для использования с Google Earth, который изначально назывался Keyhole Earth Viewer. Он был создан Keyhole. Inc, который был приобретен Google в 2004 году. Данный формат стал международным стандартом Open Geospatial Consortium в 2008 году.
Google Earth была первой программой, способной просматривать и графически редактировать подобные файлы. Другие проекты, такие как Marble, также начали развивать поддержку KML.
Применение: как создать формат KML?Вы можете открыть файл с данным расширением в "Google Картах". Для этого необходимо разместить его местоположение онлайн, а затем ввести URL-адрес в поисковое поле "Карт Google".
Google Earth была первой программой, которая могла просматривать и редактировать данные файлы, и она по-прежнему остается одним из самых популярных способов для работы с геоданными в Интернете. Открыв веб-страницу, используйте пункт меню «Мои места» (значок закладки) для загрузки файла KML со своего компьютера или учетной записи Google Диска.
Вы также можете открыть файлы с помощью любого текстового редактора (например, Notepad ++). Это позволит увидеть текстовую версию, которая включает в себя координаты, ссылки на изображения, углы наклона камеры и временные метки.
Если вы хотите конвертировать KML в XML, вам не нужно делать конверсию. Поскольку формат на самом деле является просто использует расширение формата KML), вы можете переименовать.KML в.XML, чтобы он был открыт в вашем средстве просмотра XML.
Вы также можете импортировать файл прямо в Карты Google. Это делается на странице Google Мои карты при добавлении контента на новый слой карты. Открыв карту, выберите «Импорт» на любом уровне, чтобы загрузить файл с вашего компьютера или Google Диска. Вы можете создать новый слой с помощью кнопки «Добавить слой».
Также вы можете самостоятельно создать KML-файл и его URL-адрес в Google Картах, предварительно связав URL-адрес вашего файла с помощью http://maps.google.com/maps?q=. Например, чтобы открыть тот же самый адрес, вы можете использовать следующий URL: http://maps.google.com/maps?q=http://mywebsite.com/myfile.kml.
Данная операция работает и для Google Earth — трехмерного плагина просмотра нашей планеты, который можно добавить в веб-браузер.
СтруктураФормат KML-файла указывает набор функций (метки, изображения, полигоны, 3D-модели, текстовые описания) для отображения в Google Картах, Google Earth, Maps, на мобильных устройствах или любом другом геопространственном программном обеспечении, реализующем кодировку KML. Каждое местоположение имеет долготу и широту. Данный формат разделяет некоторые из тех же структурных грамматик, что и GML. Некоторая информация не может быть просмотрена в Картах Google или на мобильных устройствах.
Данные очень часто распространяются в формате KMZ, которые являются зашифрованными файлами KML с расширением.kmz. Они должны быть совместимы с устаревшим (ZIP 2.0) сжатием, иначе файл.kmz может не распаковываться.
Геодезические системы отсчета в KMLДля своей системы отсчета KML использует 3D-географические координаты: долготу, широту и высоту. Долготы, широтные компоненты (десятичные градусы) определены в соответствии с Мировой геодезической системой 1984 года (WGS84). Вертикальная составляющая (высота) измеряется в метрах от вертикальной базы геоида WGS84 EGM96 Geoid. Если высота не указана в координатной строке (например, -77.03647, 38.89763), то для компонента высоты предполагается значение по умолчанию 0 (приблизительно уровень моря), то есть (-77.03647, 38.89763, 0).
Формальное определение системы координат (закодировано как GML), используемое в KML, содержится в спецификации OGC KML 2.2. Это определение ссылается на компоненты EPSG CRS.
ДокументацияСпецификация KML 2.2 была представлена в открытом геопространственном консорциуме, чтобы обеспечить его статус открытого стандарта для всех геообъектов. В ноябре 2007 года в рамках OGC была создана новая рабочая группа для формализации стандарта. Были запрошены комментарии по предлагаемому стандарту до 4 января 2008 года, и он стал официальным стандартом OGC 14 апреля 2008 года.
Рабочая группа стандартов завершила работу над запросами на изменение KML 2.2 и включила принятые изменения. Официальный стандарт OGC KML 2.3 был опубликован 4 августа 2015 года.
Объявление
Формат файлов KML MiscФайлы KML хранятся в формате XML и изначально разработаны для картографической программы Keyhole. В 2004 году компания Google купила Keyhole Inc., и именно поэтому файлы KML теперь активно используется службами Google, связанными с картографией - Google Maps и Google Earth.
Технические сведения о файлах KMLФайлы KML содержат информацию, которая хранится в формате XML. Эти сведения включают в себя как изображения, так и более простые данные - линии, многоугольники и точки. Такие файлы используются для хранения информации о конкретном месте на карте. Файл KML позволяет пользователю не только отметить на карте местоположение, но и добавить контент (в формате HTML), текстуру и вид под разными углами. Чтобы открыть файлы KML в Google Maps, все, что требуется - это сам файл KML, размещенный в Интернете. С помощью отдельной ссылки расширения в строке поиска Google Maps произойдет его открытие.
Дополнительная информация о формате KMLРасширение файла | .kml |
Категория файлов | |
Файл-пример |
(2,05 KiB) |
Связанные программы | Blender (Windows, Mac & Linux) Blue Marble Geographics Global Mapper (Windows) ESRI ArcGIS for Desktop (Windows) Google Earth (Windows, Mac & Linux) Google Maps (Web) Merkaartor (Windows, Mac & Linux) Keyhole PRO (Windows & Mac) |
KML is a file format used to display geographic data in an Earth browser such as Google Earth. KML uses a tag-based structure with nested elements and attributes and is based on the XML standard. All tags are case-sensitive and must appear exactly as they are listed in the KML Reference . The Reference indicates which tags are optional. Within a given element, tags must appear in the order shown in the Reference. If you"re new to KML, explore this document and the accompanying samples files (SamplesInEarth ) to begin learning about the basic structure of a KML file and the most commonly used tags. The first section describes features that can be created with the Google Earth user interface. These features include placemarks, descriptions, ground overlays, paths, and polygons. The second section describes features that require authoring KML with a text editor. When a text file is saved with a .kml or .kmz extension, Earth browsers know how to display it. |
Tip: To see the KML "code" for a feature in Google Earth, you can simply right-click the feature in the 3D Viewer of Google Earth and select Copy. Then Paste the contents of the clipboard into any text editor. The visual feature displayed in Google Earth is converted into its KML text equivalent. Be sure to experiment with this feature.
For a discussion of how to use some of the key features in KML, see the Developer"s Guide .
Table of Contents Basic KML DocumentsThe simplest kind of KML documents are those that can be authored directly in Google Earth—that is, you don"t need to edit or create any KML in a text editor. Placemarks, ground overlays, paths, and polygons can all be authored directly in Google Earth.
PlacemarksA Placemark is one of the most commonly used features in Google Earth. It marks a position on the Earth"s surface, using a yellow pushpin as the icon. The simplest Placemark includes only a Element, which specifies the location of the Placemark. You can specify a name and a custom icon for the Placemark, and you can also add other geometry elements to it.
As an example, enable the "Absolute Positioning: Top left" folder in the KML Samples file and you will see a screen overlay at the top left of the view window. This was created with the following KML code:
Absolute Positioning: Top left
http://сайт/kml/documentation/images/top_left.jpg
Positioning is controlled by mapping a point in the image specified by to a point on the screen specified by . In this case, the top-left corner of the image (0,1) has been made coincident with the same point on the screen.
Check the other examples in the folder to see how it is possible to obtain other fixed positions, and to create images that size dynamically with screen size. (Note that xunits and yunits can also be specified as "pixels" for precision control.) For further detail, see the KML 2.2 Reference .
Network LinksA network link contains a element with an (a hypertext reference) that loads a file. The can be a local file specification or an absolute URL. Despite the name, a does not necessarily load files from the network.
The in a link specifies the location of any of the following:
- An image file used by icons in icon styles, ground overlays, and screen overlays
- A model file used in the element
- A KML or KMZ file loaded by a Network Link
The specified file can be either a local file or a file on a remote server. In their simplest form, network links are a useful way to split one large KML file into smaller, more manageable files on the same computer.
So far, all of our examples have required that the KML code be delivered to Google Earth from the local machine. Network links give you the power to serve content from a remote location and are commonly used to distribute data to large numbers of users. In this way, if the data needs to be amended, it has to be changed only at the source location, and all users receive the updated data automatically.
CGI Scripting for KMLIn addition to pointing to files containing static data, a network link"s can point to data that is dynamically generated—for example, by a CGI script located on a network server. With some knowledge of a scripting language such as PHP, Python, or Perl, you can create a script that delivers a stream (or file) of KML data to each network link.
Two things are necessary for delivering KML through a network CGI:
When a call is made from the client (Google Earth) to the server, the server must (1) return a response code of HTTP 200 and (2) set the response"s content type to text/plain or application/vnd.google-earth.kml+xml.
The response must be valid KML. For complex applications, proper error handling is very important.
Tip: A simple way to handle errors is to parse the server"s error as the text for a folder name. For example, you could have the server return database inaccessible as a string. This is more informative (and more user-friendly) than letting the connection drop.
The following examples use Python, but they are equally valid in any other scripting language.
Generating a Random PlacemarkThe following Python script generates random integer values for latitude and longitude and then inserts those values into the element of a Whenever the network link is refreshed, the Python script runs again and generates KML with new latitude and longitude values.
#!/usr/bin/python import random latitude = random.randrange(-90, 90) longitude = random.randrange(-180, 180) kml = ("\n" "\n" "\n" "Random Placemark\n" "\n" "%d,%d\n" "\n" "\n" "") %(longitude, latitude) print "Content-Type: application/vnd.google-earth.kml+xml\n" print kml
Here is an example of a KML file containing a Network Link that loads this Python script:
Network Links
0
0
Network link example 1
Random Placemark
0
0
A simple server-side script that generates a new random
placemark on each call
0
0
http://yourserver.com
/cgi-bin/randomPlacemark.py
A standard network link is a uni-directional link: data flows only from the server to Google Earth. The view-based refresh enables bi-directional communication. When the view-based refresh is active, Google Earth returns the view coordinates to the server at a specified time. This may be every n seconds, minutes, or hours, or once a certain amount of time has elapsed since the view stopped moving. See in the KML 2.2 Reference.
The coordinates are returned to the server by means of an HTTP GET that appends the coordinates as follows (this is the default bounding box information):
GET /path/to/sever/script/query?BBOX= HTTP/1.1
If the request were made while the user was looking down on San Francisco, the coordinates might look as follows:
GET /path/to/server/script/query?BBOX=-122.497790,37.730385,-122.380087,37.812331 HTTP/1.1
This feature can be used for some very creative applications, but to get you started, a simple example is presented below.
Tracking a Point Directly Under Your ViewThe following server-side Python script parses the return message sent by Google Earth and responds with a Placemark at the center of the screen. Each time the Network Link is refreshed, a new Placemark is generated.
#!/usr/bin/python import cgi url = cgi.FieldStorage() bbox = url["BBOX"].value bbox = bbox.split(",") west = float(bbox) south = float(bbox) east = float(bbox) north = float(bbox) center_lng = ((east - west) / 2) + west center_lat = ((north - south) / 2) + south kml = ("\n" "\n" "\n" "View-centered placemark\n" "\n" "%.6f,%.6f\n" "\n" "\n" "") %(center_lng, center_lat) print "Content-Type: application/vnd.google-earth.kml+xml\n" print kml
And here is the KML for the Network Link that loads the Python script:
Network Links
0
0
Network link example 2
View Centered Placemark
0
0
The view-based refresh allows the remote server to calculate
the center of your screen and return a placemark.
0
0
http://yourserver.com
/cgi-bin/viewCenteredPlacemark.py
2
onStop
1
The principle illustrated in this example can be used for some very complex applications. For example, if you have a database of geographic information, you can extract the coordinates of the viewer, make a call to the database for the data specific to the view, and return it to Google Earth as KML.
3 KML MIME TypesWhen responding to a request from Google Earth (or any Earth browser), a KML server must follow a certain set of rules so that Google Earth can correctly interpret its responses.
Upon success, the server must return a response code of HTTP 200 and set the response"s content-type to a suitable MIME type, as described here.
Google Earth reads KML and KMZ files. The MIME type for KML files is
- application/vnd.google-earth.kml+xml
The MIME type for KMZ files is
- application/vnd.google-earth.kmz
For Apache, add these lines to the httpd.conf file:
- AddType application/vnd.google-earth.kml+xml .kml
- AddType application/vnd.google-earth.kmz .kmz
See the Microsoft documentation for details on setting up MIME types on Microsoft"s IIS.
The body of the response must contain valid KML data, including the XML declaration (). If the server returns invalid KML, the Network Link will stop, deactivate, and output an error message.
- Чит-коды GTA: San Andreas на PlayStation Коды для gta 5 на playstation 3
- Как удалить комментарий в одноклассниках под фото и в обсуждениях Как удалить комментарий в обсуждениях
- Удаленный рабочий стол Chrome
- Как включить профиль XMP планки оперативной памяти?
- Устройство блока питания Блок питания пк принципиальная схема
- Основные команды SQL, которые должен знать каждый программист
- Как узнать версию браузера
- 12 для чего используются фильтры в почте