Если ожидается, что пользователи будут открывать карту как KML, существует ряд шаблонов разработки, которым следует придерживаться. В этом разделе рассказывается, как подготовить документ ArcMap, чтобы он содержал отдельные объекты, доступные в формате KML. Например, описывается что появляется в всплывающем окне, если кто-либо просматривает сервис KML и щелкает точку. Или как можно создать высокопроизводительный сервис, использующий регионы KML. Это примеры функций, которые следует определить на этапе разработки карты до публикации сервиса.
Что следует добавить на карту?
На карту можно добавить как векторные, так и растровые слои. Подписи, заданные для каждого из этих типов объектов, также будут включены в KML.
После публикации сервиса можно выбрать, смогут ли клиенты получать фактические векторные объекты или будут использовать растровые изображения карты. Аналогично можно выбрать, будут ли подписи на карте растровыми и размещаться на глобусе в горизонтальной плоскости или будут выделяться на глобусе и вращаться вместе с картой (также называются подписями в режиме рекламного щита).
Работа с надписями
Подписи на карте преобразуются в KML. Текст подписи основан на поле, выбранном на закладке Подписи (Labels) в диалоговом окне Свойства слоя (Layer Properties) в ArcMap и ArcGlobe.
Если отключить все поля и выбрать подписи объектов, текст подписей будет основан на первом отображаемом поле (дополнительные сведения о первом отображаемом поле см. в разделе справки ArcGIS Что такое свойства полей, псевдонимы и опции отображения таблицы).
Единственные эффекты, которые могут быть применены к подписям в KML, – это размер и цвет. Эффекты подписывания, такие как тени и гало, не передаются в KML. Каждый объект может иметь только одну подпись.
Настройка описаний и фрагментов кода
Описания и фрагменты кода являются двумя способами предоставления информации об атрибутах в KML. Фрагмент кода – небольшой описательный текст (например, заголовок). Описание – более пространное объяснение, которое может включать текст, ссылки, изображения и другие мультимедийные ресурсы.
Описания определяют, что отображается в информационном всплывающем окне, которое появляется при щелчке объекта. Фрагменты определяют текст, который отображаются в таблице содержания. И описания, и фрагменты кода могут использоваться на различных уровнях: объект, слой, фрейм данных и сетевая ссылка.
Настройка фрагмента теста
По умолчанию фрагменты кода не настроены для отображения. Это можно изменить, сняв флажок Отменить поведение подсказок KML по умолчанию (Suppress default KML snippet behavior) при публикации сетевой ссылки KML в Manager. В этом случае, если фрагмент кода определен, то будет использоваться. Если фрагмент кода не определен, будут использоваться первые две строчки описания.
Если следует использовать фрагменты кода, их можно получить из поля данных. Следует указать, какое поле будет отображаться в качестве фрагмента кода, задав псевдоним KMLSnippet на закладке Поля (Fields) в диалоговом окне Свойства слоя (Layer Properties). Этот псевдоним можно присвоить только одному полю.
Настройка описания
Настройка описания осуществляется иначе и зависит от того, предназначено ли это описание для сетевой ссылки, фрейма данных, слоя или отдельного объекта.
Описание сетевой ссылки может настраиваться только при публикации сервиса в качестве сетевой ссылки.
Описание фрейма данных основано на содержимом поля Описание (Description) на закладке Общие (General) диалогового окна Свойства фрейма данных (Data Frame Properties).
Описание слоев основано на содержимом поля Описание (Description) на закладке Общие (General) диалогового окна Свойства слоя (Layer Properties).
-
Описание отдельных объектов форматируется с помощью шаблона стиля XSL на закладке Всплывающее окно HTML (HTML Popup) диалогового окна Свойства слоя (Layer Properties) в ArcMap и ArcGlobe. Некоторые примеры шаблонов стилей располагаются по следующему пути: <Место установки ArcGIS>\Styles\HTMLPopup.
Шаблоны стилей XSL позволяют использовать значение атрибутов объектов для создания всплывающего окна, в котором будет отображаться любое HTML-содержимое. Например, можно создать ссылку на результат выполнения задачи геообработки, которая возвращает KMZ, используя значения атрибутов для определения параметров модели. Это позволит получить доступ к фактическим данным ГИС в среде браузера KML. Можно также создать аналогичным образом ссылку на результаты запросов слоя, используя в качестве параметров запроса значения атрибутов. Кроме того, можно отображать изображения или Flash-видео, задав ссылку на них в атрибуте объекта. В целом, можно сделать ссылку на любое HTML-содержимое Интернета.
KML на основе запросов или задач геообработки отображает всплывающее окно, только если возвращаются все поля. Если необходимо возвращать только поднабор полей, а в шаблоне стиля содержатся ссылки на несуществующие поля, поведение может оказаться неожиданным. Если возвращаются не все поля, то возвращается простая HTML-таблица с именами полей и значениями атрибутов.
Длинные и комплексные описания могут снизить производительность клиентских приложений KML. Избегайте длинных описаний, если ключевым фактором является производительность. Чтобы сократить описания, рассмотрите возможность включения простой ссылки на веб-страницу, содержащую материалы, которые изначально планировалось включить в описание.
Если плотность объектов высока, а шаблон стиля является сложным, следует помнить, что шаблон стиля применяется к каждому объекту, поэтому производительность может быть значительно снижена.
Вытягивание пространственных объектов
Чтобы опубликовать классы пространственных объектов с 3D-атрибутами, например смещениями по оси z, или вытянуть объекты на основе атрибутов, сначала необходимо изменить свойства слоя классов пространственных объектов в ArcGlobe и сохранить класс объектов в виде файла слоя, а затем добавить файл слоя в документ ArcMap.
Предположим, создан полигональный класс пространственных объектов с полем плотности численности. Необходимо отобразить этот класс объектов в 3D KML, чтобы полигоны с высокой плотностью численности выделялись или больше вытягивались. Для этого задайте свойства вытягивания для нужного класса объектов в ArcGlobe, сохраните класс объектов в виде файла слоя, затем добавьте файл слоя в документ ArcMap. В ArcMap не будут отображаться какие-либо эффекты рельефа или вытягивания, однако оформление в KML станет трехмерным.
Пошаговые инструкции см. в разделе Руководство пользователя: публикация сервиса KML.
Настройка легенды
Можно сделать доступной легенду с описанием всех слоев в сервисе KML. ArcGIS Server выполняет поиск в виде компоновки вашего документа карты на предмет любых имеющихся легенд. Обнаруженные легенды встраиваются в KML.
Легенды являются динамическими и обновляются при изменении символов любых картографических объектов или масштабирования карты (для слов с заданным диапазоном масштабирования). Не конвертируйте легенды в графику, так как их невозможно будет встроить в KML.
Каждая легенда отображается в KML как экранное наложение. Это означает, что если легенда отображается на экране, даже если пользователь панорамирует или масштабирует карту. Пользователь может выбрать, в какой стороне света будет отображаться легенда (например, север, северо-запад или запад).
Подсказка:
Если эта карта будет использоваться только в KML, можно не обращать внимание на расположение легенды в виде компоновки ArcMap.