主要内容

本页采用了机器翻译。点击此处可查看英文原文。

WebMapServer

Web 地图服务器

说明

WebMapServer 对象表示一个 Web 地图服务 (WMS),并作为 WMS 服务器的代理。

WebMapServer 对象在物理上位于客户端。该对象可以访问 WMS 服务器上的功能文档,并发出请求以获取地图。它支持多种 WMS 版本,并会自动与服务器协商,以使用服务器所能支持的已知最高版本。

创建对象

描述

server = WebMapServer(serverURL) 创建了一个 WebMapServer 对象,并设置了 ServerURL 属性。

示例

属性

全部展开

服务器超时前的毫秒数,以非负整数表示。当 Timeout 的值是 0 时,WebMapServer 对象会忽略超时机制。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

启用缓存的标志,指定为逻辑标量。当 EnableCache 等于 True 时,WebMapServer 对象会缓存 WMSCapabilities 对象,而当您调用 getCapabilities 方法时,返回的正是该对象。如果缓存的 WMSCapabilities 对象的 AccessDate 属性不是当天,则缓存将过期。

数据类型: logical

服务器的 URL,以字符向量的形式指定。URL 必须包含协议 'http://''https://'。该 URL 可以包含其他 WMS 关键字。

数据类型: char

向服务器发出的最后一次请求的 URL,以字符向量形式指定。RequestURL 表示请求 XML 功能文档或地图。您可以将所需的网址输入到浏览器中。

数据类型: char

对象函数

getCapabilities Get capabilities document from server
getMapGet raster map from server
updateLayersUpdate layer properties

示例

全部折叠

创建一个 WebMapServer 对象,用于与由美国国家海洋和大气管理局 (NOAA) 托管的环境研究部数据访问计划 (ERDDAP) WMS 服务器之一进行通信。从服务器获取功能说明文档。

layers = wmsfind("NOAA_DHW",SearchField="serverurl");
serverURL = layers(1).ServerURL;
server = WebMapServer(serverURL);
capabilities = getCapabilities(server);
layers = capabilities.Layer;

搜索显示国家边界的服务器 (nations)。查找提供每日全球海表温度 (sst) 数据的服务器。

nations = refine(layers,"nations");
nations = nations(1);
sst = refine(layers,"sst");
sst = sst(1);
layer = [sst nations];

从服务器获取数据。

request = WMSMapRequest(layer,server);
A = getMap(server,request.RequestURL);
R = request.RasterReference;

将数据显示在地图上。

figure
worldmap(A,R)
geoshow(A,R)
plabel off
mlabel off

layerTitle = string(sst.LayerTitle);
layerTitle = textwrap(layerTitle,65);
layerTitle = [layerTitle; sst.Details.Dimension.Default];
title(layerTitle,Interpreter="none")

版本历史记录

在 R2006a 之前推出