Getmap 请求

发送反馈


请求参数

GetMap 操作的主要请求参数如下表所示:

表1 GetMap 操作请求主要参数

请求参数 是否必需 描述
VERSION=version

请求版本号。

REQUEST=GetMap

请求名称。

请求 GetMap 操作,请求名称需要设为“GetMap”或者“Map”(Map 是 1.0.0 版的,不赞成使用,支持该值的目的是向后兼容)。

LAYERS=layer_list

(请求中没有 LAYERS/STYLES 参数时,必须包含 SLD 或 SLD_BODY 参数)

地图图层列表,地图图层之间以半角英文逗号进行分隔。最左边的图层在最底,下一个图层放到前一个的上面,依次类推。

图层名称必须是 GetCapabilities 操作返回的文档中声明的 Name 元素的值。

(不能请求只有 Title 而没有 Name 属性的 Layer)。如果客户端请求了没有 Name 属性的图层或者不存在的图层,服务器返回一个 Code 为 LayerNotDefined 的异常信息。

STYLES=style_list

(请求中没有 LAYERS/STYLES 参数时,必须包含 SLD 或 SLD_BODY 参数)

请求图层的样式列表,图层样式之间以逗号分隔。

STYLES  值与  LAYERS  参数值必须是一一对应的。如果请求不存在的 Style ,服务器将返回一个 CodeStyleNotDefined 的异常。

用户可以通过 Style Name 请求服务器预定义的图层样式,也可以通过 SLD 参数请求自定义的图层样式。

有关请求参数中 LAYERS/STYLES 参数对 与 SLD(SLD_BODY) 之间的优先级及匹配关系,请参见使用 SLD

SLD=sld_xml_uri  

(请求中没有 SLD 也没有 SLD_BODY 参数时,必须包含 LAYERS/STYLES 参数)

SLD 文档的 URI。具体介绍请参见使用 SLD

SLD 是用户自定义的图层样式表,该 URI 必须对 WMS 服务是可访问的。

SLD_BODY=sld_xml_body

(请求中没有 SLD 也没有 SLD_BODY 参数时,必须包含 LAYERS/STYLES 参数)

SLD 文档的具体内容。具体介绍请参见使用 SLD

SRS=namespace:identifier

空间坐标参考系统。

该参数值应该是 GetCapabilities 操作中服务器声明的 SRS。

对空间参考系统的支持情况参见iServer OGC 服务支持发布的坐标参考系

BBOX=minx,miny,maxx,maxy

Bounding box(地图范围),该参数的值为半角英文逗号分隔的一串实数,形如“minx,miny,maxx,maxy”,分别代表指定 SRS 下的区域坐标最小 X、最小 Y、最大 X、最大 Y。

WIDTH=output_width

地图图片的像素宽度。

HEIGHT=output_height

地图图片的像素高度。

FORMAT=output_format

地图的输出格式。

WMS 服务器的 capabilities 文档中声明的 GetMap 中的 Format 之一。

TRANSPARENT=TRUE|FALSE

地图的背景是否透明(默认为 false)。

BGCOLOR=color_value

背景色的十六进制红绿蓝颜色值(默认为 0xFFFFFF)。

EXCEPTIONS=exception_format

WMS 的异常错误报告格式(默认为 SE_XML)。

该参数值必须为 WMS 服务器的 capabilities 文档中声明的 Exception Format 之一。

TIME=time

希望获取图层的时间值。

SuperMap iServer 目前还没有实现该功能。

ELEVATION=elevation

希望获取的图层的高程。

SuperMap iServer 目前还没有实现该功能。

Other sample dimension(s)

其它样本维度值。

SuperMap iServer 目前还没有实现该功能。

Vendor-specific parameters

可选的试验性参数。

SuperMap iServer 目前还没有实现该功能。

layerDefs

属性过滤,语法为 {<layer1>:<layerDefs1>,<layer2>:<layerDefs2>},不同图层的过滤条件间以 ',' 分隔。支持的比较操作包括 =、<>、>、> =、<、<= ,支持的字符串匹配操作包括 BETWEEN AND 、 IN 、 like ,支持的逻辑关系判断包括 AND , OR , NOT。示例如下:

layerDefs={"0.11":"Shape_Area <500 and OBJECTID>100","0.12": "STATE_NAME LIKE ‘N%'"}   

注意,当 layers 中包含了 layerDefs 中设置的图层时,layerDefs 中对应的图层筛选效果方能显示。

说明:参数的大小写不是必须的,请求参数的顺序也可以任意顺序排列。

请求示例

GetMap 操作的请求方式如下:

<ServiceRoot>?VERSION=version&REQUEST=GetMap&LAYERS=&STYLES=&SRS=&BBOX=&WIDTH=&HEIGHT=&FORMAT=

ServiceRoot 为服务的 URI 根目录,请参见 服务的 URI 设置

例如,本机 SuperMap iServer WMS 1.1.1服务启动成功之后,访问 GetMap 操作的 URI 为:

http://localhost:8090/iserver/services/map-World/wms111/世界地图_Day?VERSION=1.1.1&REQUEST=GetMap&layers=0.10&STYLES=World&SRS=EPSG:4326&BBOX=-180.0,-90.0,180.0,90.0&WIDTH=800&HEIGHT=400&FORMAT=image/png

其中“STYLES=World”表示使用 WMS 服务中预定义的名称为 World 的样式来渲染图层。STYLES 参数为空或者 STYLES=Default Style,表示请求 WMS 图层的默认样式,SuperMap iServer 将图层的默认样式也列在 Capabilities 文档中,名称为 Default Style,请参见 GetCapabilities 响应示例