Сервисы 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, поддерживают следующие операции:
- Запрос метаданных о сервисе (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. Существует также раздел справки Esri, посвященный поддержке сервисов OGC в ArcGIS.
Публикация сервиса WMS
Существует два способа публикации сервиса WMS:
- Публикация картографического сервиса с активированной функцией 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), Встроенную аутентификацию Windows (Integrated Windows Authentication) и авторизацию ArcGIS Server на основе токенов (token-based).
Встроенная аутентификация Windows
Сервисы, доступ к которым предполагается через интерфейсы WMS, следует оградить авторизацией HTTP Basic, HTTP Digest или Встроенной аутентификацией Windows (Integrated Windows Authentication). Распознавать эти стандартные схемы авторизации и работать с ними способны большинство клиентских приложений (как разработки 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://gisserver.domain.com:6080/services/папка/сервис/тип сервиса (может быть MapServer, ImageServer или GeoDataServer)/WCSServer?
Помните, что функция WMS доступна как для картографических сервисов, так и для сервисов изображений. Поэтому тип сервиса может быть в двух вариантах.
Например, если картографический сервис Tokyo находится в папке Japan и запущен на сервере gisserver с номером порта 6080, то URL сервиса WMS на его основе будет иметь следующий вид:
http://gisserver:6080/arcgis/services/Japan/Tokyo/MapServer/WMSServer?
Если сервис изображений IdahoImages запущен на сервере myServer с номером порта 6080, то URL сервиса WMS на его основе примет следующий вид:
http://gisserver: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).