KML
KML (от англ. Keyhole Markup Language — язык разметки Keyhole) — язык разметки на основе XML для представления трёхмерных геопространственных данных в программе Google Earth («Keyhole» до её приобретения Google).
Подмножество языка KML 2.0 может использоваться и для отображения двухмерных карт на сайтах maps.google.com[1]
KML-файлы обычно распространяются в ZIP-архиве: KMZ
MIME-тип KML-файлов: application/vnd.google-earth.kml+xml[2]
MIME-тип KMZ-файлов: application/vnd.google-earth.kmz
Содержание файлов
KML-файл определяет один или несколько объектов для отображения в Google Earth. Этими объектами могут быть:
- Пометки на карте. Задаётся значок, отображаемый в некотором месте на карте, и его относительная величина, а также текст и цвет и величина надписи, отображаемой возле значка. Есть возможность создать пометку без значка. Например, поставить номера домов района. Для этого нужно просто в стиле создать пустую ссылку на значок:
<Icon><href></href></Icon>
- Многоугольник или набор линий. Определяется цвет линий и цвет подписи.
- Изображение. Определяется положение изображения на поверхности Земли, а также его масштаб. Также можно разместить изображение на экране, не перемещающееся вместе с картой — например, логотип.
- Трёхмерная модель. Версия языка KML 2.1 (которая соответствует четвёртой версии программы Google Earth) позволяет подключать описание трёхмерных объектов (например, зданий и сооружений). Трёхмерную модель можно задать двумя способами: заданием высоты плоских фигур (вытягиванием) и ссылкой на полноценную модель в формате Collada.
Кроме упомянутых характеристик, для каждого объекта также задаются основные геоинформационные свойства (географическая широта и долгота, а также высота либо над уровнем моря, либо над уровнем поверхности Земли). Может быть приведено краткое описание объекта (которое в дальнейшем отображается во всплывающей подсказке по запросу пользователя). Может быть указан рекомендуемый ракурс наблюдения отмеченного на карте места, то есть рекомендуемая высота, азимут и угол наклона «виртуальной камеры».
Объекты внутри KML-файла можно организовать в иерархические структуры папок и подпапок, чтобы было удобнее совместно включать и отключать отображение логически взаимосвязанных групп объектов.
KML-файл может содержать (в URL-форме) ссылки на другие файлы в формате KML или KMZ, расположенные где-либо в Сети, и задавать условия и регулярность загрузки и отображения данных из этих внешних источников. Такая сетевая ссылка также видна в качестве своеобразной подпапки.
Язык KML во многом следует структуре языка GML — географического языка разметки.[3]
Пример KML-разметки
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Placemark>
<name>Геленджик</name>
<description><![CDATA[<p>Геленджик, Краснодарский край, Россия.</p>Город
располагается по&nbsp;берегам Геленджикской бухты,
но&nbsp;не&nbsp;равномерно (восточный берег исторически
более населён).]]></description>
<LookAt id="khLookAt540_copy0">
<longitude>38.0576198113139</longitude>
<latitude>44.56963150481845</latitude>
<altitude>0</altitude>
<range>14693.40972993507</range>
<tilt>49.10268313434742</tilt>
<heading>37.85562764777833</heading>
</LookAt>
<Style>
<IconStyle>
<scale>0.9</scale>
<Icon>
<href>root://icons/palette-4.png</href>
<x>32</x>
<y>128</y>
<w>32</w>
<h>32</h>
</Icon>
</IconStyle>
<LabelStyle>
<scale>0.9</scale>
</LabelStyle>
</Style>
<Point id="khPoint541_copy0">
<coordinates>38.06284424434902,44.56842733252498,0</coordinates>
</Point>
</Placemark>
</kml>
См. также
Примечания
- ↑ Sending KML files to Google Maps
- ↑ Google Earth Help Center
- ↑ GML and KML Syntax. September 07, 2005
Ссылки
- Документация Google Earth по языку KML
- Пособие Google Earth по языку KML
- BBS для публикации геоданных в форматах KML и KMZ (англ.)
- Ещё пометки в формате KML/KMZ (англ.)
- Google Earth Blog (англ.)
- Google Earth Community (англ.)
- Cредство взаимодействия с Google Earth (англ.) для ArchiCAD
- KMLImporter (англ.) — средство для импорта данных из KML-файлов в программу NASA World Wind
- Google Earth Links (need Google Earth)
- KMLer — расширение для программы ESRI ArcGIS 9, служащее для создания KML-файлов из данных ArcGIS
- Примеры и библиотеки данных (рус.)