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

Сервисы Web Mapping Service (WMS) могут использоваться в ArcMap (а также в ArcScene и ArcGlobe) в качестве слоев карты. Ниже приведены основные задачи для работы со слоями сервиса WMS.

Таблица содержания

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

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

Записи в таблице содержания для WMS сервиса

Обратите внимание на линию, соединяющую вместе подслои. Эта линия запрещает вам вставлять слой в слой этого сервиса (группы) или разбивать слой сервиса на составляющие его подслои.

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

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

Размер легенды (условных обозначений) WMS может значительно различаться. Иногда размер легенды, определенный сервером, слишком велик для отображения в таблице содержания ArcMap. Это обычно происходит, если легенда для слоя содержит несколько символов, например, слой транспорта, отображающий символы для разных типов дорог. С помощью WMS сервисов, легенды для слоев передаются по интернету как одно изображение, содержащее все символы. Хотя ArcMap поддерживает элементы легенды с несколькими символами в таблице содержания, для ArcMap нужно, чтобы эти элементы содержали несколько изображений, одно изображение на символ. ArcMap также устанавливает ограничение на размер, высоту и ширину (в пикселах) изображения, которое будет отображаться в таблице содержания. Если изображение, полученное для слоя в WMS сервисе превышает это ограничение, легенда для слоя не будет отображена легенда. Таким образом, эти слои перечислены в таблице содержания без символов и без элементов управления расширением. Если легенда WMS допустима, но не отображается в таблице содержания, вы можете просмотреть легенду на закладке Стили (Styles) диалогового окна Свойства слоя (Layer Properties) подслоя WMS.

Получение информации о слое сервиса WMS

На закладке Источник (Source) свойств слоя сервиса отображается такая информация, как экстент карты, тип данных (сервиса), URL, имя сервиса и система координат сервиса по умолчанию.

Информация об источнике данных сервиса WMS

Вы можете получить информацию о каждом подслое WMS на закладке Источник (Source) свойств подслоев сервиса. Она включает возможности подслоя (поддерживает ли слой инструмент Идентифицировать (Identify)), доступна ли легенда для подслоя, систему координат по умолчанию и список поддерживаемых сервером систем координат для конкретного слоя.

Информация об источнике данных для подслоя сервиса WMS
ПримечаниеПримечание:

Показанное имя слоя может отличаться от имени слоя в таблице содержания на закладке Общие (General). Это происходит потому, что текст, используемый для имени слоя на закладке Источник (Source), взят из тега <Name> в файле возможностей (capabilities) WMS сервиса, который является файлом для описания сервиса. Но ArcMap использует более описательный тег <Title> из файла возможностей, чтобы заполнить имя слоя для таблицы содержания и закладки Общие (General).

На закладке Слои (Layers) отображается все содержание сервиса WMS. Предоставленная WMS сервисом информация для каждого WMS слоя отображается в окне слева наверху диалогового окна.

Закладка Слои WMS сервиса (WMS service Layers)

Кнопка Установить источник данных (Set Data Source) на закладке Источник (Source) позволяет восстановить слой картографического сервиса в случае, если по какой-либо причине связь с сервером в момент открытия карты была прервана. На необходимость восстановления слоя указывают ряд признаков: слой не отображается, в таблице содержания окошко с отметкой у названия слоя недоступно, рядом с этим окошком стоит красный восклицательный знак.

С помощью этой кнопки также можно указать для этого слоя другой сервис WMS. Вы не можете выбрать другой тип сервиса, чтобы установить источник данных. Например, вы не можете заменить сервис WMS картографическим сервисом ArcGIS for Server, используя команду Установить источник данных (Set Data Source). Если вы желаете это сделать, то вам необходимо вручную удалить сервис WMS из карты и вручную добавить картографический сервис ArcGIS for Server.

Приложение только восстанавливает/замещает источник данных для текущего слоя сервиса, даже если источники данных других сервисных слоев, которые нуждаются в восстановлении, находятся на том же сервере. Вам следует обновлять эти слои по-отдельности.

Изменение отображения слоя WMS сервиса

Существует ряд операций, которые вы можете сделать для отображения слоя веб-карты. Они включают изменение символов объектов, переключение видимости слоя или надписи, изменение порядка прорисовки подслоев сервиса, установку фона для сервиса, применение прозрачности и (если поддерживается сервисом) визуализацию сервиса на основе параметра времени.

В зависимости от того, как WMS сервис был создан автором, у вас может быть возможность изменять способ отображения WMS слоя. Способ отображения WMS слоя определяется стилем. Стиль состоит из символов и цвета, используемых для представления пространственных объектов в WMS сервисе. Спецификация WMS допускает, чтобы WMS слой содержал любое количество стилей. Вы можете выбрать из доступных стилей, используя закладку Стили (Styles) диалогового окна Свойства слоя (Layer Properties) подслоя сервиса WMS.

Закладка Стили (Styles) диалогового окна Свойства WMS слоя (WMS Layer Properties)

Если WMS сервис не поддерживает стили, вы увидите, что Легенда недоступна в окне предварительного просмотра. Так как вы выбираете разные стили в ниспадающем меню, информация в окне ввода текста и изображение в окне предварительно просмотра изменяются соответственно. Вы можете предварительно просмотреть любое количество перечисленных стилей. Стиль будет применен к слою только после того, как вы щелкните OK или Применить (Apply). Затем ArcMap отправляет новый запрос GetMap на WMS сервер, используя новый стиль.

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

ПримечаниеПримечание:

Изменение способа отображения WMS слоя в ArcMap ограничивается заданными стилями, описанными в файле возможностей сервиса.

Более подробную информацию о спецификациях OGC WMS см. на сайте OGC: www.opengeospatial.org/standards.

Вы можете включить или выключить видимость сервиса и подслоев сервиса с помощью окошек в таблице содержания. Вы не можете переключить видимость надписей подслоя WMS.

При добавлении WMS сервиса в ArcMap, все слои этого сервиса доступны для отображения на карте, даже если вы добавляете один подслой WMS или один составной слой WMS. Хотя элемент таблицы содержания для слоя сервиса перечисляет только добавляемые подслои, вы все равно будете иметь доступ ко всему перечню подслоев в диалоговом окне Свойства слоя (Layer Properties) слоя сервиса. В случаях добавления всего сервиса WMS, элемент таблицы содержания для слоя сервиса будет включать все слои и группы, используя порядок прорисовки, определенный автором сервиса. Некоторые WMS сервисы содержат большое количество слоев и больше похожи на наборы данных, чем на отдельные карты.

Закладка Слои (Layers) позволяет выбирать, какие подслои WMS сервиса будут отображаться на карте. Если вы хотите удалить некоторые подслои из карты и из таблицы содержания, просто используйте опцию Только перечисленные слои (Just the layers listed below) и не включайте их в список. Вы также можете контролировать видимость слоя и порядок прорисовки.

Закладка Слои WMS сервиса (WMS service Layers)

На левой стороне диалогового окна вы увидите все составные слои WMS и подслои WMS для перечисленного сервиса. Группировка, имена и порядок слоев в этом списке отражает напрямую способ организации и представления данных выбранный автором картографического сервиса WMS. Их может изменить только автор сервиса. Однако, щелкнув Только перечисленные слои на правой стороне закладки, вы сможете настроить, какие слои WMS сервиса будут включены в запись в таблице содержания, вы сможете добавлять и удалять конкретные подслои WMS с карты, а также контролировать видимость слоя и порядок прорисовки. Если вы используете эту опцию, то любые группы, в которые были организованны слои издателем сервиса, не будут указываться в таблице содержания. Выбираемые слои появятся в прямом, разгруппированном списке так же, как они появляются справа в списке.

Чтобы поменять порядок прорисовки, щелкните опцию Только перечисленные слои (Just the layers listed below) и переместите нужные подслои WMS на правую сторону диалогового окна. Теперь вы можете выбрать подслои WMS и использовать стрелки, чтобы перемещать их наверх и вниз в иерархии для изменения порядка прорисовки.

Шаги

  1. Щелкните правой кнопкой слой WMS сервиса в таблице содержания, затем щелкните Свойства (Properties).
  2. Щелкните закладку Слои (Layers).
  3. Щелкните Только перечисленные слои (Just the layers listed below).
  4. Щелкните слой или слои, которые вы хотите отразить в таблице содержания. Вы можете, удерживая CTRL или SHIFT, чтобы выбрать несколько подслоев WMS.
  5. Нажмите стрелку вправо Добавить выбранные слои , чтобы добавить выбранные слои, или двойную стрелку вправо Добавить все слои , чтобы добавить все подслои WMS. Также можно нажать стрелку с отметкой Добавить видимые слои , чтобы добавить только видимые слои.
  6. Нажмите стрелку влево Удалить выбранные слои , чтобы удалить выбранные слои, или двойную стрелку влево Удалить все слои , чтобы удалить все подслои WMS.
  7. Нажмите ОК.

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

ПодсказкаПодсказка:
Вы можете использовать закладку Слои (Layers), чтобы добавлять или удалять конкретные подслои WMS таблицы содержания. Если вы используете опцию Все слои (All layers) для добавления всех групп WMS и подслоев WMS обратно в таблицу содержания, видимость для всех этих слоев будет отключена.

Вы можете поменять цвет фона слоя сервиса, установить прозрачность какого-либо цвета, применить уровень прозрачности к слою сервиса или изменить тип изображения, полученного из сервера, с использованием опций, доступных на закладке Дополнительно (Advanced).

Закладка Дополнительно (Advanced) в диалоговом окне Свойства слоя (Layer Properties) для слоев картографических сервисов ArcGIS

Многие сервисы веб-карт поддерживают несколько форматов изображений. Если WMS сервер поддерживает формат PNG, ArcMap будет по умолчанию запрашивать изображения в PNG. PNG - это общий целевой формат, который не уменьшит качество изображения, по этой причине от выбирается по умолчанию. PNG выдает изображения высокого качества и поддерживает прозрачность. Однако, размер файла может быть намного больше, чем в других форматах, и может медленнее загружаться с сервера. JPEG может быть намного быстрее, т.к. его размер может быть намного меньше, чем в PNG. Однако, JPEG не поддерживает прозрачность. JPEG на самом деле является единственным подходящим форматом для снимков. Например, JPEG мог бы быть хорошим выбором, если вы используете слой WMS на основе снимков в качестве базовой карты. Также, выбор JPEG в ниспадающем списке Формат изображения в слое (Layer Image Format) мог бы увеличить производительность. Конечно, WMS сервер должен поддерживать JPEG, чтобы быть доступным. Если вы накладываете WMS сервис поверх другого слоя или хотите, чтобы было доступно высокое качество изображения, вам следует использовать PNG (при условии, что WMS сервер поддерживает этот формат).

Чтобы выбрать доступный формат изображения, перейдите на закладку Дополнительно (Advanced) диалогового окна Свойства слоя (Layer Properties) и выберите формат из ниспадающего списка Формат изображения слоя (Layer Image Format). В этом ниспадающем списке отображаются только те форматы, которые поддерживаются сервисом. Вы не можете выбрать формат, не поддерживаемый сервисом.

ВниманиеВнимание:

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

Визуализация временных данных помогает в пошаговом выполнении данных, и вы увидите модели или тренды, которые возникают с течением времени. В ArcMap, ArcGlobe или ArcScene вы можете включить ваши временные данные, чтобы они участвовали во временном отображении, и визуализировать их с помощью простого счетчика времени, который изменяет данные в отображении или в диаграмме с течением времени. Если сервис поддерживает время, вы увидите закладку Время (Time) диалогового окна Свойства слоя (Layer Properties). Более подробно об отображении времени см. раздел Использование бегнка времени для визуализации ваших данных во времени

Изменение свойств слоя сервиса WMS

Есть несколько свойств, которые можно изменять для слоя сервиса, например, изменение имени слоя сервиса, изменение описания и установка диапазонов масштаба видимости или формата изображения, выдаваемого сервером.

Вы можете изменить имя слоя сервиса, щелкнув слой сервиса в таблице содержания и введя новое имя, или открыв закладку Общие (General) диалогового окна Свойства слоя (Layer Properties) и введя новое имя там. Окно ввода текста Описание (Description) изначально заполняется кратким описанием, если оно предоставлено сервисом. Вы можете изменить описание для слоев WMS сервиса, но окно ввода текста Описание (Description) для группы и подслоев WMS в WMS сервисе используется только для чтения.

Вы можете установить диапазоны видимости на слое сервиса, где все содержащиеся в нем подслои прорисовываются, только если карта находится в определенном диапазоне масштаба. Устанавливая диапазон масштаба на слое сервиса, вы можете избежать отправки запросов изображений на сервер в масштабах карты, которые не соответствуют данным слоя. Вы устанавливаете диапазоны масштаба на закладке Общие (General) диалогового окна Свойства слоя (Layer Properties). Диапазоны масштаба можно установить только на уровне сервиса для сервисов карты. Вы не можете установить их для подслоев сервиса.

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

Более подробно об отображении слоев в указанных масштабах

Отображение слоя WMS сервиса в другой системе координат

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

Если система координат фрейма данных не поддерживается WMS сервером, ArcMap получает изображение из сервера в поддерживаемой системе координат (в большинстве случаев, это будет GCS 1984) и внутренне проецирует это изображение так, что оно будет отображено на карте. Другими словами, ArcMap спроецирует это изображение на лету. В зависимости от используемой фреймом данных системы координат, в отображении слоя WMS могут быть некоторые уровни искажения (наиболее заметны, если слой содержит текст). Преимущество использования только тех систем координат, которые поддерживаются WMS сервером, состоит в том, что изображение, которое выдает WMS сервер, в дальнейшем не обрабатывается, чтобы оно могло вписаться в неподдерживаемую систему координат.

Более подробно см.Как выбрать систему координат, поддерживаемую WMS сервером.

Запрашивание объектов из слоя WMS сервиса

Идентифицирование объектов - это единственная задача запроса, которую вы можете выполнить со слоями WMS, хотя формат информации, которую вы получаете, может варьироваться в зависимости от сервера. ArcMap отображает, что возвоащает сервер внутри элемента управления Internet Explorer, встроенного в окно Идентифицировать (Identify). Результаты запроса Идентифицировать (Identify) могут быть предоставлены как пары поле/значение, HTML, или изображения.

По спецификации OGC WMS, WMS сервисы не запрашиваются для поддержки <GetFeatureInfo>, являющейся запросом, который ArcMap отправляет на сервер, когда вы запрашиваете объекты WMS сервиса. Если сервис поддерживает идентификацию, как показано на рисунке ниже, вы увидите его подслои, перечисленные в окне Идентифицировать (Identify). Если вы не видите их, вы не сможете идентифицировать объекты из WMS сервиса.

Слой сервиса WMS, который поддерживает идентификацию, так как его подслои были перечислены в списке Идентифицировать (Identify)

Так как нет параметра поля первичного отображения для объекта, идентифицированного в слое WMS сервиса, узел дерева Идентифицировать (Identify), представляющий объекты слоя WMS сервиса, всегда называется WMS Feature(s).

При идентификации объекта из слоя WMS сервиса вам следует использовать опцию <Видимые слои (Visible Layers)> , которая идентифицирует объекты во всех видимых слоях WMS сервиса, или же вам следует выбрать конкретный слой, который вы хотите идентифицировать. Это необходимо потому, что опция по умолчанию <Верхний слой (Top-most layer)> не может работать так, как вы хотите. Если вы используете эту опцию и щелкаете карту, инструмент Идентифицировать (Identify) будет работать только с объектами из верхнего слоя в иерархии прорисовки WMS сервиса. Если в этом местоположении слоя не представлены объекты, эта опция автоматически не идентифицирует объекты нижних слоев в иерархии прорисовки, как в других типах слоев, например базовые шейп-файлы или классы пространственных объектов базы геоданных. Вместо этого вы получите нулевые результаты. Это ограничение WMS серверов.

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

Печать и экспорт карты, содержащей слой сервиса

Вы можете распечатать или экспортировать карты, содержащие слои сервиса. Однако, вам следует избегать ограничений, которые запрещают вам работать с основанными на изображении сервисами. Более подробно см.Печать и экспорт карты, содержащей слой сервиса.

Как обрабатываются ошибки WMS сервера

Иногда вы можете получать сообщение об ошибке от определенных WMS сервисов при добавлении их на карту. Как и с любым картографическим сервисом, основанным на изображениях, если ArcMap пытается прорисовать WMS сервис на карте, он отправляет запрос для изображения на WMS сервер, обеспечивающий этот сервис. Если сервер вместо изображения выдает ошибку, ArcMap отобразит это сообщение об ошибке. Эти сообщения об ошибках, которые появляются всякий раз, как вы заново прорисовываете карту, отражают проблемы с WMS сервисом и, как правило, не могут быть устранены в ArcMap. ArcMap отображает эти сообщения, чтобы предупредить вас, что что-то не так с WMS сервисом, как ожидает ArcMap, а также чтобы обеспечить основные диагностические возможности. Однако, поскольку эти ошибки могут существенно различаться между разными WMS серверами, ArcMap трудно определить точную проблему. В результате сообщения об ошибках носят довольно общий характер, и может быть неясно, в чем состоит проблема. Например ошибка может быть вызвана конкретным слоем, принадлежащим WMS сервису или определенной комбинации слоев.

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

Обратите внимание, что если вы получаете сообщение об ошибке из WMS сервиса, это не обязательно означает, что вы не сможете прорисовать этот сервис на карте. Например некоторые WMS сервисы могут выдавать ошибку Ограничивающая рамка имеет некорректную область (Bounding box has an invalid area), когда вы пытаетесь прорисовать их в очень маленьком масштабе, но сервис будет прорисовываться, и это сообщение об ошибке не будет возникать, если вы увеличите изображение до большего масштаба. В этом случае вам следует определить диапазон масштаба для слоя WMS сервиса, используя закладку Общие (General) диалогового окна Свойства слоя (Layer Properties), так что слой не прорисовывается в очень маленьких масштабах. Это предотвратит появление сообщений об ошибках, если слой не может быть прорисован.

Связанные темы

5/10/2014