URI
<featureService_uri>/{layerID} [.<format>]
支持的方法
父资源
子资源
applyEdits、addFeatures、deleteFeatures、query、feature、updateFeatures
介绍
图层资源表示要素服务中的单个要素图层或非空间表。对于表,它提供有关表的基本信息,例如其ID,名称,字段,类型和模板。对于要素图层,除了表信息外,它还提供诸如其几何类型,最小和最大比例以及空间参考之类的信息。
支持的方法:
资源层次
HTTP 请求方法
对如下 URI 执行 HTTP 请求,以 json 输出格式为例加以说明,其中,supermapiserver 是服务器名,{component}是服务组件名,{datasourceName}是数据源名,{layerID} 是图层 ID 号。
http://supermapiserver:8090/iserver/services/{component}/arcgisrest/{datasourceName}/FeatureServer/{layerID}
GET 请求
获取要素服务中的单个要素图层或非空间表的信息。
名称 | 类型 | 含义 |
f | String | 响应格式,支持 json、pjson |
响应结构
对 layer 资源执行 GET 请求得到单个要素图层或非空间表的信息,集合中的每一个元素的结构如下:
名称 | 类型 | 含义 |
extent | ArcGISMapExtend | 数据范围 |
capabilities | String | 图层能力 |
allowGeometryUpdates | boolean | 要素是否可编辑 |
maxRecordCount | int | 图层最大记录数 |
supportsAdvancedQueries | boolean | 是否支持高级查询 |
type | String | 图层类型 |
objectIdField | String | ObjectID字段名 |
supportedQueryFormats | String | 图层支持查询格式 |
name | String | 图层名 |
id | int | 图层ID |
fields | ArcGISFieldInfo[] | 字段信息 |
geometryType | ArcGISGeometryType | 几何要素类型 |
advancedQueryCapabilities | AdvancedQueryCapabilities | 高级查询能力。包含supportsStatistics,supportsReturningQueryExtent,supportsOrderBy, supportsQueryWithDistance,supportsPagination |
objectIdField | String | ObjectID字段名 |
drawingInfo | ArcGISDrawingInfo | 绘画信息 |
parentLayerId | int | 父图层ID |
defaultVisibility | boolean | 是否可见 |
subLayerIds | int[] | 子图层ID |
minScale | double | 最小可见比例尺倒数 |
maxScale | double | 最大可见比例尺倒数 |
响应示例
对 query 资源执行 GET 请求, URI:http://localhost:8090/iserver/services/data-BeijingAddress/arcgisrest/BeijingAddress/FeatureServer/0?f=pjson,返回 pjson 格式的资源表述如下:
{
"extent": {
"ymin": -191.48659999999998,
"xmin": -1990.501,
"ymax": 4919039.794963364,
"xmax": 1.3036772534609511E7,
"spatialReference": {"wkt": "PCS_NON_EARTH"}
},
"capabilities": "Create,Delete,Query,Update,Uploads,Editing",
"allowGeometryUpdates": true,
"maxRecordCount": 1000,
"supportsAdvancedQueries": true,
"type": "Feature Layer",
"objectIdField": "SMID",
"supportedQueryFormats": "JSON",
"name": "company",
"id": 0,
"fields": [
{
"nullable": true,
"editable": false,
"name": "SmID",
"alias": "SmID",
"type": "esriFieldTypeOID"
},
{
"nullable": true,
"editable": false,
"name": "SmX",
"alias": "SmX",
"type": "esriFieldTypeDouble"
},
{
"nullable": true,
"editable": false,
"name": "SmY",
"alias": "SmY",
"type": "esriFieldTypeDouble"
},
{
"nullable": true,
"editable": false,
"name": "SmLibTileID",
"alias": "SmLibTileID",
"type": "esriFieldTypeInteger"
},
{
"nullable": true,
"editable": true,
"name": "SmUserID",
"alias": "SmUserID",
"type": "esriFieldTypeInteger"
},
{
"nullable": true,
"editable": false,
"name": "SmGeometrySize",
"alias": "SmGeometrySize",
"type": "esriFieldTypeInteger"
},
{
"nullable": true,
"editable": false,
"name": "SmGeoPosition",
"alias": "SmGeoPosition",
"type": "esriFieldTypeInteger"
},
{
"nullable": true,
"editable": true,
"name": "ID",
"alias": "ID",
"type": "esriFieldTypeDouble"
},
{
"nullable": true,
"editable": true,
"name": "序号",
"alias": "序号",
"type": "esriFieldTypeDouble"
},
{
"nullable": true,
"editable": true,
"name": "法人代码",
"alias": "法人代码",
"type": "esriFieldTypeString"
},
{
"nullable": true,
"editable": true,
"name": "园区名称",
"alias": "园区名称",
"type": "esriFieldTypeString"
},
{
"nullable": true,
"editable": true,
"name": "一级分类",
"alias": "一级分类",
"type": "esriFieldTypeString"
},
{
"nullable": true,
"editable": true,
"name": "二级分类",
"alias": "二级分类",
"type": "esriFieldTypeString"
},
{
"nullable": true,
"editable": true,
"name": "区县",
"alias": "区县",
"type": "esriFieldTypeString"
},
{
"nullable": true,
"editable": true,
"name": "名称",
"alias": "名称",
"type": "esriFieldTypeString"
},
{
"nullable": true,
"editable": true,
"name": "地址",
"alias": "地址",
"type": "esriFieldTypeString"
},
{
"nullable": true,
"editable": true,
"name": "城市",
"alias": "城市",
"type": "esriFieldTypeString"
},
{
"nullable": true,
"editable": true,
"name": "city",
"alias": "city",
"type": "esriFieldTypeString"
},
{
"nullable": true,
"editable": true,
"name": "county",
"alias": "county",
"type": "esriFieldTypeString"
},
{
"nullable": true,
"editable": true,
"name": "ADDRESS",
"alias": "ADDRESS",
"type": "esriFieldTypeString"
},
{
"nullable": true,
"editable": true,
"name": "NAME",
"alias": "NAME",
"type": "esriFieldTypeString"
}
],
"geometryType": "esriGeometryPoint",
"advancedQueryCapabilities": {
"supportsStatistics": true,
"supportsReturningQueryExtent": true,
"supportsOrderBy": true,
"supportsQueryWithDistance": false
}
}
HEAD 请求
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 layer 资源是否存在,或者客户端是否有权限访问 layer 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 layer 资源是否支持<format>格式的表述。
请参见
- featureService、applyEdits、addFeatures、deleteFeatures、query、feature、updateFeatures
- 客户端构建 REST 请求
- 状态码列表及说明
- SuperMap iServer REST API 表述格式介绍
- 资源层次结构