Skip To Content

Руководство пользователя: публикация сервиса KML

Уровень сложности: СреднийТребования к данным: Используйте собственные данныеЗадача: Создайте карту и опубликуйте ее как сервис KML в ArcGIS Server.

Можно предоставлять KML динамически по сети, опубликовав картографический сервис ArcGIS Server с включенной поддержкой KML. Это позволит клиенту подключаться к картографическому сервису и запрашивать данные KML для определенного географического региона. Доступ к KML можно предоставить через операции создания карты, создания KML и запроса REST, ссылки Просмотреть в Google Планета Земля (View in Google Earth) в Директории сервисов ArcGIS или через связанный сетевой документ KML, в котором находится правильно заданный URL сервиса.

В данном руководстве описывается процесс создания сервиса KML с вытянутыми 3D-объектами. Сначала следует использовать ArcGlobe для создания файла слоя со свойствами вытягивания 3D. Затем необходимо добавить слой в ArcMap, чтобы задать символы слоя и настроить описательный текст, который будет связан с этими объектами в KML. Затем необходимо опубликовать карты в качестве сервиса с включенными возможностями KML. Наконец, необходимо создать сетевую ссылку KML на сервере, чтобы остальные пользователи могли без труда получить доступ к KML.

Действия перед выполнением этого руководства

Если ArcGIS Server был только что установлен, необходимо выполнить ряд подготовительных действий, прежде чем подключиться к серверу и начать публиковать сервисы.

Подготовка данных в ArcGlobe и ArcMap

Чтобы опубликовать классы пространственных объектов с 3D-атрибутами, например смещениями по оси z или вытягиванием на основе атрибутов, сначала необходимо изменить свойства слоя классов пространственных объектов в ArcGlobe и сохранить их в виде файла слоя, а затем добавить файл слоя в документ ArcMap. Приведенные ниже действия показывают, как можно применить вытягивание в ArcGlobe и сохранить соответствующий файл слоя, который впоследствии можно использовать в ArcMap.

  1. Запустите ArcGlobe и добавьте класс пространственных объектов.
  2. В Таблице содержания щелкните слой правой кнопкой мыши и выберите Свойства (Properties).
  3. Щелкните закладку Вытягивание на глобусе (Globe Extrusion).
  4. Установите флажки Вытягивать объекты слоя (Extrude features in layer) и Не отображать нижнюю поверхность вытягиваемых полигонов (Do not draw bottom face of extruded polygons). Кроме того, примените вытягивание, добавляя его к базовой высоте каждого объекта.
  5. Щелкните закладку Вытягивание глобуса (Globe Extrusion) в ArcGlobe.
  6. Задайте значение или выражение вытягивания. Это определяет, насколько далеко будут всплывать объекты на карте. Можно открыть Конструктор выражений (Expression Builder) Вычислить и ознакомиться со справкой по построению выражений. В этом случае полигональные объекты вытягиваются путем умножения значения атрибута POP10_SQMI на 250 (POP10_SQMI *250) и добавления этого значения в базовую высоту объекта. Это произвольное значение выбирается только для внешнего вида. Может понадобиться поэкспериментировать с выражением для получения нужного внешнего вида.

    Вытянутые объекты в ArcGlobe

  7. После определения вытягивания слоя и придания ему трехмерного вида, щелкните правой кнопкой мыши слой и выберите Сохранить как файл слоя (Save As Layer File).
  8. После определения свойств 3D для данных необходимо определить свойства слоя 2D. Откройте ArcMap и щелкните Добавить данные (Add Data).
  9. Перейдите к только что сохраненному в ArcGlobe файлу слоя (.lyr) и щелкните Add (Добавить). Слой не отображается в приложении ArcMap в виде 3D, однако он будет отображаться в 3D при просмотре карты в Картах Google или ArcGIS Explorer.
  10. Задайте свойства слоя, щелкнув правой кнопкой мыши слой и выбрав в контекстном меню пункт Свойства (Properties).
  11. Перейдите на закладку Общие (General), задайте Диапазон масштабов (Scale Range) для слоя и введите описание. Это описание будет использоваться для описания слоя KML, отображаемого клиентами KML, и может содержать любой допустимый HTML-код.
  12. Дополнительно можно перейти на закладку Отображение (Display) и изменить прозрачность слоя. Легкая прозрачность позволит пользователям видеть базовую карту.
  13. Кроме того, перейдите на закладку Символы (Symbology) и измените свойства построения изображения. Едва различимая градиентная заливка позволит разграничивать прилегающие 3D объекты.
  14. Щелкните закладку Поля (Fields) и задайте поля, которые будут доступными через картографический сервис. Можно также изменить любое поле в классе пространственных объектов для использования псевдонима KMLSnippet. Измененные для использования псевдонима KMLSnippet значения поля будут отображаться под каждым значком объекта в таблице содержания клиента KML.
  15. Кроме того, задайте любые определяющие запросы или соединения и связи, которые должны применяться к данным. Это можно сделать, соответственно, на закладках Определяющий запрос (Definition Query) и Соединения и связи (Joins & Relates).
  16. Можно также щелкнуть закладку Надписи (Labels) и указать надписи, которые следует применять. KML унаследует цвета, размеры и выражения надписей для точечных объектов. KML не поддерживает надписи для линий или полигонов.
  17. Щелкните закладку Всплывающее окно HTML (HTML Popup) и отметьте Показать содержание слоя, используя окно HTML (Show content for this layer using the HTML Popup tool). Затем выберите одну из опций форматирования. Это определяет описание KML для каждой функции или, другими словами, содержание, которое отображается во всплывающем информационном окне при щелчке объекта. Можно использовать HTML, JavaScript и стили страниц для украшения описания или, если нужно только поэкспериментировать, можно выбрать опцию по умолчанию для отображения форматирования HTML как таблицы с видимыми полями (As a table of the visible fields).
  18. Нажмите кнопку ОК, чтобы отменить свойства слоя, затем сохраните документ карты, последовательно щелкнув Файл > Сохранить (File > Save).

Публикация сервиса KML

После создания документа карты необходимо опубликовать его как картографический сервис. Картографический сервис может создавать KML пока включены возможности KML. По умолчанию возможности KML включены.

  1. В главном меню ArcMap выберите Файл > Опубликовать как > Сервис (File > Share As > Service).
  2. В окне Использовать совместно как сервис (Share as Service) выберите Опубликовать как сервис (Publish a service). Щелкните Далее (Next).
  3. В диалоговом окне Опубликовать как сервис (Publish a Service) щелкните Подключиться к ArcGIS Server (Connect to ArcGIS Server) Добавить ArcGIS Server чтобы создать новое подключение к ArcGIS Server.
  4. В окне Добавить ArcGIS Server (Add ArcGIS Server) выберите Опубликовать ГИС-сервисы (Publish GIS Services). Щелкните Далее (Next).
  5. Введите URL сайта ArcGIS Server, к которому нужно подключиться, в поле URL сервера (Server URL). Например, http://gisserver.domain.com:6080/arcgis.
  6. В раскрывающемся списке Тип сервера (Server Type) выберите ArcGIS Server.
  7. Во время публикации создается файл определения сервиса, который затем временно сохраняется на локальном диске. Когда процесс публикации завершается, определение сервиса загружается на сервер, а локальный файл удаляется. В рамках данного руководства примите папку размещения по умолчанию и продолжайте.
  8. Если администратор безопасности включил функции безопасности для ArcGIS Server, введите Имя пользователя (User Name) и Пароль (Password). Щелкните Готово (Finish).
  9. При необходимости в окне Опубликовать сервис (Publish a Service) введите новое имя сервиса. Имя может содержать только цифры, буквы, подчеркивания и не может быть длиннее 120 символов. Щелкните Далее (Next).
  10. По умолчанию сервисы публикуются в корневой папке (root) ArcGIS Server. Сервисы могут размещаться во вложенных папках корневой папки. Выберите папку, в которой требуется опубликовать сервис, или создайте новую папку для сервиса. Нажмите кнопку Продолжить (Continue).
  11. Появится Редактор сервисов. Редактор сервисов используется для выбора того, что пользователи могут делать с сервисом KML, и управления предоставлением доступа к сервису KML на сервере. Перейдите на закладку Функции (Capabilities).
  12. По умолчанию, картирование и KML включены. На левой панели Редактора сервисов щелкните KML и измените следующие свойства:
    • Выберите разрешенные операции для сервиса KML. Описание каждой операции см. в разделе Поддержка KML в ArcGIS Server.
    • Выберите, как следует ограничивать KML, возвращаемый сервисом KML. Опции Режима совместимости KML (KML Compatibility Mode) позволяют включать только сфокусированные поднаборы функций, если сервис будет использоваться преимущественно с Google Планета Земля, Картами Google или Google Mobile. Это повысит производительность.
    • Выберите, как следует ограничить объекты, возвращаемые сервисом KML, размер выходного изображения и выходное значение DPI.
    • Воспользуйтесь опциямиИспользуйте тег NetworkLinkControl (Use NetworkLinkControl Tag) для ограничения частоты опроса сервиса клиентом.
    Подсказка:

    Дополнительные сведения о настройке сервиса KML для размещения см. в разделе Настройка и конфигурирование сервисов.

  13. Щелкните Анализировать Анализировать (Analyze). Документ карты будет проанализирован на возможность публикации его на сервере.
    Подсказка:

    Чтобы расширить область просмотра при настойке сервиса KML нажмите кнопку Свернуть (Collapse) Свернуть (Collapse) в верхней части редактора сервисов.

  14. Исправьте все ошибки Ошибка (Error) в окне Подготовка (Prepare). Это необходимо сделать до публикации карты. При необходимости, можно разрешить предупреждения и информационные сообщения, чтобы улучшить производительность и внешний вид сервиса KML. Более подробно об устранении этих неполадок см. Анализ ГИС-ресурса.
    Примечание:

    Можно зарегистрировать папки и базы геоданных на сайте ArcGIS Server, чтобы сервер мог распознать и использовать ваши данные. Если продолжить выполнение следующих действий, все данные, указанные в документе карты, взятые из незарегистрированной папки или базы геоданных, будут скопированы на сервер во время публикации. Это мера предосторожности, гарантирующая, что сервер может получить доступ ко всем данным, используемым сервисом. Подробные инструкции по регистрации папки или базы геоданных на сайте ArcGIS Server см. в разделе Регистрация данных на ArcGIS Server с помощью ArcGIS Desktop.

  15. При необходимости в Редакторе сервисов щелкните Предварительный просмотр (Preview). Предварительный просмотр (Preview). Это позволит увидеть, как карта будет выглядеть при просмотре в браузере. Дополнительные сведения см. в разделе Предварительный просмотр карты.
  16. После устранения ошибок в документе карты щелкните Опубликовать (Publish) Опубликовать.
  17. Сервис был опубликован, теперь его можно просмотреть, развернув узел ГИС-серверы (GIS Servers) в окне Каталог (Catalog) и перетащив сервис в Таблицу содержания (Table of Contents) ArcMap.

Просмотр операций KML REST, отображаемых в директории сервисов ArcGIS Server

По умолчанию любой сервер ArcGIS Server предоставляет директорию сервисов, благодаря которой можно использовать REST для просмотра и взаимодействия с сервисами. Можно использовать директорию сервисов для изучения взаимодействия с сервисом KML.

  1. Откройте веб-браузер и перейдите в директорию сервисов, URL которой обычно http://gisserver.domain.com:6080/arcgis/rest/services.
  2. В списке сервисов щелкните имя сервиса KML. Если сервис не отображается, он может располагаться в папке.
  3. Щелкните ссылку Просмотреть границу в: Google Планета Земля (View Footprint In: Google Earth), чтобы открыть документ KML, в котором отображается наложение на уровне поверхности земли этого сервиса. Или, если сервис кэшируется, можно просмотреть общее наложение для регионов, поддерживающих KML. Обратите внимание, что эта ссылка не возвращает векторы.
  4. Вернитесь в Директорию сервисов и щелкните любой слой в сервисе.
  5. В нижней части страницы щелкните ссылку Запрос (Query). Это приведет к открытию формы, в которой можно указать различные параметры для запроса слоя. Последней опцией является формат, в котором следует отображать ответ. Выбор в качестве формата KMZ приведет к созданию документа KMZ, содержащего результаты запроса.
  6. Вернитесь на страницу сервиса в Директории сервисов.
  7. В нижней части страницы щелкните Создать KML (Generate KML). Эта ссылка отображает веб-форму, в которой можно выбрать слои для возвращения в KML. Можно также динамически возвращать векторы из сервиса, выбрав опцию Векторные слои как векторные данные, а растровые слои как растровые изображения (Vector layers as vectors and raster layers as images).

Создание сетевой ссылки на основе картографического сервиса

KML можно сделать доступным на сервере в любом формате путем создания сетевой ссылки KML в приложении ArcGIS Server Manager. Затем можно добавить эту сетевую ссылку в ArcGIS Explorer, ArcGlobe и Google Планета Земля.

  1. Откройте менеджер и войдите в него. Дополнительная справка по этому шагу приведена в разделе Вход в Менеджер.
  2. Щелкните Сервисы > Сетевые ссылки KML > Создать сетевую ссылку (Services > KML Network Links > Create Network Link).
  3. Укажите имя ссылки. Указанное имя используется в качестве имени файла и встраивается в тег Name файла сетевой ссылки.
  4. Кроме того, укажите Внешнее имя узла (External Hostname).
  5. Также предоставьте краткое и полное описания. В полном описании можно использовать встроенные HTML-теги и URL.
  6. Кроме того, укажите поведение фрагмента кода. По умолчанию фрагменты кода не настроены для отображения. Щелкните Далее (Next).
  7. В раскрывающемся списке Картографический сервис (Map Service) выберите картографический сервис, который следует опубликовать. Кроме того, выберите, какие слои должны отображаться по сетевой ссылке KML.
  8. Выберите опцию отображения Векторные слои как векторные данные, а растровые слои как растровые изображения (Vector layers as vectors and raster layers as images). Вытянутые объекты являются векторами, поэтому следует выбрать эту опцию. В противном случае будет отображаться плоское, растеризованное изображение.
  9. Кроме того, задайте режим совместимости по умолчанию для указанного клиента Google.
  10. По желанию измените параметры Обновление на основе вида (View-Based Refresh), Масштаб границ вида (View Bound Scale) и Обновление по времени (Time-Based Refresh). Кроме того, можно определить переход браузера к виду после обновления. В рамках этого руководства опции по умолчанию являются достаточными. Щелкните Далее (Next).
  11. Дополнительно можно определить значения параметров Широта (Latitude), Долгота (Longitude), Диапазон (Range), Заголовок (Heading) и Наклон (Tilt) в соответствии с требуемым способом отображения сетевой ссылки. В рамках этого руководства опции по умолчанию являются достаточными.
  12. Щёлкните Создать (Create), чтобы создать сетевую ссылку KML.

При возврате в модуль Сетевые ссылки KML (KML Network Links) в Manager вы увидите URL новой сетевой ссылки (например, http://gisserver.domain.com:6080/arcgis/kml/networklink01.kmz). Щелкните или скопируйте и вставьте этот URL, чтобы добавить вашу сетевую ссылку KML в Explorer for ArcGIS, ArcGlobe, Google Планета Земля, Google Maps или Google Mobile.