image


URI

<map_uri>/image[.<format>]

支持的方法

GETHEAD

父资源

map

介绍

作为 map 资源的一个子资源,image 资源用于获取 map 资源的一幅图片。仅支持 GET 操作,在执行 GET 请求的时候,可以传递一些参数,用于定制要获取的图片,包括用户显示视窗的大小、地图显示区域的范围、地图的中心点、动态投影的目标投影等,返回一幅地图图片。其中,参数必须包含在 URI 中,不能放在请求体里。默认返回的地图图片的格式是 PNG。

关于本资源的使用方法,可参考开发指南:获取地图的图片地图的放大、缩小、平移

支持的方法:

支持的表述格式:PNG、BMP、GIF、JPG、WebP、RJSON、JSON、HTML、XML、KML、JSONP、FASTJSON。

资源层次

根资源 maps 资源 map 资源 image 资源

HTTP 请求方法

对如下 URI 执行 HTTP 请求,以 PNG 输出格式为例加以说明,其中,supermapiserver 是服务器名,“世界地图”是地图名({mapName})。

http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/image.png

GET 请求

获取地图图片。

请求参数

对 image 资源执行 GET 请求时,可以包含一些参数,如果包含了这些参数,服务器会按照这些传入的参数出图,如果没有指定的地图参数,则以地图的当前状态为准出图,请求参数必须包含在 URI 中。

名称 类型 含义
redirect boolean 是否重定向,HTTP 传输中的一个概念。如果为 true,则将请求重定向到图片的真实地址;如果为 false,则响应体中是图片的字节流。默认为 false,不进行重定向。
center Point2D 指定地图显示的中心点。
scale double 指定地图显示的比例尺。详见比例尺的定义
width int 指定用户显示视窗的宽度,即产生图片的宽度。必须跟 height 一起使用,优先级高于 viewer。
height int 指定用户显示视窗的高度,即产生图片的高度。必须跟 width 一起使用,优先级高于 viewer。
viewer Rectangle 指定用户显示视窗,即产生的图片的大小。默认为 256*256 像素。
layersID String 地图中要出图的图层 ID。
详见 tileImage 中 layersID 的含义
transparent boolean 地图图片是否透明。
viewBounds Rectangle2D 指定地图浏览的地理范围。
dynamicProjection boolean 是否允许地图动态投影显示。
prjCoordSys PrjCoordSys 请求的地图的坐标参考系统。
当此参数设置的坐标系统不同于地图的原有坐标系统时, 系统会进行动态投影,并返回动态投影后的地图图片。 参数使用时,需按照PrjCoordSys中的字段结构来构建,同时也支持通过只传递 epsgCode 的方式传入坐标参考系,如:
prjCoordSys={"epsgCode":3857}。
random boolean 是否采用随机数的方式出,默认为 false。
如果为 true,则在 viewbounds 未指定的情况下,scale、center 两个参数中未指定的参数会在各自的取值范围内采用随机数的方式赋值。
cacheEnabled boolean 是否使用缓存,默认为 true。如果为 false,则关闭所有缓存。(与 _cache 参数功能相同)
_cache boolean 是否使用缓存,默认为 true。如果为 false,则关闭所有缓存。(与 cacheEnabled 参数功能相同)
customParams String 自定义定义参数。
可以是任何形式组织的字符串。用户可以通过该属性传入自定义的参数。
rectifyType RectifyType 校验方式。
clipRegion Geometry 地图显示裁剪的区域。是一个面对象,当 clipRegionEnabled = true 时有效,即地图只显示该区域覆盖的部分。
clipRegionEnabled boolean 地图显示裁剪的区域是否有效。
customEntireBounds Rectangle2D 地图自定义边界,customEntireBoundsEnabled 为 true 时有效。
customEntireBoundsEnabled boolean 自定义地图边界是否有效。
angle double 当前地图的旋转角度。
antialias boolean 是否反走样地图。
backgroundStyle Style 地图的背景风格。
colorMode MapColorMode 地图的颜色模式。
markerAngleFixed boolean 指定点状符号的角度是否固定。
maxVisibleTextSize double 文本的最大可见尺寸,单位为像素。
maxVisibleVertex int 最大几何对象可见节点数。
如果几何对象的节点数超过指定的个数,则超过的那部分节点不显示。
minVisibleTextSize double 文本的最小可见尺寸,单位为像素。
overlapDisplayed boolean 地图对象在同一范围内时,是否重叠显示,默认为 false。
如果为 true,则同一范围内的对象会直接压盖;如果为 false 则通过 overlapDisplayedOptions 控制对象不压盖显示。
overlapDisplayedOptions OverlapDisplayedOptions 避免地图对象压盖显示的过滤选项,当 overlapDisplayed 为 false 时有效,用来增强对地图对象压盖时的处理。
paintBackground boolean 是否绘制地图背景。
rasterfunction RasterFunctionParameter 栅格运算。仅支持请求栅格瓦片。
当前支持NDVI、HILLSHADE两种运算。 可参见示例2。
  1. NDVI 即 近红外区与红光区的反射率差值/近红外区与红光区的反射率和值。可用于反应出植物冠层的背景影响。参数使用时,可参照NDVI参数构成
  2. HILLSHADE 即 山体阴影,通过考虑照明源的角度和阴影,根据表面栅格创建地貌晕渲。参数使用时,可参照HILLSHADE参数构成
textAngleFixed boolean 文本角度是否固定。
textOrientationFixed boolean 文本朝向是否固定。
tileversion String

切片版本名称,_cache 为 true 时有效。

可以通过tileset 资源的 GET 请求获取,即响应结果中 tileVersions 的 name 字段,如 tileversion=51de5c76-c994-4207-94a7-d31f948f56e3;如果没有设置 tileversion 参数,而且当前地图的切片集中存在多个版本,则默认使用最后一个更新版本。

请注意,该参数仅当能够配置缓存时生效。即,由工作空间、REST 地图服务、超图云服务、WMS服务、WMTS服务、Bing Maps 地图服务、Google Maps 地图服务、天地图服务、百度地图服务、OpenStreetMap 地图服务、ArcGIS REST 地图服务等发布的 REST 地图服务支持此参数。

响应结构

如果直接获取地图图片,可指定表述格式为 PNG、BMP、GIF、WebP 或 JPG,则返回一幅图片。

如果获取地图图片信息,可指定表述格式为 RJSON、JSON、HTML 或 XML,则返回的表述结构如下:

字段 类型 说明
customResponse String 自定义处理结果。
imageData byte[] 地图图片对应的二进制流。
lastModified long 地图上次修改时间。
imageUrl String 指向地图图片的 URI,图片为 PNG 格式。
mapParam MapParameter 地图参数。

示例1

对 image 资源:http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/image.png?center={"x":96.17 ,"y":27.57}&scale=0.000000025632,执行 GET 请求,返回的是 PNG 格式的图片,如下表左图所示。

对上述 image 资源请求动态投影后的图片,即执行 GET 请求:http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/image.png?center={"x":10706007.29,"y":3258532.62}&scale=0.000000022573&prjCoordSys={"epsgCode":3857},如下表右图所示。

原出图效果 动态投影出图效果

示例2

对 image 资源:http:///supermapiserver:8090/iserver/services/map-test/rest/maps/map1/image.png?transparent=false&cacheEnabled=true&width=256&height=256&x=7&y=9&scale=0.000003461454994642238&redirect=false&overlapDisplayed=false,执行 GET 请求,返回的是 PNG 格式的图片,如下表左图所示。

对上述 image 资源请求进行NDVI分析后的图片,即执行 GET 请求:http:///supermapiserver:8090/iserver/services/map-test/rest/maps/map1/image.png?transparent=false&cacheEnabled=true&width=256&height=256&x=7&y=9&scale=0.000003461454994642238&redirect=false&overlapDisplayed=false&rasterfunction={%22type%22:%22NDVI%22,%22redIndex%22:0,%22nirIndex%22:2},如下表右图所示。

    

对上述 image 资源请求进行分析后的图片,即执行 GET 请求:http:///supermapiserver:8090/iserver/services/map-test/rest/maps/map1/image.png?transparent=false&cacheEnabled=true&width=256&height=256&x=7&y=9&scale=0.000003461454994642238&redirect=false&overlapDisplayed=false&rasterfunction={%22type%22:%22HILLSHADE%22,%22altitude%22:75,%22azimuth%22:120,%22zFactor%22:1.0},如下表右图所示。

     

HEAD 请求

返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。image 资源的 HEAD 操作也可以有跟 GET 操作类似的请求参数。

HEAD 请求可以用来判断 image 资源是否存在,或者客户端是否有权限访问 image 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 image 资源是否支持<format>格式的表述。

请参见