WMSLayer

Описание

Объект WMSLayer описывает слой Web Map Service (WMS) или слои.

Создание

Можно создать объект WMSLayer с помощью любого из следующих методов:

  • wmsfind — Возвращает массив WMSLayer.

  • wmsinfo — Возвращает объект WMSCapabilities, который содержит массив объектов WMSLayer в его свойстве Layer.

  • Функция создания объекта WMSLayer, описанная здесь.

layers = WMSLayer(Name,Value,...)

Описание

пример

layers = WMSLayer(Name,Value,...) создает объект WMSLayer, где Name является именем любого свойства WMSLayer, и Value является значением, которое вы хотите присвоить свойству. Можно задать несколько аргументов пары "имя-значение" в любом порядке как Name1,Value1,...,NameN,ValueN. Размер вывода layers является скаляром, если все входные параметры не являются массивами ячеек, в этом случае, размер layers совпадает с размером массивов ячеек.

Свойства

развернуть все

Описательная информация о сервере, заданном как вектор символов.

Типы данных: char

URL Сервера WMS, заданного как вектор символов.

Типы данных: char

Описательная информация о слое, заданном как вектор символов. LayerTitle разъясняет значение растровых значений слоя.

Типы данных: char

Ключевое слово использование сервера, чтобы получить слой, заданный как вектор символов.

Типы данных: char

Пределы широты слоя в модулях степеней, заданных как двухэлементный числовой вектор. Пределы задают южные и северные пределы широты и должны быть в модулях степеней и в области значений [-90, 90].

Типы данных: double

Пределы долготы слоя в модулях степеней, заданных как двухэлементный числовой вектор. Пределы задают западные и восточные пределы долготы и должны возрастать и в области значений [-180, 180] или [0, 360].

Типы данных: double

Информация о слое, заданном как вектор символов.

Типы данных: char

Коды, идентифицирующие доступные координатные ссылочные системы, заданные как массив ячеек из символьных векторов.

Типы данных: cell

Подробная информация о слое, заданном как структура, содержащая: MetadataURL, Атрибуты, Шкала, Размерность, Стиль. Смотрите страницу с описанием WMSLayer.Details для получения дополнительной информации.

Типы данных: struct

Функции объекта

disp Отобразите свойства слоев WMS или возможностей
refineСовершенствуйте поиск слоев WMS
refineLimits Совершенствуйте поиск слоев WMS на основе географических пределов
servers Возвратите URL уникальных серверов WMS
serverTitles Возвратите заголовки уникальных серверов WMS

Примеры

свернуть все

Задайте сервер URL. Эти значения обычно находятся во время интернет-поиска. Значение ServerURL WMSLayer получено из хоста и пути запроса URL. Значение LayerName WMSLayer получено из значения LAYERS в части запроса URL.

host = 'www.mrlc.gov'; 
path = '/arcgis/services/NLCD/USGS_EDC_LandCover_NLCD/MapServer/WMSServer?'; 
serverURL = ['https://' host path]; 
requestURL = [serverURL 'SERVICE=WMS&FORMAT=image/jpeg&REQUEST=GetMap&' ...
     'STYLES=&SRS=EPSG:4326&VERSION=1.1.1&LAYERS=NLCD_2011_Land_Cover&', ... 
     'WIDTH=1024&HEIGHT=470&BBOX=-128,23,-65,51']; 
layerName = 'NLCD_2011_Land_Cover';

Создайте объект WMSLayer при помощи переменной serverURL и значения параметра LAYERS WMS.

layer = WMSLayer('ServerURL', serverURL,'LayerName',layerName);

Используйте функцию wmsupdate, чтобы получить другие свойства массива WMSLayer с сервера. Национальный Сервер Карты может быть занятым, таким образом пробуйте несколько раз.

updatedLayer = wmsupdate(layer); 
if isempty(updatedLayer) 
    numAttempts = 1; 
    maxAttempts = 10; 
    delay = 1; 
    while isempty(updatedLayer) && numAttempts < maxAttempts 
          updatedLayer = wmsupdate(layer); 
          pause(delay) 
          numAttempts = numAttempts + 1; 
    end 
end 
layer = updatedLayer; 

Получите изображение из слоя использования сервера WMS, и значения параметров от GetMap WMS запрашивают URL. Установите пределы широты и долготы от значения запроса BBOX. Установите значения высоты изображения и ширины от WIDTH и значения запроса HEIGHT.

lonlim = [-128 -65];
latlim = [23 51]; 
height = 470; 
width = 1024; 
[A, R] = wmsread(layer,'Latlim',latlim,'Lonlim',lonlim, ... 
       'ImageHeight',height,'ImageWidth',width); 

Отобразите изображение с сервера.

figure
usamap(A, R)
geoshow(A, R)
title(layer.LayerTitle, 'Interpreter', 'none')

Изображение может также быть получено с помощью requestURL WMS.

[A, R] = wmsread(requestURL);

Смотрите также

Функции

Объекты

Представленный в R2009b