WMSMapRequest
объект содержит свойства изменить географическую степень и время требуемой карты. В этом примере показано, как изменить вашу просьбу карты сопоставить температуру поверхности моря для океана, окружающего южный совет Африки. Для полного списка свойств смотрите WMSMapRequest
.
Ищите Базу данных WMS все слои на Наблюдениях Земли НАСА (NEO) сервер WMS. Совершенствуйте поиск, чтобы включать только слои с 'sea surface temperature'
в заголовке слоя или полях имени слоя Базы данных WMS. Совершенствуйте поиск снова, чтобы включать только слои с ежемесячными значениями от датчика MODIS на спутнике Воды.
neowms = wmsfind('neowms','SearchField','serverurl'); sst = refine(neowms,'sea surface temperature'); sst = refine(sst,'month*modis');
Создайте WebMapServer
объект с сервера URL хранится в ServerURL
свойство WMSLayer
объект sst
.
server = WebMapServer(sst(1).ServerURL);
Создайте WebMapRequest
объект от массива слоя и сети сопоставляет серверный объект. Установите пределы широты и долготы при помощи Latlim
и Lonlim
свойства. Установите запрос времени до 1 марта 2009 при помощи Time
свойство.
mapRequest = WMSMapRequest(sst,server);
mapRequest.Latlim = [-45 -25];
mapRequest.Lonlim = [15 35];
mapRequest.Time = '2009-03-01';
Отправьте свой запрос к серверу при помощи getMap
функция.
sstImage = getMap(server,mapRequest.RequestURL);
Отобразите изображение на карте.
figure worldmap(mapRequest.Latlim,mapRequest.Lonlim); setm(gca,'mlabelparallel',-45) geoshow(sstImage,mapRequest.RasterReference); title({'South Africa',sst.LayerTitle}, ... 'FontWeight','bold','Interpreter','none')
Можно изменить запрос карты URL вручную.
Ищите Базу данных WMS слои, содержащие строку 'nasa'
. Совершенствуйте поиск, чтобы найти слои, содержащие Синий Мрамор: Следующее поколение путем определения строки поиска как 'bluemarbleng'
. Доберитесь карта запрашивают URL для первого слоя.
nasa = wmsfind('nasa','SearchField','serverurl'); layer = refine(nasa,'bluemarbleng','SearchField','layername', ... 'MatchType','exact'); layer = layer(1); mapRequest = WMSMapRequest(layer);
Установите запрос карты URL на переменную.
mapURL = mapRequest.RequestURL;
Измените ограничительную рамку, чтобы включать южное полушарие. Для этого скопируйте и вставьте содержимое mapURL
в новую переменную. Затем измените раздел ограничительной рамки URL к &BBOX=-180.0,-90.0,180.0,0.0
.
modifiedURL = ['https://neo.sci.gsfc.nasa.gov/wms/wms?' ... '&SERVICE=WMS&LAYERS=BlueMarbleNG&CRS=CRS:84' ... '&FORMAT=image/jpeg&TRANSPARENT=FALSE' ... '&HEIGHT=256&BGCOLOR=0xFFFFFF&REQUEST=GetMap&WIDTH=512' ... '&BBOX=-180.0,-90.0,180.0,0.0' ... '&STYLES=&VERSION=1.3.0'];
Считайте и отобразите модифицированную карту.
[A,R] = wmsread(modifiedURL); figure axesm globe axis off geoshow(A,R) title('Blue Marble: Southern Hemisphere Edition')