layer


URI

1. <layers_uri>/{layerName}[.<format>]

2. <layers_uri>/{layerIndex}[.<format>]

3. <layers_uri>/{layerIndex}/sublayers/{sublayerIndex}[.<format>]

支持的方法

GETHEAD

父资源

layers

子资源

legendvisiblequeryablestyle

介绍

 

layer 资源表示一个图层,在 URI 里通过图层名或图层索引号来标识,可以通过上面3种 URI 来访问 layer 资源。

layer 资源可能是不同的图层,例如高一级的图层:UGCMapLayer、WFSLayer、WMSLayer 等;低一级的有 UGCMapLayer 的子图层,如 UGCVectorLayer、UGCGridLayer、UGCImageLayer、 UGCThemeLayer 等。高一级的图层类型由 type 字段标识,低一级的图层类型由 ugcLayerType 字段标识。

当 layer 是高一级的图层时,可以通过 URI1或 URI2的形式来访问资源;当 layer 是低一级的图层时,可以通过 URI1或 URI3的形式来访问。

{layerName}可用来标识高一级图层名和低一级图层名。{layerIndex}是高一级图层的索引号,从0开始。{sublayerIndex}是指低一级图层的索引号,从0开始,按图层列表中的顺序依次增加。例如第一个图层的索引号为0,第二个图层的索引号则为1,依此类推。

关于本资源的使用方法,可参考开发指南:获取子图层列表

支持的方法:

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

资源层次

resources.htm maps.htm map.htm layer.htm layers.htm

HTTP 请求方法

对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiserver 是服务器名,“世界地图”是地图名({mapName}),Capitals@World 是 地图“世界地图”中的一个图层({layerName}),Capitals@World@@世界地图 表示 它是“世界地图”图层的一个子图层,URI 表示 Capitals@World 图层,即 layer 资源。

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

GET 请求

对示例 URI 执行 GET 请求可以获得“世界地图”中的 Capitals@World 图层的表述。

请求参数

名称 类型 含义
_cache
 
boolean 【可选参数】
是否使用缓存,默认为 true。如果为 false,则关闭所有缓存。
returnFields boolean 【可选参数】
是否返回图层中各个字段及其信息,默认为 false。
注:仅文件型工作空间、PostgreSQL 工作空间、Oracle 工作空间、SQL Server 工作空间、DM 工作空间、REST 地图服务、PostGIS 服务、shapefile、ArcGIS REST 地图服务为数据源发布地图服务时,支持设置该参数。

响应结构

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

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

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

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

description String 图层的描述信息。
queryable boolean 图层中的对象是否可以被查询。true 表示可以被查询,false 表示不能被查询。
visible boolean 图层是否可见,当图层不可见时,其他所有的属性的设置将无效。
type LayerType 图层的类型。
目前支持的图层类型有: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(矢量图层)、WFS(WFS 图层)、WMS(WMS 图层)。
style Style 矢量图层的风格。
gamma double 用于影像或栅格的非线性亮度和对比度调整,取值为 0-10(包含0和10)。当图层类型为 SuperMap 栅格图层或影像图层时,响应体中包含此参数
fields field[] 图层包含的字段信息数组。

示例

对 layer 资源:http://localhost:8090/iserver/services/map-China100/rest/maps/China/layers/Main_Railway_L@China@@China.rjson?returnFields=true,执行 GET 请求,返回 Main_Railway_L@China 图层中包含的信息(Main_Railway_L@China 是一个 UGCVectorLayer 图层),rjson 格式的表述如下:

{

    "ugcLayerType": "VECTOR",

    "displayFilter": null,

    "fieldValuesDisplayFilter": {

        "fieldName": "",

        "values": [],

        "fieldValuesDisplayMode": "DISABLE"

    },

    "caption": "Main_Railway_L@China_L10-L13",

    "description": "",

    "type": "UGC",

    "datasetInfo": {

        "schema": null,

        "charset": null,

        "recordCount": 0,

        "isFileCache": false,

        "description": null,

        "type": "LINE",

        "dataSourceName": "China",

        "tableName": null,

        "isReadOnly": false,

        "encodeType": null,

        "bounds": {

            "top": 6983716.901688325,

            "left": 8456781.73220221,

            "bottom": 2072536.377213049,

            "leftBottom": {

                "x": 8456781.73220221,

                "y": 2072536.377213049

            },

            "right": 1.4973544066083536E7,

            "rightTop": {

                "x": 1.4973544066083536E7,

                "y": 6983716.901688325

            }

        },

        "name": "Main_Railway_L",

        "prjCoordSys": null,

        "datasourceConnectionInfo": null

    },

    "clipRegionEnabled": true,

    "minVisibleGeometrySize": 0.1,

    "minScale": 8.653637486605571E-7,

    "joinItems": null,

    "completeLineSymbolDisplayed": false,

    "clipRegion": null,

    "visible": true,

    "maxScale": 0,

    "symbolScalable": false,

    "subLayers": {},

    "queryable": false,

    "opaqueRate": 100,

    "name": "Main_Railway_L@China",

    "bounds": {

        "top": 6983716.901688325,

        "left": 8456781.73220221,

        "bottom": 2072536.377213049,

        "leftBottom": {

            "x": 8456781.73220221,

            "y": 2072536.377213049

        },

        "right": 1.4973544066083536E7,

        "rightTop": {

            "x": 1.4973544066083536E7,

            "y": 6983716.901688325

        }

    },

    "style": {

        "fillGradientOffsetRatioX": 0,

        "markerSize": 2.4,

        "fillForeColor": {

            "red": 208,

            "green": 255,

            "blue": 240,

            "alpha": 255

        },

        "fillGradientOffsetRatioY": 0,

        "markerWidth": 0,

        "markerAngle": 0,

        "fillSymbolID": 0,

        "lineColor": {

            "red": 201,

            "green": 201,

            "blue": 201,

            "alpha": 255

        },

        "markerSymbolID": 0,

        "lineWidth": 0.1,

        "markerHeight": 0,

        "fillOpaqueRate": 100,

        "fillBackOpaque": true,

        "fillBackColor": {

            "red": 255,

            "green": 255,

            "blue": 255,

            "alpha": 255

        },

        "fillGradientMode": "NONE",

        "lineSymbolID": 964814,

        "fillGradientAngle": 0

    },

    "displayOrderBy": null,

    "symbolScale": 0,

    "fields": [

        {

            "isRequired": true,

            "defaultValue": "",

            "name": "SmID",

            "caption": "SmID",

            "type": "INT32",

            "maxLength": 4,

            "isZeroLengthAllowed": true,

            "isSystemField": true

        },

        {

            "isRequired": true,

            "defaultValue": "0",

            "name": "SmUserID",

            "caption": "SmUserID",

            "type": "INT32",

            "maxLength": 4,

            "isZeroLengthAllowed": true,

            "isSystemField": false

        },

        {

            "isRequired": true,

            "defaultValue": "0",

            "name": "SmLength",

            "caption": "SmLength",

            "type": "DOUBLE",

            "maxLength": 8,

            "isZeroLengthAllowed": true,

            "isSystemField": true

        },

        {

            "isRequired": true,

            "defaultValue": "0",

            "name": "SmTopoError",

            "caption": "SmTopoError",

            "type": "INT32",

            "maxLength": 4,

            "isZeroLengthAllowed": true,

            "isSystemField": true

        },

        {

            "isRequired": true,

            "defaultValue": "",

            "name": "SmGeometry",

            "caption": "SmGeometry",

            "type": "LONGBINARY",

            "maxLength": 0,

            "isZeroLengthAllowed": true,

            "isSystemField": true

        },

        {

            "isRequired": false,

            "defaultValue": "",

            "name": "GB",

            "caption": "GB",

            "type": "DOUBLE",

            "maxLength": 8,

            "isZeroLengthAllowed": true,

            "isSystemField": false

        },

        {

            "isRequired": false,

            "defaultValue": "",

            "name": "RN",

            "caption": "RN",

            "type": "WTEXT",

            "maxLength": 7,

            "isZeroLengthAllowed": true,

            "isSystemField": false

        },

        {

            "isRequired": false,

            "defaultValue": "",

            "name": "NAME",

            "caption": "NAME",

            "type": "WTEXT",

            "maxLength": 60,

            "isZeroLengthAllowed": true,

            "isSystemField": false

        },

        {

            "isRequired": false,

            "defaultValue": "",

            "name": "TYPE",

            "caption": "TYPE",

            "type": "WTEXT",

            "maxLength": 20,

            "isZeroLengthAllowed": true,

            "isSystemField": false

        },

        {

            "isRequired": false,

            "defaultValue": "",

            "name": "SHAPE_Leng",

            "caption": "SHAPE_Leng",

            "type": "DOUBLE",

            "maxLength": 8,

            "isZeroLengthAllowed": true,

            "isSystemField": false

        }

    ],

    "representationField": ""

}

HEAD 请求

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

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

请参见