Open Geospatial Consortium (Открытый геопространственный консорциум). Стандарт Web Map Service (WMS) – это международная спецификация для публикации и использования в сети динамических карт. Вы можете опубликовать сервис WMS на ArcGIS Server, включив возможность WMS при публикации картографического сервиса или сервиса изображений.
Сервисы WMS пригодятся в том случае, если необходимо открыть доступ к картам в открытом и общепринятом формате, применяемом различными клиентскими приложениями на различных платформах. С этим сервисом может работать любое клиентское приложение, разработанное с поддержкой спецификации WMS. На настоящий момент опубликованы четыре версии спецификации WMS : 1.0.0, 1.1.0, 1.1.1 и 1.3.0 (последняя).
Клиентские приложения взаимодействуют с сервисом WMS путем добавления параметров к URL сервиса. Сервисы WMS, опубликованные на ArcGIS Server, поддерживают следующие операции:
- Запрос метаданных о сервисе (GetCapabilities)
- Запрос изображения карты (GetMap)
- Запрос информации об объектах карты (GetFeatureInfo [необязательный параметр])
- Запрос стилей, определенных пользователем (GetStyles)
- Запрос символов легенды (GetLegendGraphic)
В сервисе WMS могут поддерживаться только некоторые из этих операций, но в базовом сервисе WMS необходимы, по меньшей мере, операции GetCapabilities и GetMap, а для выполнения запросов по карте требуется поддержка необязательной операции GetFeatureInfo. Операции GetStyles и GetLegendGraphic применимы только в случае сервиса WMS с дескриптором стиля слоя (SLD, Styled Layer Descriptor).
Изображения карт, возвращаемые сервисом WMS, не содержат фактических данных, хотя с помощью операции GetFeatureInfo можно делать атрибутивные запросы. Для представления данных посредством спецификации OGC как векторных объектов опубликуйте сервис WFS вместо сервиса WMS. Для представления данных как растровых слоев опубликуйте сервис WCS. Подробнее о сервисах WMS можно узнать на веб-сайте организации Open Geospatial Consortium.
Публикация сервиса WMS
Существует два способа публикации сервиса WMS:
- Публикация картографического сервиса с активированной функцией WMS. Для публикации картографического сервиса вначале необходимо создать документ карты.
- Публикация сервиса изображений с активированной функцией WMS. Для публикации сервиса изображений требуется либо набор растровых данных, либо набор данных мозаики, либо файл слоя, связанный с одним из этих наборов.
Когда вы публикуете свой картографический сервис или сервис изображений, убедитесь, что вы включили возможность WMS, отметив WMS на вкладке Настройка.
Число слоев в документе карты прямо сказывается на времени, затрачиваемом на первоначальное создание сервиса WMS или на запуск сервиса после его остановки. Время запуска сервиса можно сократить, удалив или объединив часть слоев в сервисе.
Сервисы WMS используют кэш картографического сервиса, если он имеется в наличии. Кэш картографического сервиса используется только при запросе исходного порядка сервиса и видимости слоев. Листы кэша пересчитываются в требуемый клиентом масштаб – это может занять время обработки и снизить качество изображений. Использование кэша даст наибольшее преимущество при наличии в сервисе WMS большого количества слоев или сложных символов, прорисовка которых динамическим образом займет слишком много времени. Если в карте содержатся только несколько слоев и несложные символы, то производительность будет выше при отсутствии кэша.
Примечание:
Опция Разрешить по запросу изменение порядка слоев и условных обозначений должна быть отключена в картографическом сервисе при запросах операций GetMap с использованием кэша сервиса. Если опция включена, запросы к операциям GetMap откроют доступ к источникам данных слоя сервиса.
Если сервис изображений настроен с несколькими шаблонами функций растра, то эти шаблоны будут доступны через подслои в WMS. Если сервис изображений построен на многомерном наборе данных мозаики, то переменные, заданные в этом наборе данных, будут доступны через подслои в WMS.
Примечание:
Сервисы WMS могут использовать только кэши картографических сервисов; кэши сервисов изображений не поддерживаются.
В сервисах WMS, созданных на основе картографического сервиса с пассивным кэшированием, при просмотре пользователем некэшированных областей будут создаваться листы кэша.
Если сервис WMS создан на базе сервиса изображений ArcGIS Server на основе набора данных мозаики, клиент может запрашивать конкретные растры в наборе данных. В этом случае запрос WMS GetMap будет иметь дополнительный параметр IMAGES (Изображения) – например, при IMAGES=1,2 будут запрошены изображения с object ID, значения которых равны 1 и 2 в таблице каталога сервиса изображений.
Настройка свойств сервиса WMS
Свойства сервиса WMS отражены в файле функций. Пользователь, обращающийся к сервису, может получить из этого файла информацию об авторе сервиса. При публикации сервиса WMS с файлами функций, сгенерированными системой (по умолчанию), рекомендуется указать значения свойств сервиса WMS. Информация о всех доступных свойствах сервиса WMS приведена в разделе Доступные свойства сервиса WMS. Кроме того, из следующих разделов вы сможете узнать, где именно настроить свойства сервиса WMS:
Настройка поддерживаемых сервисом WMS операций
Вы можете контролировать разрешенные операции сервиса WMS в Manager и в ArcGIS Pro. Например, если присутствует требование ограничения доступа к индивидуальной информации об объекте, отмените опцию GetFeatureInfo. Любые запросы на получение доступа к информации об объекте будут запрещены.
По умолчанию, в сервисе включены все операции. Доступными операциями являются:
- GetCapabilities - Возвращает клиенту информацию о функциональных возможностях в качестве ответа на запрос GetCapabilities.
- GetFeatureInfo - Возвращает клиенту объекты в качестве ответа на запрос GetFeatureInfo.
- GetLegendGraphic - Возвращает клиенту изображение легенды в качестве ответа на запрос GetLegendGraphic.
- GetMap - Возвращает клиенту изображение карты в качестве ответа на запрос GetMap.
- GetSchemaExtension - Возвращает клиенту схему в качестве ответа на запрос GetSchemaExtension.
- GetStyles - Возвращает клиенту информацию о доступных стилях в качестве ответа на запрос GetStyles.
Примечание:
Для полной совместимости с OGC WMS, включите (на a как минимум) операции GetCapabilities и GetMap.
Настройка свойств WMS с использованием внешнего файла функций
Другой способ определения метаданных состоит в использовании внешнего файла функций. Он позволяет включить для типов объектов дополнительные проекции, отличные от проекций по умолчанию. По умолчанию включены: система координат слоя или класса пространственных объектов и WGS84 (EPSG 4326).
Безопасность сервисов WMS
Безопасность сервиса ArcGIS Server WMS обеспечивается путем управления безопасностью его родительского сервиса карт или изображений. Если определенную роль, например Planners (проектировщики), лишить доступа к карте, то никакие (пользователи) в роли Planners не смогут получить доступ к этой карте, вне зависимости от того, используют ли они протоколы SOAP, REST или интерфейсы OGC (к примеру, WMS). ArcGIS Server поддерживает несколько схем авторизации, включая авторизацию на базе протокола HTTP (Basic и Digest), (Integrated Windows Authentication) и авторизацию ArcGIS Server на основе токенов (token-based).
Авторизация HTTP
Сервисы, доступ к которым предполагается через интерфейсы WMS, следует оградить авторизацией HTTP Basic или HTTP Digest. Распознавать эти стандартные схемы авторизации и работать с ними способны большинство клиентских приложений (как разработки Esri, так и сторонние продукты).
Управляемая ArcGIS Server аутентификация на основе токенов
Хотя это и не рекомендуется, сервис WMS все же может быть защищен с помощью управляемой ArcGIS Server аутентификации на основе токенов, если использовать этот тип аутентификации в родительском сервисе карт или изображений. Для авторизации запросов к сервису WMS при помощи токена, используется корректный токен, возвращенный сервисом токенов (токенов). Этот токен играет роль дополнительного параметра в посылаемых запросах. Другими словами, запрос к сервису WMS с авторизацией на основе токенов должен иметь следующий формат:
https://<WMS_service_url>?<standard WMS parameters>&token=<valid_tokenString>
Большинство сторонних клиентских приложений не смогут обращаться к сервису WMS, защищенному таким образом, но этот метод может использоваться в клиентских приложениях WMS, разработанных при помощи интерфейсов ArcGIS Maps SDK for JavaScript.
Использование сервисов WMS
Для подключения к сервису WMS необходимо знать его URL. Сервисы WMS, опубликованные на ArcGIS Server, имеют следующий формат URL:
https://gisserver.domain.com:6443/arcgis/services/folder/service/service type(can be MapServer or ImageServer)/WMSServer?
Помните, что функция WMS доступна как для картографических сервисов, так и для сервисов изображений. Поэтому тип сервиса может быть в двух вариантах.
Например, если картографический сервис Tokyo находится в папке Japan и запущен на сервере gisServer с номером порта 6443, то URL сервиса WMS на его основе будет иметь следующий вид:
https://gisserver:6443/arcgis/services/Japan/Tokyo/MapServer/WMSServer?
Если сервис изображений IdahoImages запущен на сервере gisServer с номером порта 6443, то URL сервиса WMS на его основе примет следующий вид:
https://gisserver:6443/arcgis/services/IdahoImages/ImageServer/WMSServer?
Типичные клиенты WMS
Простейшим клиентом сервиса WMS является веб-браузер. Запросы WMS можно отправлять по протоколу HTTP, а ответы или исключения будут возвращаться через браузер. Сервисы WMS могут поддерживать несколько операций: GetCapabilities, GetMap, GetFeatureInfo, GetStyles и GetLegendGraphic. С помощью параметров URL клиент может использовать эти операции и получать от сервиса WMS метаданные сервиса, информацию об объектах, сами карты, их символы и легенду. Эти операции и параметры подробно описаны в спецификации OGC WMS.
Просмотр информации о легенде в сервисе WMS
Сервисы WMS могут быть настроены для сообщения информации о символах слоев в сервисе. Клиентские приложения на основе этой информации могут составлять легенду карты. По умолчанию, при публикации сервисов WMS на ArcGIS Server, передача информации о легенде разрешена. Запретить передачу можно при помощи свойства Использовать имя слоя из документа карты. Дополнительную информацию см. в разделе Доступные свойства сервиса WMS.