tempLayersSet


URI

<map_uri>/templayersset[.<format>]

支持的方法

GETPOSTHEAD

父资源

map

子资源

tempLayers

介绍

临时图层集集合资源,做为 map 资源的一个子资源,通过对 tempLayersSet 执行 POST 操作,可以创建临时图层集,即 tempLayers 资源,一个 tempLayers 资源对应一幅临时的地图。关于创建的临时图层集在服务器端的存活时间,请参考:临时资源的生命周期

支持的方法:

支持的表述格式:RJSON、JSON、HTML、XML。

资源层次

根资源 maps 资源 map 资源 tempLayersSet 资源

HTTP 请求方法

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

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

GET 请求

获取地图中所有的临时图层集。

请求参数

名称 类型 含义
_cache boolean 【可选参数】
是否使用缓存,默认为 true。如果为 false,则关闭所有缓存。

响应结构

对 tempLayersSet 资源执行 GET 请求,返回“世界地图”包含的临时图层集的信息,返回资源表述的是一个临时图层集描述数组,数组中的元素包含一个临时图层集的信息,单个元素的结构如下:

字段 类型 说明
name String 临时图层集的名称。
path String 临时图层集资源的访问路径。
resourceConfigID String 资源配置项 ID。
resourceType String 资源类型。
supportedMediaTypes String[] 支持的表述的媒体类型。

示例

对 tempLayersSet 资源执行 GET 请求,返回 rjson 格式的资源描述如下:

[{

    "name": "1",

    "path": "http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/tempLayersSet/1",

    "resourceConfigID": "tempLayers",

    "resourceType": "StaticResource",

    "supportedMediaTypes": [

        "application/xml",

        "text/xml",

        "application/json",

        "application/rjson",

        "text/html",

        "application/jsonp",

        "application/x-java-serialized-object"

    ]

}]

POST 请求

为地图创建临时图层集资源。

请求参数

通过 POST 请求为地图创建一个临时图层集,URI 中可以包含如下参数:

名称 类型 含义
returnContent boolean 表示立即返回新创建资源的表述还是返回新资源的 URI。如果为 true,则直接返回新创建资源,即临时图层集的表述。为 false,则返回的是临时图层集资源的 URI。默认为 false。

请求体参数:

请求体中需要包含一个临时图层集的描述,临时图层集中的元素可以是 UGCMapLayer、WMSLayer 、 WFSLayer 或 GeotrellisImageLayer 类型的,参数结构跟 layers 资源的表述结构一致。可以参见 layers 资源 GET 请求响应的结构。

如果请求体中的参数合法,SuperMap iServer 服务器会根据这些描述,在“世界地图”里创建一个临时图层集合,即 tempLayers 资源。当请求体参数为空时,则返回整个“世界地图”资源。

注意:请求体数组中有一个元素,标识了临时图层的地图状态,该元素一般是 UGCMapLayer。

响应结构

对 tempLayersSet 资源执行 POST 请求,返回的操作结果表述的结构如下(表述在响应消息的实体主体里):

字段 类型 说明
succeed boolean 创建临时图层集是否成功。如果不成功会有错误信息。
newResourceID String 查询结果资源的 ID。
newResourceLocation String 创建的临时图层集的 URI,标识一个 tempLayers 资源。
error HttpError 出错信息,如果创建成功,则没有本字段。
postResultType postResultType POST 请求结果的类型。说明 POST 请求对目标资源的影响,即处理结果是什么样的。

示例

对 tempLayersSet 资源:http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/tempLayersSet.rjson,执行 POST 请求,消息体中包含一个矢量图层和一个标签专题图图层,如下:

[{

        "name": "世界地图",

        "type": "UGC",

        "subLayers": {

                "layers": [

                        {

                                "type": "UGC",

                                "caption": "大洋名称",

                                "ugcLayerType": "THEME",

                                "visible": true,

                                "theme": {

                                        "labelExpression": "OceanLabelP_C.ChineseName",

                                        "type": "LABEL",

                                        "uniformStyle":{

                                                "foreColor":{"red": 128,"blue": 0,"green": 0}

                                        }

                                },

                                "datasetInfo": {

                                        "name": "OceanLabelP_C",

                                        "dataSourceName": "World",

                                        "type": "POINT"

                                }

                        },

                        {

                                "type": "UGC",

                                "caption": "国家边界",

                                "ugcLayerType": "VECTOR",

                                "visible": true,

                                "datasetInfo": {

                                        "name": "Countries",

                                        "dataSourceName": "World",

                                        "type": "LINE"

                                },

                                "style": {

                                        "fillBackOpaque": true,

                                        "lineWidth": 0.1,

                                        "fillBackColor": { "red": 255, "blue": 255, "green": 255},

                                        "fillForeColor": {"red": 242, "blue": 233, "green": 239},

                                        "lineColor": {"red": 128, "blue": 128, "green": 128},

                                        "fillOpaqueRate": 100,

                                        "fillGradientMode": "NONE",

                                        "fillSymbolID": 0,

                                        "fillGradientAngle": 0,

                                        "lineSymbolID": 0

                                }

                        }

                ]

        }

}]

则返回的操作结果表述的结构如下(表述在响应消息的实体主体里):

{

    "succeed": true,

    "newResourceID": "p590w5yp_1",

    "newResourceLocation": "http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/tempLayersSet/p590w5yp_1.rjson"

}

当临时图层集中的元素是 GeotrellisImageLayer 类型,请参考:GeotrellisImageLayer,对 tempLayersSet 资源:http://supermapiserver:8090/iserver/services/map-Geotrellis/rest/maps/GeotrellisLayer/tempLayersSet/tempLayersSet.rjson,执行 POST 请求,如下:

[{

    "visible": true,

    "maxScale": 1.3845819978568952E-5,

    "colorSpaceType": "RGB",

    "displayBandIndexes": [

        0,

        1,

        2

    ],

    "caption": "multiple1",

    "description": null,

    "subLayers": {},

    "type": "GEOTRELLISIMAGELAYER",

    "displayMode": "COMBINE",

    "queryable": false,

    "alpha": 255,

    "name": "multiple1",

    "bounds": {

        "top": 894022.5039911582,

        "left": 1.2188914223175082E7,

        "bottom": 780583.7483448264,

        "leftBottom": {

            "x": 1.2188914223175082E7,

            "y": 780583.7483448264

        },

        "right": 1.2357058983170727E7,

        "rightTop": {

            "x": 1.2357058983170727E7,

            "y": 894022.5039911582

        }

    },

    "minScale": 1.6901635716026553E-9

}]

其中colorSpaceType为色彩空间枚举,请参考:colorSpaceType;displayBandIndexes为显示的波段索引,依照颜色模式顺序,如RGB为[0,1,2];alpha为图层透明度。

则返回的操作结果表述的结构如下(表述在响应消息的实体主体里):

{

    "succeed": true,

    "postResultType":"CreateChild",

    "newResourceID":"aa2b8f9271ec4e80af93025c6c680885_b15b7b605c3d41e89ab8123b54bd818e",

    "newResourceLocation": "http://localhost:8090/iserver/services/map-Geotrellis/rest/maps/GeotrellisLayer/tempLayersSet/aa2b8f9271ec4e80af93025c6c680885_b15b7b605c3d41e89ab8123b54bd818e.rjson"

}

HEAD 请求

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

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

 

请参见