GetMap 请求 |
GetMap 操作的请求参数如下表所示:
表1 GetMap 操作请求参数
请求参数 | 是否必需 | 描述 |
VERSION=version |
是 |
请求版本号。 |
REQUEST=GetMap |
是 |
请求名称。 请求 GetMap 操作,请求名称需要设为“GetMap”。 |
LAYERS=layer_list |
是 |
地图图层列表。 地图图层之间以半角英文逗号进行分隔。最左边的图层在最底,下一个图层放到前一个的上面,依次类推。 图层名称是服务元数据中的<Layer><Name>元素的字符数据内容。 服务元数据中的可选<LayerLimit>元素指定了能够请求的最大图层个数。 |
STYLES=style_list |
是 |
请求图层的样式列表,图层样式之间以英文逗号分隔。 STYLES 值与 LAYERS 参数值是一一对应的。图层名称是服务元数据中定义的<Style><Name>元素值。 如果请求不存在的 Style,服务器将返回一个 服务异常(code=StyleNotDefined)。 SuperMap iServer 目前还没有实现,该值应设为空。 |
CRS=namespace:identifier |
是 |
坐标参考系统。 该参数值应该是 GetCapabilities 操作中服务器声明的 CRS。 如果请求包含了一个服务器不支持的 CRS,服务器将抛出一个服务异常(code = “InvalidCRS”)。 对空间参考系统的支持情况参见iServer OGC 服务支持发布的坐标参考系。 |
BBOX=minx,miny,maxx,maxy |
是 |
边界框。 表示地图范围,该参数的值为半角英文逗号分隔的一串实数,形如“minx,miny,maxx,maxy”,分别代表指定 CRS 下的区域坐标最小 X、最小 Y、最大 X、最大 Y。 如果请求包含一个非法的 BBOX,比如最小 X 大于或等于最大 X,或者最小 Y 大于或等于最大 Y 等情况,服务器将抛出一个服务异常。 如果请求的 BBOX 所表示范围跟服务元数据中的 BoundingBox 没有重叠,服务器将返回一个空的内容(一幅空地图,或是 graphic 元素文件没有子元素)。 |
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 的异常错误报告格式(默认为 XML)。 该参数值必须为服务元数据中的 Exception 之一。 |
TIME=time |
否 |
希望获取图层的时间值。 SuperMap iServer 目前还没有实现该功能。 |
ELEVATION=elevation |
否 |
希望获取的图层的高程。 SuperMap iServer 目前还没有实现该功能。 |
Other sample dimension(s) |
否 |
其他合适的维度值。 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=layer_list&STYLES=style_list &CRS=namespace:identifier&BBOX=minx,miny,maxx,maxy&WIDTH=output_width &HEIGHT=output_height&FORMAT=output_format
ServiceRoot 为服务的 URI 根目录,请参见 服务的 URI 设置。
例如,本机 SuperMap iServer WMS 1.3.0 服务启动成功之后,访问 GetMap 操作的 URI 是:http://localhost:8090/iserver/services/map-world/wms130/世界地图_Day?VERSION=1.3.0&REQUEST=GetMap&LAYERS=0.8&STYLES=&CRS=CRS:84&BBOX=-180,-90,180,90&WIDTH=800&HEIGHT=400&FORMAT=image/png。
该请求示例的响应结果请参见 响应示例。