Объект WMSMapRequest
содержит свойства изменить географическую степень и время требуемой карты. Этот пример демонстрирует, как изменить вашу просьбу карты сопоставить температуру поверхности моря для океана, окружающего южный совет Африки. Смотрите страницу с описанием
для полного списка свойств.WMSMapRequest
Ищите Базу данных WMS все слои на Наблюдениях Земли НАСА (NEO) сервер WMS.
neowms = wmsfind('neowms', 'SearchField', 'serverurl');
Совершенствуйте свой поиск, чтобы включать только слои с
'sea surface temperature'
в заголовке слоя или полях имени слоя базы данных WMS.
sst = neowms.refine('sea surface temperature');
Совершенствуйте свой поиск, чтобы включать только слои с ежемесячными значениями от датчика MODIS на спутнике Воды.
sst = sst.refine('month*modis');
Создайте объект
WebMapServer
из сервера URL, сохраненный в свойстве ServerURL
объекта WMSLayer
sst
.
server = WebMapServer(sst(1).ServerURL);
Создайте объект
WebMapRequest
из массива WMSLayer
и объект WebMapServer
.
mapRequest = WMSMapRequest(sst, server);
Используйте свойства
Latlim
и Lonlim
WMSMapRequest
установить пределы широты и долготы.
mapRequest.Latlim = [-45 -25];
mapRequest.Lonlim = [15 35];
Установите запрос времени до 1 марта 2009.
mapRequest.Time = '2009-03-01';
Отправьте свой запрос к серверу с методом
WebMapServer.getMap
. Передайте в WMSMapRequest.RequestURL
.
sstImage = server.getMap(mapRequest.RequestURL);
Настройте пустые оси карты с заданными географическими пределами.
figure
worldmap(mapRequest.Latlim, mapRequest.Lonlim);
setm(gca, 'mlabelparallel', -45)
Проект и отображение изображение, на которое геоссылаются к широте и долготе. Используйте растровый объект ссылки, обеспеченный свойством
RasterReference
объекта WMSMapRequest
.
geoshow(sstImage, mapRequest.RasterReference);
title({'South Africa', sst.LayerTitle}, ...
'FontWeight', 'bold', 'Interpreter', 'none')
Отредактируйте веб-запрос карты URL вручную
Можно изменить запрос карты URL вручную.
Получите запрос карты URL.
nasa = wmsfind('nasa', 'SearchField', 'serverurl');
layer = nasa.refine('bluemarbleng', 'SearchField', 'layername', ...
'MatchType', 'exact');
layer = layer(1);
mapRequest = WMSMapRequest(layer);
Просмотрите запрос карты 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
Измените ограничительную рамку, чтобы включать южное полушарие путем прямого изменения
mapRequest.RequestURL
. Введите следующее в командной строке:
modifiedURL =
Затем введите длинный URL как показано в предыдущий пример кода, но измените ограничительную рамку:
&BBOX=-180.0,-90.0,180.0,0.0
Введите URL как один непрерывный вектор символов.
Отобразите измененную карту.
[A, R] = wmsread(modifiedURL);
figure
axesm globe
axis off
geoshow(A, R)
title('Blue Marble: Southern Hemisphere Edition')
Смотрите также
Похожие темы