Keyhole Markup Language (KML) – это основанный на XML формат файлов, использующийся для представления географических пространственных объектов в таких приложениях, как ArcGIS Explorer и Google Earth. KML позволяет помещать точки, линии и полигоны на карты и глобусы и делать их доступными для других пользователей. Используя KML, вы также можете назначать текст, изображения, видеоролики или ссылки на другие ГИС-сервисы, которые появятся при нажатии на объект. Большинство клиентских приложений являются бесплатными и имеют простой интерфейс и несложную навигацию.
Что можно делать с KML, используя ArcGIS Server
ArcGIS Server позволяет публиковать карты и данные в виде KML несколькими способами:
- Картографические сервисы и сервисы изображений предоставляют ссылку на сеть KML через Representational State Transfer (REST).
- Можно создать собственную ссылку на сеть KML, используя Manager или Services Directory.
- Когда вы строите запросы к слоям карты или выполняете операции геообработки или геокодирования через REST, вы можете получить итоговые данные в виде KML.
Во всех случаях, KML генерируется динамически, что позволяет пользователям KML всегда видеть самые свежие карты и данные с вашего сервера. Если вы хотите создать статичные документы KML, которые можно отправить по электронной почте или разместить на файловом сервере, можно использовать инструменты Карта в KML и Слой в KML в ArcGIS for Desktop.
Настройка картографических сервисов и сервисов изображений для возврата KML
Чтобы публиковать карты и изображения в качестве динамического KML, все что необходимо – это опубликовать их как сервис с помощью ArcGIS for Desktop. Картографические сервисы и сервисы изображений могут возвращать KML. По умолчанию, при публикации этих сервисов на сервер, KML-совместимость включена.
Перед публикацией сервисов необходимо выполнить подготовительную работу. Для картографических сервисов необходимо предварительно подготовить документ карты, содержащий слои, которые должны быть доступны в виде KML. В этом документе карты можно настроить надписи, способ отображения, символы и параметры всплывающего окна HTML. Все это будет отображено в KML. Трехмерные свойства необходимо задать в ArcGlobe и импортировать как файлы слоя в документ карты.
Более подробно о подготовке карт для публикации в виде KML
Для сервисов изображений требуется набор растровых данных, набор данных мозаики или файл слоя, ссылающийся на набор растровых данных или мозаику. Возможно, удобнее использовать файл слоя для задания определенного метода изображения, что гарантирует, что сервис изображений будет выглядеть точно так, как необходимо.
KML через REST
Все картографические сервисы и сервисы изображений предоставляют ссылку на сеть KML через REST. Проще говоря, REST – это способ отображения информации о сервисах посредством набора URL. URL-ссылки сети можно определить с помощью приложения Services Directory, которое служит для облегчения навигации по конечным точкам REST на сервере. URL указывает файл .kmz, который можно добавить в Google Earth или в любой другой клиент, который поддерживает ссылки сети KML.
Если вы не хотите использовать ссылку на сеть по умолчанию, с помощью Manager или Services Directory можно создать собственную. См. раздел Просмотр сервисов в виде KML, чтобы получить более подробную информацию о REST, ссылках сети KML и о работе ArcGIS Server с этими объектами.
Просмотр информации, доступной на вашем сервере
С помощью Services Directory можно просмотреть контуры всех карт и сервисов изображений, которые находятся на вашем сервере. Дополнительно, можно получить доступ к контуру сети KML, чтобы просмотреть местоположения и описания сервиса. Этот контур сети можно использовать как руководство, чтобы показать другим пользователям, какие именно данные находятся на вашем сервере.
Представление результатов геокодирования, геообработки и запросов в виде KML
Картографические сервисы могут возвращать результаты операций геокодирования, геообработки и запросов в виде KML. Эти сервисы можно использовать в клиентских приложениях и напрямую для анализа, задав REST URL. Это удобный способ выборочного извлечения информации из интерактивных баз геоданных в формате KML.
Операции сервиса KML
Сервисы KML содержат встроенные операции, которые позволяют клиентам KML выполнять различные запросы к серверу. При публикации карт и изображений, операции SeparateImages, SingleImage и Vectors включаются по умолчанию.
- SeparateImages позволяет клиентам KML создавать запрос, который возвращает отдельное изображение, например географическое наложение KML, для каждого слоя сервиса. Например, если вы просматриваете сервис KML с помощью клиента, можно изменить прозрачность каждого слоя сервиса.
- SingleImage позволяет клиентам KML запрашивать одно составное изображение, созданное из всех слоев сервиса. Это напоминает экспорт изображения карты.
- Vectors позволяет клиентам KML делать запросы для получения отдельных пространственных объектов из всех поддерживаемых слоев с соответствующими типами геометрии. Допускается работа с точечной, линейной и полигональной геометрией.
Можно отключить любую из этих операций, перейдя на закладку KML Редактора сервисов (Service Editor) в ArcGIS for Desktop..
Поддерживаемые функции KML
Ниже приведен список функций, поддерживаемых сервисами KML:
- Генерация KML 2.2-совместимых KML
- Автоматическое предоставление KML через REST
- Использование KML Regions для отображения кэшированных картографических сервисов через REST
- Возможность использования KML для сервисов изображений
- Возможность отображения контуров сервисов в виде KML через REST
- Поддержка большинства функций надписывания ArcMap
- Возможность отключения надписей
- Форматирование, которое настраивается на закладке HTML Popup в диалоговом окне Свойства слоя (Layer Properties) в ArcMap (переносится в описание объекта KML).