1. <layer_uri>/legend[.<format>]
2. <layer_uri>/items/{itemID}/legend[.<format>]
作为 layer 的一个子资源,legend 资源用于以图例形式展示图层的样式,用户可以通过 width、height 指定图例图片的大小。
URI1可以获取一般图层的图例,URI2用于获取单值专题图、统计专题图、分段专题图的子项的图例,其中{itemID}从0计数,可取的最大值为专题图子项的个数减1。
支持的方法:
支持的表述格式:PNG、BMP、GIF、JPG。
对如下 URI 执行 HTTP 请求,以 PNG 输出格式为例加以说明,其中,supermapiserver 是服务器名,“世界地图”是地图名({mapName}),Capitals@world 是 地图“世界地图” 中的一个图层({layerName}),Capitals@world@@世界地图 表示 它是“世界地图”图层的一个子图层,URI 表示 Capitals@world 图层的图例图片。
http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/layers/Capitals@World@@世界地图/legend.png
获取图层的图例图片。
对 legend 资源执行 GET 请求,获取图层图例图片时,可在 URI 中传递参数来定制,也可以不传。
URI 中的参数
名称 | 类型 | 含义 |
width | int | 要获取的符号图片的宽度。默认为16像素。 |
height | int | 要获取的符号图片的高度。默认为16像素。 |
legend 资源的响应为图片流,格式由资源 URI 的后缀确定。
对 Capitals@World (世界地图中的一个矢量图层)的 legend 资源:http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/layers/Capitals@World@@世界地图/legend.png?width=30&height=30 执行 GET 请求,获取该图层的图例,返回 PNG 格式的图片如下:
为一张30*30像素的图片,如果不指定图片大小,默认生成16*16大小的图例图片。
对 http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/layers/单值专题图@@世界地图/items/0/legend.png?width=60&height=30 执行 GET 请求,可获取“单值专题图”图层第1个子项的图例图片如下:
“单值专题图”图层有4个子项,当{itemID}过大,服务器会返回 json 格式的错误信息,如对 http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/layers/单值专题图@@世界地图/items/4/legend.png?width=60&height=30 执行 GET 请求,获取的 HTTP 响应的状态码为404,响应的消息体内容为:
{"succeed":false,"error":{"errorMsg":" 请求的子项目索引不在子项目集合的范围内 ","code":404}}
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 legend 资源是否存在,或者客户端是否有权限访问 legend 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 legend 资源是否支持<format>格式的表述。