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 ,服务器将返回一个 Code 为 StyleNotDefined 的异常。 用户可以通过 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 响应示例。