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

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

Объект WMSMapRequest содержит свойства изменить географическую степень и время требуемой карты. Этот пример демонстрирует, как изменить вашу просьбу карты сопоставить температуру поверхности моря для океана, окружающего южный совет Африки. Смотрите страницу с описанием WMSMapRequest для полного списка свойств.

  1. Ищите Базу данных WMS все слои на Наблюдениях Земли НАСА (NEO) сервер WMS.

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

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

    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 путем ввода mapRequest.RequestURL в командной строке.

    Демонстрационный Вывод:

    ans =
    
    http://neowms.sci.gsfc.nasa.gov/wms/wms?...
       SERVICE=WMS...
       &LAYERS=BlueMarbleNG...
       &EXCEPTIONS=application/vnd.ogc.se_xml...
       &FORMAT=image/jpeg...
       &TRANSPARENT=FALSE...
       &HEIGHT=256...
       &BGCOLOR=0xFFFFFF...
       &REQUEST=GetMap&WIDTH=512...
       &BBOX=-180.0,-90.0,180.0,90.0...
       &STYLES=&SRS=EPSG:4326...
       &VERSION=1.1.1
    
  3. Измените ограничительную рамку, чтобы включать южное полушарие путем прямого изменения mapRequest.RequestURL. Введите следующее в командной строке:

    modifiedURL = 

    Затем введите длинный 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')
    

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

| |

Похожие темы