tempLayer


URI

<tempLayers_uri>/{tempLayerName}[.<format>]

支持的方法

GETPOSTPUTDELETEHEAD

父资源

tempLayers

子资源

legendvisiblequeryablestyle

介绍

tempLayer 资源表示一个临时图层,在 URI 中 {tempLayerName} 标识了该临时图层的名称。tempLayer  资源可能是不同的图层,例如高一级的图层:UGCMapLayer、WFSLayer、WMSLayer 等,低一级的有 UGCMapLayer 的子图层,如 UGCVectorLayer、UGCGridLayer、UGCImageLayer、 UGCThemeLayer 、UGCHeatmapLayer等。高一级的图层类型由 type 字段标识,低一级的图层类型由 ugcLayerType 字段标识。该资源的生命周期参见:临时资源的生命周期

{tempLayerName}可用来标识高一级图层名和低一级图层名。

通过 tempLayer 资源可以获取临时图层的表述,对临时图层的创建、删除、更新有如下限制:

支持的方法:

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

资源层次

根资源 maps 资源 map 资源 tempLayersSet 资源 tempLayers 资源 tempLayer 资源

HTTP 请求方法

对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiserver 是服务器名,“世界地图”是地图名({mapName}),tempLayers92ecaz23_49762c443421448b992a387c8221d070 是“世界地图” 中的一个临时图层集({tempLayersID}),URI 表示的是“世界地图”中的 ID 是 tempLayers92ecaz23_49762c443421448b992a387c8221d070 的临时图层集合,即 tempLayers 资源,Capitasl@world@@World 是临时图层集中 World 图层的一个子图层,URI 表示 Capitals@world 图层,即 tempLayer 资源。

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

GET 请求

对示例 URI 执行 GET 请求可以临时图层集中一个图层的表述。

请求参数

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

响应结构

对 tempLayer 资源执行 GET 请求,返回资源的表述。表述为描述图层的各种信息,不同类型图层的描述有所差别,图层可能是高一级的图层:UGCMapLayer、WFSLayer、WMSLayer 等,或低一级的图层:WFSLayer、WMSLayer、 UGCMapLayer 的子图层(UGCVectorLayer、UGCGridLayer、UGCImageLayer、 UGCThemeLayer、UGCHeatmapLayer)等。layer 资源表述的结构即为这些图层描述的结构。

示例图层 Capitals@world 为 UGCVectorLayer 图层,所以返回的表述为 UGCVectorLayer 的结构,如下:

名称 类型 含义
name String 图层的名称。图层的名称在图层所在的地图中唯一标识此图层。该标识不区分大小写。
bounds double 图层范围。
caption String

图层的标题。默认情况下与 name 一致。在图例、图层控制列表中显示的图层的名称就是 caption 的值。注意与 name 相区别。

description String 图层的描述信息。
queryable boolean 图层中的对象是否可以被查询。true 表示可以被查询,false 表示不能被查询。
visible boolean 图层是否可见,当图层不可见时,其他所有的属性的设置将无效。
type LayerType 图层的类型。
目前 SuperMap iServer 支持的图层类型有:UGC(SuperMap 图层),WFS(WFS 图层),WMS(WMS 图层)、CUSTOM(自定义图层)。
subLayers Layer[] 子图层集。
completeLineSymbolDisplayed boolean 是否显示完整线型。true 表示显示,false 表示不显示。
maxScale double 图层的最大可见比例尺。最大可见比例尺不可为负,当地图的当前显示比例尺大于图层最大可见比例尺时,此图层将不显示。
默认为0。
minScale double 图层的最小可见比例尺。最小可见比例尺不可为负。当地图的当前显示比例尺小于图层最小可见比例尺时,此图层将不显示。
默认为0。
minVisibleGeometrySize double 几何对象的最小可见大小,单位:像素。
opaqueRate int 图层的不透明度,0-100。
symbolScalable boolean 是否允许图层的符号大小随图缩放。
true 表示当图层被放大或缩小时,符号也随之放大或缩小;false 表示图层的符号大小不可随图缩放。
symbolScale double 图层的符号缩放基准比例尺。
符号缩放基准比例尺在允许符号随图缩放时有效,指定了在随图缩放时,所设置的符号大小所对应的地图显示比例尺。
datasetInfo DatasetInfo 图层对应的数据集对象。图层是对数据集的引用,因而,一个图层与一个数据集相对应。
displayFilter String 图层的显示过滤条件。
过滤条件是在数据库的属性数据上进行过滤,例如图层的属性数据库存在 smid 字段,过滤条件为 smid > 20,则几何属性 smid 的值大于20的几何对象将显示在地图窗口中,其余对象不显示。
joinItems JoinItem[] 连接信息。
representationField String 存储制图表达信息的字段。
制图表达是矢量数据集中几何对象所关联的信息,它可以使相应的几何对象在地图窗口中显示时,采用其他的表现方式,而原来的几何对象不再显示,注意原几何对象的数据并没有改变,只是显示方式有所变化。
ugcLayerType UGCLayerType SuperMap 图层的类型。
SuperMap 图层的类型分:GRID(栅格图层)、IMAGE(影像图层)、THEME(专题图层)、VECTOR(矢量图层)、HEATMAP(热力图层)、WFS(WFS 图层)、WMS(WMS 图层)。
style Style 矢量图层的风格。

示例

对 ID 为 tempLayers92ecaz23_49762c443421448b992a387c8221d070 的临时图层集中的临时图层 Capitals@world :http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/tempLayersSet/tempLayers92ecaz23_49762c443421448b992a387c8221d070/Capitals@World@@世界地图.rjson,执行 GET 请求,返回 rjson 格式的资源描述如下:

{

        "bounds": {

                "bottom": -41.21039581298828,

                "left": -99.12757110595705,

                "leftBottom": {

                        "x": -99.12757110595705,

                        "y": -41.21039581298828

                    

        },

                "right": 175.14494323730466,

                "rightTop": {

                        "x": 175.14494323730466,

                        "y": 64.31326293945314

                    

        },

                "top": 64.31326293945314

            

    },

        "caption": "Capitals@World",

        "completeLineSymbolDisplayed": false,

        "datasetInfo": {

                "bounds": {

                        "bottom": -41.21039581298828,

                        "left": -99.12757110595705,

                        "leftBottom": {

                                "x": -99.12757110595705,

                                "y": -41.21039581298828

                            

            },

                        "right": 175.14494323730466,

                        "rightTop": {

                                "x": 175.14494323730466,

                                "y": 64.31326293945314

                            

            },

                        "top": 64.31326293945314

                    

        },

                "dataSourceName": "World",

                "description": null,

                "encodeType": null,

                "isReadOnly": false,

                "name": "Capitals",

                "prjCoordSys": null,

                "tableName": null,

                "type": "POINT"

            

    },

        "description": "",

        "displayFilter": "",

        "joinItems": null,

        "maxScale": 0,

        "minScale": 7.56550553E-8,

        "minVisibleGeometrySize": 0.4,

        "name": "Capitals@World",

        "opaqueRate": 100,

        "queryable": true,

        "representationField": "",

        "style": {

                "fillBackColor": {

                        "blue": 255,

                        "green": 255,

                        "red": 255

                    

        },

                "fillBackOpaque": true,

                "fillForeColor": {

                        "blue": 196,

                        "green": 196,

                        "red": 196

                    

        },

                "fillGradientAngle": 0,

                "fillGradientMode": "NONE",

                "fillGradientOffsetRatioX": 0,

                "fillGradientOffsetRatioY": 0,

                "fillOpaqueRate": 100,

                "fillSymbolID": 0,

                "lineColor": {

                        "blue": 0,

                        "green": 0,

                        "red": 0

                    

        },

                "lineSymbolID": 0,

                "lineWidth": 0.1,

                "markerAngle": 0,

                "markerSize": 2,

                "markerSymbolID": 12

            

    },

        "subLayers": {},

        "symbolScalable": false,

        "symbolScale": 0,

        "type": "UGC",

        "ugcLayerType": "VECTOR",

        "visible": true

}

POST 请求

当 tempLayer 资源标识的是 UGCMapLayer 图层时,通过 POST 请求可以创建 SuperMap 子图层。

请求参数

为执行 POST 请求创建 SuperMap 子图层,需要在请求体中包含 SuperMap 子图层的信息,即 UGCVectorLayer、UGCGridLayer、UGCImageLayer 、UGCHeatmapLayer或 UGCThemeLayer 的描述,请参见 JavaDoc 文档中图层的说明。以创建一个 UGCVectorLayer 图层为例,请求参数如下所示:

名称 类型 含义
name String 图层的名称。图层的名称在图层所在的地图中唯一标识此图层。该标识不区分大小写。
bounds double 图层范围。
caption String

图层的标题。默认情况下与 name 一致。在图例、图层控制列表中显示的图层的名称就是 caption 的值。注意与 name 相区别。

description String 图层的描述信息。
queryable boolean 图层中的对象是否可以被查询。true 表示可以被查询,false 表示不能被查询。
visible boolean 图层是否可见,当图层不可见时,其他所有的属性的设置将无效。
type String 图层的类型。有 UGCVectorLayer,UGCGirdLayer,UGCImageLayer,UGCThemerLayer,WMSLayer,WFSLayer  等
subLayers Layer[] 子图层集。
completeLineSymbolDisplayed boolean 是否显示完整线型。true 表示显示,false 表示不显示。
maxScale double 图层的最大可见比例尺。最大可见比例尺不可为负,当地图的当前显示比例尺大于图层最大可见比例尺时,此图层将不显示。
默认为0。
minScale double 图层的最小可见比例尺。最小可见比例尺不可为负。当地图的当前显示比例尺小于图层最小可见比例尺时,此图层将不显示。
默认为0。
minVisibleGeometrySize double 几何对象的最小可见大小,单位:像素。
opaqueRate int 图层的不透明度,0-100。
symbolScalable boolean 是否允许图层的符号大小随图缩放。
true 表示当图层被放大或缩小时,符号也随之放大或缩小;false 表示图层的符号大小不可随图缩放。
symbolScale double 图层的符号缩放基准比例尺。
符号缩放基准比例尺在允许符号随图缩放时有效,指定了在随图缩放时,所设置的符号大小所对应的地图显示比例尺。
datasetInfo DatasetInfo 图层对应的数据集对象。图层是对数据集的引用,因而,一个图层与一个数据集相对应。
displayFilter String 图层的显示过滤条件。
过滤条件是在数据库的属性数据上进行过滤,例如图层的属性数据库存在 smid 字段,过滤条件为 smid > 20,则几何属性 smid 的值大于20的几何对象将显示在地图窗口中,其余对象不显示。
joinItems JoinItem[] 连接信息。
representationField String 存储制图表达信息的字段。
制图表达是矢量数据集中几何对象所关联的信息,它可以使相应的几何对象在地图窗口中显示时,采用其他的表现方式,而原来的几何对象不再显示,注意原几何对象的数据并没有改变,只是显示方式有所变化。
ugcLayerType UGCLayerType UGC 图层类型。
style Style 矢量图层的风格。

响应结构

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

字段 类型 说明
succeed boolean

创建新图层是否成功。如果不成功会有错误信息。

error HttpError 出错信息,如果创建成功,则没有本字段。

示例

对 ID 为 tempLayers92ecaz23_49762c443421448b992a387c8221d070 的临时图层集中的临时图层 World :http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/tempLayersSet/tempLayers92ecaz23_49762c443421448b992a387c8221d070/Capitals@World@@世界地图.rjson,执行 POST 请求,创建一个 UGCVectorLayer 类型的子图层,需要再请求体中传入 UGCVectorLayer 类型图层的描述如下:

{

    "bounds": {

        "leftBottom": {

            "x": -99.12757110595704,

            "y": -41.21039581298828

        },

        "rightTop": {

            "x": 175.14494323730466,

            "y": 64.31326293945314

        }

    },

    "caption": "NewLayer@World",

    "completeLineSymbolDisplayed": false,

    "datasetInfo": {

        "bounds": {

            "leftBottom": {

                "x": -99.12757110595704,

                "y": -41.21039581298828

            },

            "rightTop": {

                "x": 175.14494323730466,

                "y": 64.31326293945314

            }

        },

        "dataSourceName": "World",

        "description": null,

        "encodeType": null,

        "isReadOnly": false,

        "name": "NewLayer",

        "prjCoordSys": null,

        "tableName": null,

        "type": "POINT"

    },

    "description": "",

    "displayFilter": "",

    "joinItems": null,

    "maxScale": 0,

    "minScale": 7.56550553e-8,

    "minVisibleGeometrySize": 0.4,

    "name": "NewLayer@World",

    "opaqueRate": 0,

    "queryable": false,

    "representationField": "",

    "style": {

        "fillBackColor": {

            "blue": 255,

            "green": 255,

            "red": 255

        },

        "fillBackOpaque": true,

        "fillForeColor": {

            "blue": 196,

            "green": 196,

            "red": 196

        },

        "fillGradientAngle": 0,

        "fillGradientMode": "NONE",

        "fillGradientOffsetRatioX": 0,

        "fillGradientOffsetRatioY": 0,

        "fillOpaqueRate": 100,

        "fillSymbolID": 0,

        "lineColor": {

            "blue": 0,

            "green": 0,

            "red": 0

        },

        "lineSymbolID": 0,

        "lineWidth": 0.1,

        "markerAngle": 0,

        "markerSize": 2,

        "markerSymbolID": 12

    },

    "subLayers": {},

    "symbolScalable": false,

    "symbolScale": 0,

    "type": "UGC",

    "ugcLayerType": "VECTOR",

    "visible": true

}

创建成功时,返回 rjson 格式的操作结果表述如下:

{

    "succeed": true

}

此时再对 http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/tempLayersSet/tempLayers92ecaz23_49762c443421448b992a387c8221d070/Capitals@World@@世界地图.rjson 执行 GET 请求,“世界地图”的子图层(subLayers)中多了一个"NewLayer@World@@Capitals@World@@世界地图"图层。也可以对 http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/tempLayersSet/tempLayers92ecaz23_49762c443421448b992a387c8221d070/NewLayer@World@@Capitals@World@@世界地图.rjson 直接执行 GET 请求,获取新创建图层的表述。

PUT 请求

修改临时图层,即 tempLayer 资源。需要在请求体中包含 name 属性以及变化字段修改后的描述信息。

请求参数

为执行 PUT 请求来创建或修改 tempLayer 图层,PUT 请求体中必须包含一些参数,参数结构跟 GET 请求的响应结构一致,如果参数合法,SuperMap iServer 服务器会根据这些参数,创建或修改临时图层,即 tempLayer 资源。

当 tempLayer 资源标识的是 UGCMapLayer 图层或其子图层时,通过对已有资源执行 PUT 请求,进行更新。当对不存在的资源 URI 执行 PUT 请求,表示创建时,只能针对低一级的 SuperMap 类型的图层。

修改图层时,需要传入对应类型图层(已修改后的),但有的参数是不能为空的,例如修改 UGCVectorLayer 时,name、type、ugcLayerType 以及 datasetInfo 的 name 和 dataSourceName 都是必须有的。详细参见 JavaDoc 文档中相关图层的描述。

响应结构

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

字段 类型 说明
succeed boolean

创建临时图层是否成功。如果不成功会有错误信息。

error HttpError 出错信息,如果创建成功,则没有本字段。

示例

对示例 URI:http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/tempLayersSet/tempLayers92ecaz23_49762c443421448b992a387c8221d070/Capitals@World@@世界地图.rjson,执行 PUT 请求,修改临时图层 Capitals@World,将其 queryable 属性改为 true,请求体中的参数如下:

{

    "bounds": {

        "bottom": -41.21039581298828,

        "left": -99.12757110595704,

        "leftBottom": {

            "x": -99.12757110595704,

            "y": -41.21039581298828

        },

        "right": 175.14494323730466,

        "rightTop": {

            "x": 175.14494323730466,

            "y": 64.31326293945314

        },

        "top": 64.31326293945314

    },

    "caption": "Capitals@World",

    "completeLineSymbolDisplayed": false,

    "datasetInfo": {

        "bounds": {

            "bottom": -41.21039581298828,

            "left": -99.12757110595704,

            "leftBottom": {

                "x": -99.12757110595704,

                "y": -41.21039581298828

            },

            "right": 175.14494323730466,

            "rightTop": {

                "x": 175.14494323730466,

                "y": 64.31326293945314

            },

            "top": 64.31326293945314

        },

        "dataSourceName": "World",

        "description": null,

        "encodeType": null,

        "isReadOnly": false,

        "name": "Capitals",

        "prjCoordSys": null,

        "tableName": null,

        "type": "POINT"

    },

    "description": "",

    "displayFilter": "",

    "joinItems": null,

    "maxScale": 0,

    "minScale": 7.56550553e-8,

    "minVisibleGeometrySize": 0.4,

    "name": "Capitals@World",

    "opaqueRate": 100,

    "queryable": true,

    "representationField": "",

    "style": {

        "fillBackColor": {

            "blue": 255,

            "green": 255,

            "red": 255

        },

        "fillBackOpaque": true,

        "fillForeColor": {

            "blue": 196,

            "green": 196,

            "red": 196

        },

        "fillGradientAngle": 0,

        "fillGradientMode": "NONE",

        "fillGradientOffsetRatioX": 0,

        "fillGradientOffsetRatioY": 0,

        "fillOpaqueRate": 100,

        "fillSymbolID": 0,

        "lineColor": {

            "blue": 0,

            "green": 0,

            "red": 0

        },

        "lineSymbolID": 0,

        "lineWidth": 0.1,

        "markerAngle": 0,

        "markerSize": 2,

        "markerSymbolID": 12

    },

    "subLayers": {},

    "symbolScalable": false,

    "symbolScale": 0,

    "type": "UGC",

    "ugcLayerType": "VECTOR",

    "visible": true

}

返回 rjson 格式的操作结果描述如下:

{

    "succeed": true

}

DELETE 请求

删除临时图层资源,如果该临时图层资源不存在,则会返回状态码404。

响应结构

无参数。对 tempLayer 资源执行 DELETE 请求,返回删除是否成功的表述如下:

字段 类型 说明
succeed boolean 操作是否成功。
error HttpError 出错信息,如果操作成功,则没有本字段。

示例

对 tempLayers 资源:http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/tempLayersSet/1/Capitals@World@@世界地图.rjson ,执行 DELETE 请求,删除 Capitals@World 临时图层,返回 rjson 格式的资源描述如下:

{

    "succeed": true

}

HEAD 请求

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

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

请参见