fields


URI

<dataset_uri>/fields[.<format>]

支持的方法

GETHEAD

父资源

dataset

子资源

field

介绍

fields 资源表示一个数据集中所有属性字段(field)的集合。

通过对 fields 资源执行 GET 请求可以获取数据集中的字段信息列表。

SuperMap 的数据集属性表中的属性字段分为系统字段和非系统字段。系统字段是用户创建一个新的数据集时默认生成的字段,字段本身不能进行编辑,字段内容除了 SMUSERID 外都是不允许用户编辑的。非系统字段即用户创建的字段,用户可以编辑字段和字段的内容。不同类型数据集的系统字段不完全相同,但所有的系统字段都以英文字母“SM”开头。下面的表格以 UDB 文件型数据源引擎为例,列出了不同类型数据集的系统字段。

数据集类型 系统字段
点数据集 SMID、SMX、SMY、SMLIBTIL、SMUSERID、SMGEOMETRYSIZE
线数据集 SMID、SMLENGTH、SMSDRIW、SMSDRIN、SMSDRIE、SMSDRIS、SMUSERID、SMTOPOERROR、SMGEOMETRYSIZE
面数据集 SMID、SMSDRIW 、SMSDRIN、SMSDRIE、SMSDRIS、SMUSERID、SMARE、SMPERIMETER、SMGEOMETRYSIZE
文本数据集 SMID、SMSDRIW、SMSDRIN、SMSDRIE、SMSDRIS、SMUSERID 、SMGEOMETRYSIZE
复合数据集 SMID、SMSDRIW、SMSDRIN、SMSDRIE、SMSDRIS、SMUSERID 、SMGEOTYPE、SMLIBTIL、SMGEOMETRYSIZE
三维点数据集 SMID、SMX、SMY、SMZ、SMUSERID、SMGEOMETRYSIZE
三维线数据集 SMID、SMLENGTH、SMSDRIW、SMSDRIN、SMSDRIE、SMSDRIS、SMUSERID、SMTOPOERROR、SMGEOMETRYSIZE
三维面数据集 SMID、SMSDRIW 、SMSDRIN、SMSDRIE、SMSDRIS、SMUSERID、SMARE、SMPERIMETER、SMGEOMETRYSIZE

 

支持的方法:

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

资源层次

HTTP 请求方法

对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiserver 是服务器名。

http://supermapiserver:8090/iserver/services/datacatalog/rest/datacatalog/relationship/datasets/{datasetsName}/fields/{fieldName}.rjson

GET 请求

获取字段信息集合。其中集合中的单个元素(即单个字段信息)包括字段名称,字段类型,字段别名,字段默认值,字段是否允许为空,字段最大长度,是否允许长度为零,字段最大长度等。

请求参数

无。

响应结构

对 fields 资源执行 GET 请求,返回的响应体的结构如下:

字段 类型 说明
fieldNames List<String> 字段名称列表。
childUriList List<String> 字段信息(field 资源)访问路径列表。

 

示例

对示例 fields 资源:http://supermapiserver:8090/iserver/services/datacatalog/rest/datacatalog/relationship/datasets/Capitals_310302807/fields.rjson 执行 GET 请求,获取 World 数据源 Capitals_310302807 数据集中的字段信息集合,rjson 格式的资源表述如下:

{

  "childUriList": [

    "http://localhost:8090/iserver/services/datacatalog/rest/datacatalog/relationship/datasets/Capitals_310302807/fields//SMID",

    "http://localhost:8090/iserver/services/datacatalog/rest/datacatalog/relationship/datasets/Capitals_310302807/fields//SMX",

    "http://localhost:8090/iserver/services/datacatalog/rest/datacatalog/relationship/datasets/Capitals_310302807/fields//SMY",

    "http://localhost:8090/iserver/services/datacatalog/rest/datacatalog/relationship/datasets/Capitals_310302807/fields//SMLIBTILEID",

    "http://localhost:8090/iserver/services/datacatalog/rest/datacatalog/relationship/datasets/Capitals_310302807/fields//SMUSERID",

    "http://localhost:8090/iserver/services/datacatalog/rest/datacatalog/relationship/datasets/Capitals_310302807/fields//USERID",

    "http://localhost:8090/iserver/services/datacatalog/rest/datacatalog/relationship/datasets/Capitals_310302807/fields//POP",

    "http://localhost:8090/iserver/services/datacatalog/rest/datacatalog/relationship/datasets/Capitals_310302807/fields//CAPITAL_LO",

    "http://localhost:8090/iserver/services/datacatalog/rest/datacatalog/relationship/datasets/Capitals_310302807/fields//CAPITAL_CH",

    "http://localhost:8090/iserver/services/datacatalog/rest/datacatalog/relationship/datasets/Capitals_310302807/fields//COUNTRY_CH",

    "http://localhost:8090/iserver/services/datacatalog/rest/datacatalog/relationship/datasets/Capitals_310302807/fields//CAPITAL_EN",

    "http://localhost:8090/iserver/services/datacatalog/rest/datacatalog/relationship/datasets/Capitals_310302807/fields//COUNTRY_EN",

    "http://localhost:8090/iserver/services/datacatalog/rest/datacatalog/relationship/datasets/Capitals_310302807/fields//COUNTRY",

    "http://localhost:8090/iserver/services/datacatalog/rest/datacatalog/relationship/datasets/Capitals_310302807/fields//CAP_POP",

    "http://localhost:8090/iserver/services/datacatalog/rest/datacatalog/relationship/datasets/Capitals_310302807/fields//CAPITAL"

  ],

  "fieldNames": [

    "SMID",

    "SMX",

    "SMY",

    "SMLIBTILEID",

    "SMUSERID",

    "USERID",

    "POP",

    "CAPITAL_LO",

    "CAPITAL_CH",

    "COUNTRY_CH",

    "CAPITAL_EN",

    "COUNTRY_EN",

    "COUNTRY",

    "CAP_POP",

    "CAPITAL"

  ]

}

HEAD 请求

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

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

请参见