exponenta event banner

Изменение запроса карты

Установка географических пределов и времени запроса карты

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

  1. Поиск всех уровней в базе данных WMS на сервере WMS NASA's Earth Observations (NEO).

    neowms = wmsfind('neowms', 'SearchField', 'serverurl');
  2. Уточните поиск, чтобы включить только слои с 'sea surface temperature' в полях заголовка слоя или имени слоя базы данных WMS.

    sst = neowms.refine('sea surface temperature');
    
  3. Уточните поиск, чтобы включить только слои с ежемесячными значениями от датчика MODIS на спутнике Aqua.

    sst = sst.refine('month*modis');
    
  4. Построить WebMapServer из URL-адреса сервера, сохраненного в ServerURL имущества WMSLayer объект sst.

    server = WebMapServer(sst(1).ServerURL);
    
  5. Построить WebMapRequest объект из WMSLayer массив и WebMapServer объект.

    mapRequest = WMSMapRequest(sst, server);
    
  6. Используйте Latlim и Lonlim свойства WMSMapRequest для установки пределов широты и долготы.

    mapRequest.Latlim = [-45 -25];
    mapRequest.Lonlim = [15 35];
    
  7. Установите запрос времени на 1 марта 2009 года.

    mapRequest.Time = '2009-03-01';
    
  8. Отправьте запрос на сервер с помощью WebMapServer.getMap способ. Пройти в WMSMapRequest.RequestURL.

    sstImage = server.getMap(mapRequest.RequestURL);
    
  9. Настройте пустые оси карты с указанными географическими пределами.

    figure
    worldmap(mapRequest.Latlim, mapRequest.Lonlim);
    setm(gca, 'mlabelparallel', -45)
  10. Проецирование и отображение изображения, привязанного к широте и долготе. Используйте объект ссылки растра, предоставленный RasterReference имущества WMSMapRequest объект.

    geoshow(sstImage, mapRequest.RasterReference);
    title({'South Africa', sst.LayerTitle}, ...
        'FontWeight', 'bold', 'Interpreter', 'none')

Изменить URL-адрес запроса веб-карты вручную

URL-адрес запроса карты можно изменить вручную.

  1. Получение URL-адреса запроса карты.

    nasa = wmsfind('nasa', 'SearchField', 'serverurl');
    layer = nasa.refine('bluemarbleng', 'SearchField', 'layername', ...
       'MatchType', 'exact');
    layer = layer(1);
    mapRequest = WMSMapRequest(layer);
    
  2. Задайте для URL-адреса запроса карты переменную.

    mapURL = mapRequest.RequestURL;
  3. Измените ограничительную рамку, включив в нее южное полушарие. Для этого создайте новую переменную с именем modifiedURL путем копирования и вставки содержимого mapURL. Затем измените раздел ограничительной рамки URL на:

    &BBOX=-180.0,-90.0,180.0,0.0

    Введите URL как один непрерывный символьный вектор.

  4. Отображение измененной карты.

    [A, R] = wmsread(modifiedURL);
    figure
    axesm globe
    axis off
    geoshow(A, R)
    title('Blue Marble: Southern Hemisphere Edition')
    

    Изображение предоставлено НАСА/JPL-Caltech.

См. также

| |

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