Сервисы WMS

Стандарт Web Map Service (WMS), разработанный организацией Open Geospatial Consortium, Inc. (OGC), является открытой спецификацией для публикации в сети динамических карт. Для публикации сервиса WMS в ArcGIS Server применяется функция WMS, активируемая при публикации картографического сервиса или сервиса изображений в ArcGIS for Desktop.

Сервисы WMS пригодятся в том случае, если необходимо открыть доступ к картам в открытом и общепринятом формате, применяемом различными клиентскими приложениями на различных платформах. С этим сервисом может работать любое клиентское приложение, разработанное с поддержкой спецификации WMS. На данный момент было издано четыре версии спецификации WMS. Это версии v1.0.0, v1.1.0, v1.1.1 и v1.3.0 (самая новая).

Клиентские приложения взаимодействуют с сервисом WMS путем добавления параметров к URL сервиса. Сервисы WMS, опубликованные в ArcGIS Server, поддерживают следующие операции:

В сервисе WMS могут поддерживаться только некоторые из этих операций, но в базовом сервисе WMS необходимы, по меньшей мере, операции GetCapabilities и GetMap, а для выполнения запросов по карте требуется поддержка необязательной операции GetFeatureInfo. Операции GetStyles и GetLegendGraphic применимы только в случае сервиса WMS с дескриптором стиля слоя (SLD, Styled Layer Descriptor).

Картографические изображения, возвращенные WMS сервисом, не содержат реальных данных, несмотря на то, что запросы могут направляться посредством операции GetFeatureInfo. Для представления данных посредством спецификации OGC как векторных объектов опубликуйте сервис WFS вместо сервиса WMS. Для представления данных как растровых слоев опубликуйте сервис WCS.

Подробнее о сервисах WMS можно узнать на веб-сайте организации Open Geospatial Consortium. Существует также раздел справки Esri, посвященный поддержке сервисов OGC в ArcGIS.

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

Существует два способа публикации сервиса WMS:

При публикации картографического сервиса или сервиса изображений, не забудьте активировать функцию WMS на закладке Функции (Capabilities) окна Редактора сервиса (Service Editor). В разделе Руководство пользователя. Публикация сервиса WMS подробно рассмотрен ход работ по созданию сервиса WMS.

Примечания:

  • Число слоев в документе карты прямо сказывается на времени, затрачиваемом на первоначальное создание сервиса WMS или на запуск сервиса после его остановки. Время запуска сервиса можно сократить, удалив или объединив часть слоев в сервисе.

  • Сервисы WMS используют кэш карты, если он имеется в наличии. Кэш карты применяется только при запросе карты в исходной проекции сервиса, с исходным порядком и видимостью слоев. Листы кэша пересчитываются в требуемый клиентом масштаб – это может занять время обработки и снизить качество изображений. Использование кэша даст наибольшее преимущество при наличии в сервисе WMS большого количества слоев или сложных символов, прорисовка которых динамическим образом займет слишком много времени. Если в карте содержатся только несколько слоев и несложные символы, то производительность будет выше при отсутствии кэша.

    В сервисах WMS, созданных на основе картографического сервиса с пассивным кэшированием, при просмотре пользователем некэшированных областей будут создаваться листы кэша.

  • Если сервис WMS создан на базе сервиса изображений ArcGIS Server на основе набора данных мозаики, клиент может запрашивать конкретные растры в наборе данных. В этом случае запрос WMS GetMap имеет дополнительный параметр IMAGES (Изображения) – например, при IMAGES=1,2 будут запрошены изображения с данными идентификаторами object ID в таблице каталога сервиса изображений.

Настройка свойств сервиса WMS

Свойства сервиса WMS отражены в файле функций. Пользователь, обращающийся к сервису, может получить из этого файла информацию об авторе сервиса. При публикации сервиса WMS с файлами функций, сгенерированными системой (по умолчанию), рекомендуется указать значения свойств сервиса WMS. Информация о всех доступных свойствах сервиса WMS приведена в разделе Доступные свойства сервиса WMS. Кроме того, из следующих разделов вы сможете узнать, где именно настроить свойства сервиса WMS:

Настройка свойств WMS с использованием внешнего файла функций

Другой способ определения метаданных состоит в использовании внешнего файла функций. Он позволяет включить для типов объектов дополнительные проекции, отличные от проекций по умолчанию. По умолчанию включены: система координат слоя или класса пространственных объектов и WGS84 (EPSG 4326). Дополнительные сведения приведены в разделе Использование внешних файлов функций с сервисами WMS.

Безопасность сервисов WMS

Безопасность сервиса WMS в ArcGIS Server обеспечивается безопасностью его родительского сервиса (картографического сервиса или сервиса изображений). Если определенную роль, например Planners (проектировщики), лишить доступа к карте, то никакие пользователи в роли Planners не смогут получить доступ к этой карте, вне зависимости от того, используют ли они протоколы SOAP и REST или интерфейсы OGC (к примеру, WMS). ArcGIS Server поддерживает несколько различных схем авторизации, включая авторизацию на базе протокола HTTP (Basic и Digest) и авторизацию ArcGIS Server на основе токенов (token-based).

Авторизация HTTP

Сервисы, доступ к которым предполагается через интерфейсы WMS, следует оградить авторизацией HTTP Basic или HTTP Digest. Распознавать эти стандартные схемы авторизации и работать с ними способны большинство клиентских приложений (как разработки Esri, так и сторонние продукты).

Авторизация ArcGIS Server на основе токенов

Хотя это и не рекомендуется, тем не менее, есть возможность оградить сервис WMS авторизацией ArcGIS Server на основе токенов, указав этот тип авторизации для родительского сервиса (картографического или сервиса изображений). Для авторизации запросов к сервису WMS при помощи токена, используется корректный токен, возвращенный сервисом токенов (токенов). Этот токен играет роль дополнительного параметра в посылаемых запросах. Другими словами, запрос к сервису WMS с авторизацией на основе токенов должен иметь следующий формат:

http://<URL сервиса WMS>?<стандартные параметры WMS>&token=<корректный токен в виде строки>

Большинство сторонних клиентских приложений не смогут обращаться таким образом к сервису WMS, но такой метод может быть доступен в клиентских приложениях WMS, разработанных при помощи интерфейсов ArcGIS API for JavaScript, Flex и Silverlight.

Использование сервисов WMS

Для подключения к сервису WMS необходимо знать его URL. Сервисы WMS, опубликованные в ArcGIS Server, имеют следующий формат URL:

http://<имя сервера>:<номер порта>/arcgis/services/<имя папки (если необходимо)>/<имя сервиса>/<тип сервиса (может быть MapServer (картографический) или ImageServer (сервис изображений))>/WMSServer?

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

К примеру, если картографический сервис Tokyo находится в папке Japan и запущен на сервере myServer с номером порта 6080, то URL сервиса WMS на его основе примет следующий вид:

http://myServer:6080/arcgis/services/Japan/Tokyo/MapServer/WMSServer?

Если сервис изображений IdahoImages запущен на сервере myServer с номером порта 6080, то URL сервиса WMS на его основе примет следующий вид:

http://myServer:6080/arcgis/services/IdahoImages/ImageServer/WMSServer?

Типичные клиенты WMS

Простейшим клиентом сервиса WMS является веб-браузер. Запросы WMS можно отправлять по протоколу HTTP, а ответы или исключения будут возвращаться через браузер. Сервисы WMS могут поддерживать несколько операций: GetCapabilities, GetMap, GetFeatureInfo, GetStyles и GetLegendGraphic. С помощью параметров URL клиент может использовать эти операции и получать от сервиса WMS метаданные сервиса, информацию об объектах, сами карты, их символы и легенду. Эти операции и параметры подробно описаны в спецификации OGC WMS.

В число клиентских приложений WMS разработки Esri входят следующие:

  • ArcGIS for Desktop
  • ArcGIS веб-API для JavaScript, Flex и Silverlight
  • ArcGIS Viewer for Flex
  • ArcGIS Viewer for Silverlight
  • ArcGIS Explorer Desktop

Просмотр информации о легенде в сервисе WMS

Сервисы WMS могут быть настроены для сообщения информации о символах слоев в сервисе. Клиентские приложения на основе этой информации могут составлять легенду карты. По умолчанию, при публикации сервисов WMS на сервер ArcGIS, передача информации о легенде разрешена. Запретить передачу можно при помощи свойства Использовать имя слоя из документа карты (Use layer names from the map document). Дополнительная информация приведена в разделе Доступные свойства сервиса WMS.

ПодсказкаПодсказка:

Для отображения легенды для слоев WMS в ArcMap, щелкните правой кнопкой слой в таблице содержания и выберите пункт Добавить легенду WMS к карте (Add WMS Legend to Map).

9/12/2013