- Таблица содержания
- Получение информации о слое сервиса WMS
- Изменение отображения слоя WMS сервиса
- Изменение свойств слоя сервиса WMS
- Отображение слоя WMS сервиса в другой системе координат
- Запрашивание объектов из слоя WMS сервиса
- Печать и экспорт карты, содержащей слой сервиса
- Как обрабатываются ошибки 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 может значительно различаться. Иногда размер легенды, определенный сервером, слишком велик для отображения в таблице содержания ArcMap. Это обычно происходит, если легенда для слоя содержит несколько символов, например, слой транспорта, отображающий символы для разных типов дорог. С помощью WMS сервисов, легенды для слоев передаются по интернету как одно изображение, содержащее все символы. Хотя ArcMap поддерживает элементы легенды с несколькими символами в таблице содержания, для ArcMap нужно, чтобы эти элементы содержали несколько изображений, одно изображение на символ. ArcMap также устанавливает ограничение на размер, высоту и ширину (в пикселах) изображения, которое будет отображаться в таблице содержания. Если изображение, полученное для слоя в WMS сервисе превышает это ограничение, легенда для слоя не будет отображена легенда. Таким образом, эти слои перечислены в таблице содержания без символов и без элементов управления расширением. Если легенда WMS допустима, но не отображается в таблице содержания, вы можете просмотреть легенду на закладке Стили (Styles) диалогового окна Свойства слоя (Layer Properties) подслоя WMS.
Получение информации о слое сервиса WMS
На закладке Источник (Source) свойств слоя сервиса отображается такая информация, как экстент карты, тип данных (сервиса), URL, имя сервиса и система координат сервиса по умолчанию.
Вы можете получить информацию о каждом подслое WMS на закладке Источник (Source) свойств подслоев сервиса. Она включает возможности подслоя (поддерживает ли слой инструмент Идентифицировать (Identify)), доступна ли легенда для подслоя, систему координат по умолчанию и список поддерживаемых сервером систем координат для конкретного слоя.
На закладке Слои (Layers) отображается все содержание сервиса WMS. Предоставленная WMS сервисом информация для каждого WMS слоя отображается в окне слева наверху диалогового окна.
Кнопка Установить источник данных (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.
Если WMS сервис не поддерживает стили, вы увидите, что Легенда недоступна в окне предварительного просмотра. Так как вы выбираете разные стили в ниспадающем меню, информация в окне ввода текста и изображение в окне предварительно просмотра изменяются соответственно. Вы можете предварительно просмотреть любое количество перечисленных стилей. Стиль будет применен к слою только после того, как вы щелкните OK или Применить (Apply). Затем ArcMap отправляет новый запрос GetMap на WMS сервер, используя новый стиль.
На эту закладку также включена информация, описывающая данный стиль, высоту и ширину изображения условного обозначения в пикселах, URL для изображения условного обозначения и формат изображения.
Вы можете включить или выключить видимость сервиса и подслоев сервиса с помощью окошек в таблице содержания. Вы не можете переключить видимость надписей подслоя WMS.
При добавлении WMS сервиса в ArcMap, все слои этого сервиса доступны для отображения на карте, даже если вы добавляете один подслой WMS или один составной слой WMS. Хотя элемент таблицы содержания для слоя сервиса перечисляет только добавляемые подслои, вы все равно будете иметь доступ ко всему перечню подслоев в диалоговом окне Свойства слоя (Layer Properties) слоя сервиса. В случаях добавления всего сервиса WMS, элемент таблицы содержания для слоя сервиса будет включать все слои и группы, используя порядок прорисовки, определенный автором сервиса. Некоторые WMS сервисы содержат большое количество слоев и больше похожи на наборы данных, чем на отдельные карты.
Закладка Слои (Layers) позволяет выбирать, какие подслои WMS сервиса будут отображаться на карте. Если вы хотите удалить некоторые подслои из карты и из таблицы содержания, просто используйте опцию Только перечисленные слои (Just the layers listed below) и не включайте их в список. Вы также можете контролировать видимость слоя и порядок прорисовки.
На левой стороне диалогового окна вы увидите все составные слои WMS и подслои WMS для перечисленного сервиса. Группировка, имена и порядок слоев в этом списке отражает напрямую способ организации и представления данных выбранный автором картографического сервиса WMS. Их может изменить только автор сервиса. Однако, щелкнув Только перечисленные слои на правой стороне закладки, вы сможете настроить, какие слои WMS сервиса будут включены в запись в таблице содержания, вы сможете добавлять и удалять конкретные подслои WMS с карты, а также контролировать видимость слоя и порядок прорисовки. Если вы используете эту опцию, то любые группы, в которые были организованны слои издателем сервиса, не будут указываться в таблице содержания. Выбираемые слои появятся в прямом, разгруппированном списке так же, как они появляются справа в списке.
Чтобы поменять порядок прорисовки, щелкните опцию Только перечисленные слои (Just the layers listed below) и переместите нужные подслои WMS на правую сторону диалогового окна. Теперь вы можете выбрать подслои WMS и использовать стрелки, чтобы перемещать их наверх и вниз в иерархии для изменения порядка прорисовки.
Шаги
- Щелкните правой кнопкой слой WMS сервиса в таблице содержания, затем щелкните Свойства (Properties).
- Щелкните закладку Слои (Layers).
- Щелкните Только перечисленные слои (Just the layers listed below).
- Щелкните слой или слои, которые вы хотите отразить в таблице содержания. Вы можете, удерживая CTRL или SHIFT, чтобы выбрать несколько подслоев WMS.
- Нажмите стрелку вправо , чтобы добавить выбранные слои, или двойную стрелку вправо , чтобы добавить все подслои WMS. Также можно нажать стрелку с отметкой , чтобы добавить только видимые слои.
- Нажмите стрелку влево , чтобы удалить выбранные слои, или двойную стрелку влево , чтобы удалить все подслои WMS.
- Нажмите ОК.
Когда вы примените эти изменения, вы увидите обновления в таблице содержания, а на карте будет отражен новый порядок прорисовки. ArcMap отправляет новый запрос на WMS сервер для учета нового порядка прорисовки.
Вы можете поменять цвет фона слоя сервиса, установить прозрачность какого-либо цвета, применить уровень прозрачности к слою сервиса или изменить тип изображения, полученного из сервера, с использованием опций, доступных на закладке Дополнительно (Advanced).
Многие сервисы веб-карт поддерживают несколько форматов изображений. Если 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). В этом ниспадающем списке отображаются только те форматы, которые поддерживаются сервисом. Вы не можете выбрать формат, не поддерживаемый сервисом.
Визуализация временных данных помогает в пошаговом выполнении данных, и вы увидите модели или тренды, которые возникают с течением времени. В ArcMap, ArcGlobe или ArcScene вы можете включить ваши временные данные, чтобы они участвовали во временном отображении, и визуализировать их с помощью простого счетчика времени, который изменяет данные в отображении или в диаграмме с течением времени. Если сервис поддерживает время, вы увидите закладку Время (Time) диалогового окна Свойства слоя (Layer Properties). Более подробно об отображении времени см. раздел Использование бегнка времени для визуализации ваших данных во времени
Изменение свойств слоя сервиса WMS
Есть несколько свойств, которые можно изменять для слоя сервиса, например, изменение имени слоя сервиса, изменение описания и установка диапазонов масштаба видимости или формата изображения, выдаваемого сервером.
Вы можете изменить имя слоя сервиса, щелкнув слой сервиса в таблице содержания и введя новое имя, или открыв закладку Общие (General) диалогового окна Свойства слоя (Layer Properties) и введя новое имя там. Окно ввода текста Описание (Description) изначально заполняется кратким описанием, если оно предоставлено сервисом. Вы можете изменить описание для слоев WMS сервиса, но окно ввода текста Описание (Description) для группы и подслоев WMS в WMS сервисе используется только для чтения.
Вы можете установить диапазоны видимости на слое сервиса, где все содержащиеся в нем подслои прорисовываются, только если карта находится в определенном диапазоне масштаба. Устанавливая диапазон масштаба на слое сервиса, вы можете избежать отправки запросов изображений на сервер в масштабах карты, которые не соответствуют данным слоя. Вы устанавливаете диапазоны масштаба на закладке Общие (General) диалогового окна Свойства слоя (Layer Properties). Диапазоны масштаба можно установить только на уровне сервиса для сервисов карты. Вы не можете установить их для подслоев сервиса.
Вот некоторые пункты, которые надо иметь ввиду при взаимодействии с подслоями WMS в разных масштабах карты:
- ArcMap может не прорисовывать подслои WMS именно в их заявленных масштабах. Это происходит из-за различий в разрешении между WMS сервером и ArcMap. Возможно, вам следует настроить масштаб карты, чтобы подслой прорисовывался.
- Подслой WMS может вести себя, как будто он имеет зависимость масштаба и не прорисовывается вне определенного диапазона масштаба, пока о диапазоне масштаба не сообщено на закладке Общие (General) диалогового окна Свойства слоя (Layer Properties) подслоя. Так как сообщение о диапазоне масштаба - дополнительная опция спецификации OGC WMS, некоторые WMS серверы опускают эту информацию. В этих случаях подслой будет прорисовываться в корректном диапазоне масштаба, но ArcMap не будет показывать этот диапазон масштаба на закладке Общие (General). ArcMap не может определить диапазоны масштаба для слоев WMS и может предоставить только информацию, данную ему 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 сервиса, всегда называется 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), так что слой не прорисовывается в очень маленьких масштабах. Это предотвратит появление сообщений об ошибках, если слой не может быть прорисован.