updateLayers

Обновите свойства слоя

Описание

пример

[updatedLayer,index] = updateLayers(server,layer) возвращает массив WMSLayer объекты и обновления свойства слоя со значениями с веб-сервера карты, server. WMSLayer массив layer должен содержать только один уникальный ServerURL. updateLayers функция удаляет слои, более не доступные на сервере. Логический массив index содержит true для каждого доступного слоя.

Примеры

свернуть все

Обновите свойства глобального мозаичного слоя MODIS, полученного из наблюдений Земли НАСА сервер WMS.

Ищите Базу данных WMS слой.

nasa = wmsfind('NASA Earth Observations','SearchField','any');
modis = refine(nasa,'land*day*month');
modis = modis(1);

Создайте веб-серверный объект карты путем определения сервера URL слоя.

server = WebMapServer(modis.ServerURL);

Обновите свойства слоя путем определения сервера и слоя.

updatedLayer = updateLayers(server,modis);

Считайте и отобразите карту.

mapRequest = WMSMapRequest(updatedLayer,server);
A = getMap(server,mapRequest.RequestURL);
R = mapRequest.RasterReference;

figure
ax = worldmap('world');
geoshow(A,R)
setm(ax,'MLabelParallel',-90,'MLabelLocation',90)
title({'MODIS Global Mosaic',modis.LayerTitle})

Слой, используемый в этом примере, является любезностью системы наблюдения Земли НАСА.

Ищите Базу данных WMS слои с серверов USGS, которые содержат слово "формирование изображений" в сервере URL.

usgsLayers = wmsfind('usgs*imagery','SearchField','serverurl');

Создайте массив под названием updatedLayers. Используйте цикл, чтобы найти слои для отдельных серверов, обновить свойства слоев и добавить обновленные слои к массиву. Отобразите сообщение к командной строке, если сервер не отвечает.

updatedLayers = [];
serverURLs = usgsLayers.servers;

for k=1:numel(serverURLs)
   serverLayers = refine(usgsLayers, serverURLs{k}, ...
          'SearchField','serverurl','MatchType','exact');
   serverURL = serverLayers(1).ServerURL;
   server = WebMapServer(serverURL);
   try
      layers = updateLayers(server,serverLayers);
      % Grow using concatenation because layers can have any
      % length ranging from 0 to numel(serverLayers).
      updatedLayers = [updatedLayers; layers];
   catch e
       fprintf('Server %s is not responding.\n', ...
              serverURL);
       fprintf('Error message is %s\n', e.message)
    end
end 

Входные параметры

свернуть все

Веб-сервер карты в виде массива WebMapServer объекты.

Веб-слой картографического сервиса в виде WMSLayer объект.

Выходные аргументы

свернуть все

Обновленные веб-слои картографического сервиса, возвращенные как массив WMSLayer объекты. updatedLayers имеет тот же размер как layer(index).

Доступность слоев, возвращенных как логический массив. index содержит true для каждого доступного слоя.

Советы

updateLayers получает доступ к Интернету, чтобы обновить свойства. Иногда, сервер WMS недоступен, или несколько минут протекают, прежде чем свойства обновляются.

Представлено до R2006a