Запрос карты Картографического Веб-сервиса
WMSMapRequest
объект содержит запрос к серверу WMS, чтобы получить карту, которая представляет географическую информацию. Сервер WMS представляет карту как цветное или полутоновое изображение. Объект содержит свойства, которые можно установить, чтобы управлять географической степенью, рендерингом или размером требуемой карты.
mapRequest = WMSMapRequest(layer)
создает WMSMapRequest
объект, устанавливая Layer
свойство. WMSMapRequest
обновления объекта свойства Layer
, при необходимости.
mapRequest = WMSMapRequest(layer,server)
создает WMSMapRequest
объект, устанавливая Layer
и Server
свойства. ServerURL
свойство layer
должен совпадать с ServerURL
свойство server
. Server
обновления объекта Layer
свойства.
Server
— Веб-сервер картыWebMapServer
объектВеб-сервер карты в виде скалярного WebMapServer
объект. Если сервер не предоставляется в качестве аргумента при создании WMSMapRequest
, значение Server
установлен в ServerURL
из Layer
.
Layer
— Слои Картографического Веб-сервисаWMSLayer
объектыСлои Картографического Веб-сервиса в виде массива WMSLayer
объекты.
Layer
содержит один уникальный ServerURL
, который должен совпадать с ServerURL
свойство Server
. Server
свойство обновляет свойства Layer
когда свойство установлено.
CoordRefSysCode
— Код системы координат'CRS:84'
| 'EPSG:4326'
Код системы координат в виде вектора символов 'CRS:84'
для версии 1.3.x WMS и 'EPSG:4326'
для всех других версий.
Если 'EPSG:4326'
не найден в Layer.CoordRefSysCodes
, затем CoordRefSysCode
значение установлено от первого CoordRefSysCode
найденный в Layer.Details.BoundingBox
массив структур.
Когда CoordRefSysCode
установлен в 'EPSG:4326'
или 'CRS:84'
, XLim
и YLim
свойства установлены в []
и Latlim
и Lonlim
свойства установлены до географической степени, заданной Layer
массив.
Когда CoordRefSysCode
установлен в значение кроме 'EPSG:4326'
или 'CRS:84'
, затем XLim
и YLim
свойства установлены от значений, найденных в Layer.Details.BoundingBox
структура и Latlim
и Lonlim
свойства установлены в []
.
Автоматические проекции не поддерживаются. (Автоматические проекции начинаются с 'AUTO'
.)
Типы данных: char
RasterReference
— Сопоставьте или географическая растровая ссылкаMapCellsReference
или GeographicCellsReference
Сопоставьте или географическая растровая ссылка в виде MapCellsReference
или GeographicCellsReference
объект. RasterReference
ссылается на растровую карту к внутренней системе координат
Latlim
LatitudeLimits Широта ограничивает в виде двухэлементного вектора. Latlim
содержит южные и северные широтные пределы запроса в модулях степеней. Пределы должны возрастать. По умолчанию пределы широты охватывают все широтные пределы, найденные в Layer.Latlim
свойство.
Lonlim
longitudeLimits Долгота ограничивает в виде двухэлементного вектора. Lonlim
содержит западные и восточные продольные пределы запроса в модулях степеней. Пределы должны возрастать и в области значений [-180, 180] или [0, 360]. По умолчанию пределы долготы охватывают все продольные пределы, найденные в Layer.Lonlim
свойство.
XLim
— Западные и восточные пределы в модулях системы координат[]
(значение по умолчанию) | двухэлементный векторЗападные и восточные пределы требуемой карты в модулях системы координат в виде двухэлементного вектора. Пределы должны возрастать. Можно установить XLim
только если вы устанавливаете CoordRefSysCode
к значению кроме EPSG:4326
.
YLim
— Южный и северный в модулях системы координат[]
(значение по умолчанию) | двухэлементный векторЮжные и северные пределы требуемой карты в модулях системы координат в виде двухэлементного вектора. Пределы должны возрастать. Можно установить YLim
только если вы устанавливаете CoordRefSysCode
к значению кроме EPSG:4326
.
ImageHeight
— Высота в пикселях для требуемой растровой картыВысота в пикселях для требуемого растра сопоставляет в виде положительного целого числа. Свойство MaximumHeight
задает максимальное значение для ImageHeight
. WMSMapRequest
объект инициализирует ImageHeight
свойство или к 512 или к целочисленному значению, что лучшие консервы соотношение сторон координатных пределов, не изменяя координатные пределы.
ImageWidth
— Ширина в пикселях для требуемой растровой картыШирина в пикселях для требуемого растра сопоставляет в виде положительного целого числа. Свойство MaximumWidth
задает максимальное значение для ImageWidth
. WMSMapRequest
объект инициализирует ImageWidth
свойство или к 512 или к целочисленному значению, что лучшие консервы соотношение сторон координатных пределов, не изменяя координатные пределы.
MaximumHeight
— Максимальная высота в пикселях требуемой картыЭто свойство доступно только для чтения.
Максимальная высота в пикселях для требуемой карты в виде номера 8192.
Типы данных: double
MaximumWidth
— Максимальная ширина в пикселях требуемой картыЭто свойство доступно только для чтения.
Максимальная ширина в пикселях для требуемой карты в виде номера 8192.
Типы данных: double
Elevation
— Степень вертикального изменения требуемой карты''
(значение по умолчанию) | вектор символовСтепень вертикального изменения требуемой карты в виде вектора символов. Когда вы устанавливаете свойство, 'elevation'
должно быть значение Layer.Details.Dimension.Name
поле .
Time
— Степень времени требуемой картыСтепень времени требуемой карты в виде вектора символов или числового скаляра. Смотрите WMSMapRequest.Time
страница с описанием для получения дополнительной информации.
Типы данных: double |
char
SampleDimension
— Имя и значение демонстрационной размерностиИмя и значение демонстрационной размерности в виде двухэлементного массива ячеек из символьных векторов. Именем не может быть 'time'
или 'elevation'
. SampleDimension{1}
должно быть значение Layer.Details.Dimension.Name
поле .
Transparent
— Отметьте указание на прозрачность фона картыОтметьте указание на прозрачность фона карты в виде логического скаляра. Когда вы устанавливаете Transparent
к true
, сервер устанавливает все пиксели, не представляющие функции или значения данных в том слое к прозрачному значению, производя комбинированную карту. Когда вы устанавливаете Transparent
к false
, сервер устанавливает все пиксели неданных на значение цвета фона.
Типы данных: логический
BackgroundColor
— Цвет фона (неданные) пиксели картыЦвет фона (неданные) пиксели карты в виде трехэлементного числового вектора. Значения лежат в диапазоне от 0 до 255. Значение по умолчанию, [255,255,255]
, задает цвет фона как белый. Можно установить BackgroundColor
использование non-uint8
числовые значения, но они брошены и сохранены как uint8
.
Типы данных: uint8
StyleName
— Разработайте, чтобы использовать при рендеринге изображения{}
(значение по умолчанию) | вектор символов или массив ячеек из символьных векторовРазработайте, чтобы использовать при рендеринге изображения в виде вектора символов или массива ячеек из символьных векторов. StyleName
должен быть действительный доступ в Layer.Details.Style.Name
поле . Массив ячеек из символьных векторов содержит то же число элементов, как делает Layer
.
ImageFormat
— Желаемый формат изображения раньше представлял карту как изображениеЖелаемый формат изображения раньше представлял карту как изображение в виде вектора символов. Если установлено, формат должен совпадать с записью в Layer.Details.ImageFormats
массив ячеек и запись в ImageRenderFormats
свойство. Если не набор, значения по умолчанию формата к значению в ImageRenderFormats
свойство.
ImageRenderFormats
— Предпочтительные форматы рендеринга изображений, когда Transparent
установлен в false
Это свойство доступно только для чтения.
Предпочтительные форматы рендеринга изображений, когда Transparent
установлен в false
В виде массива ячеек. Первая запись является самым предпочтительным форматом изображения. Если предпочтительный формат не хранится в Layer
свойство, затем следующий формат из списка выбран, пока формат не найден. ImageRenderFormats
массив не используется если ImageFormat
свойство установлено.
ImageTransparentFormats
— Предпочтительные форматы рендеринга изображений, когда Transparent
установлен в true
Это свойство доступно только для чтения.
Предпочтительные форматы рендеринга изображений, когда Transparent
установлен в true
В виде массива ячеек. Первая запись является самым предпочтительным форматом изображения. Если предпочтительный формат не хранится в Layer
свойство, затем следующий формат из списка выбран, пока формат не найден. Если формат прозрачного изображения не найден в списке, или если ImageFormat
свойство установлено в значение не по умолчанию, затем ImageFormat
неизменно.
ServerURL
— Сервер URL для GetMap
WMS
запросСервер URL для GetMap
WMS запросите в виде вектора символов. В общем случае
ServerURL
совпадает с ServerURL
из Layer
. Однако некоторые серверы WMS, такие как Microsoft® TerraServer, потребуйте различного URL для GetMap
запросы, чем для GetCapabilities
WMS запросы. По умолчанию,
ServerURL
Layer(1).ServerURL
.
Типы данных: char
RequestURL
— Полный URL для GetMap
WMS
запросЭто свойство доступно только для чтения.
Полный URL для GetMap
WMS запросите в виде вектора символов. Это состоит из
ServerURL
с дополнительными парами параметра/значения WMS.
boundImageSize | Связанный размер растровой карты |
Считайте глобальную переменную, разрешение полустепени, карту температуры поверхности моря в течение месяца ноября 2009. Карта, от датчика AMSR-E на спутнике Воды НАСА, использует данные, обеспеченные Наблюдениями Земли НАСА (NEO) сервер WMS.
sst = wmsfind('AMSRE_SSTAn_M'); sst = sst(1); server = WebMapServer(sst.ServerURL); mapRequest = WMSMapRequest(sst, server); timeRequest = '2009-11-01'; mapRequest.Time = timeRequest; samplesPerInterval = .5; mapRequest.ImageHeight = ... round(abs(diff(sst.Latlim))/samplesPerInterval); mapRequest.ImageWidth = ... round(abs(diff(sst.Lonlim))/samplesPerInterval); mapRequest.ImageFormat = 'image/png'; sstImage = server.getMap(mapRequest.RequestURL);
Считайте легенду для слоя с помощью OnlineResource
Поле URL в LegendURL
структура. Легенда показывает что диапазоны температур от-2 до 35 градусов Цельсия. WMSMapRequest
обновления объекта информация о слое с сервера.
url = mapRequest.Layer.Details.Style(1).LegendURL.OnlineResource; [legendImg,cmap] = imread(url); if ~isempty(cmap) % Convert indexed image to RGB. legendRGB = ind2rgb(legendImg,cmap); else % Already have an RGB image. legendRGB = legendImg; end
Отобразите температурную карту и легенду.
fig = figure; ax = worldmap('world'); setm(ax,'MlabelParallel',-90,'MlabelLocation',90) geoshow(sstImage,mapRequest.RasterReference); title({mapRequest.Layer.LayerTitle,timeRequest}) figurePosition = fig.Position; centerWidth = figurePosition(3)/2; axleft = centerWidth-size(legendImg,2)/2; axbottom = 30; axwidth = size(legendRGB,2); axheight = size(legendRGB,1); axes('Units','pixels','Position',[axleft axbottom axwidth axheight]) image(legendRGB) axis off
Считайте абстрактные информации для этого слоя от MetadataURL
поле .
readerFcn = @(filename)readstruct(filename,'FileType','xml'); options = weboptions('ContentReader',readerFcn,'Timeout',10); xml = webread(mapRequest.Layer.Details.MetadataURL,options); abstract = xml.idinfo.descript.abstract;
Считайте глобальное вертикальное изменение и слой батиметрии для Залива Мэна в 30 интервалах выборки арксекунды. Значения находятся в модулях метров.
layers = wmsfind('worldwind26*elev','SearchField','serverurl'); layers = wmsupdate(layers); layer = refine(layers,'SRTM','SearchField','layername'); server = WebMapServer(layer.ServerURL); mapRequest = WMSMapRequest(layer,server); mapRequest.Latlim = [40 46]; mapRequest.Lonlim = [-71 -65]; samplesPerInterval = 30/3600; mapRequest.ImageHeight = ... round(abs(diff(mapRequest.Latlim))/samplesPerInterval); mapRequest.ImageWidth = ... round(abs(diff(mapRequest.Lonlim))/samplesPerInterval); mapRequest.ImageFormat = 'image/tiff'; Z = getMap(server, mapRequest.RequestURL); R = mapRequest.RasterReference;
Отобразите карту и постройте линии контура на уровне моря. Примените палитру, которая подходит для данных о вертикальном изменении. Добавьте шкалу палитры и заголовок.
figure worldmap(mapRequest.Latlim,mapRequest.Lonlim) geoshow(double(Z),R,'DisplayType','texturemap') contourm(double(Z),R,[0,0],'Color','k') demcmap(double(Z)) colorbar title({'Gulf of Maine',mapRequest.Layer.LayerTitle}, ... 'Interpreter','none','FontWeight','bold')
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.