<dataset_uri>/fields[.<format>]
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。
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiserver 是服务器名。
http://supermapiserver:8090/iserver/services/datacatalog/rest/datacatalog/sharefile/datasets/{datasetsName}/fields/{fieldName}.rjson
获取字段信息集合。其中集合中的单个元素(即单个字段信息)包括字段名称,字段类型,字段别名,字段默认值,字段是否允许为空,字段最大长度,是否允许长度为零,字段最大长度等。
无
对 fields 资源执行 GET 请求,返回的响应体的结构如下:
字段 | 类型 | 说明 |
fieldNames | List<String> | 字段名称列表。 |
childUriList | List<String> | 字段信息(field 资源)访问路径列表。 |
对示例 fields 资源:http://supermapiserver:8090/iserver/services/datacatalog/rest/datacatalog/sharefile/samples_processing_singleRegion_R/fields.rjson 执行 GET 请求,获取 World 数据源 Capitals_310302807 数据集中的字段信息集合,rjson 格式的资源表述如下:
{
"childUriList": [
"http://localhost:8090/iserver/services/datacatalog/rest/datacatalog/sharefile/samples_processing_singleRegion_R/fields//SmID",
"http://localhost:8090/iserver/services/datacatalog/rest/datacatalog/sharefile/samples_processing_singleRegion_R/fields//SmSdriW",
"http://localhost:8090/iserver/services/datacatalog/rest/datacatalog/sharefile/samples_processing_singleRegion_R/fields//SmSdriN",
"http://localhost:8090/iserver/services/datacatalog/rest/datacatalog/sharefile/samples_processing_singleRegion_R/fields//SmSdriE",
"http://localhost:8090/iserver/services/datacatalog/rest/datacatalog/sharefile/samples_processing_singleRegion_R/fields//SmSdriS",
"http://localhost:8090/iserver/services/datacatalog/rest/datacatalog/sharefile/samples_processing_singleRegion_R/fields//SmUserID",
"http://localhost:8090/iserver/services/datacatalog/rest/datacatalog/sharefile/samples_processing_singleRegion_R/fields//SmArea",
"http://localhost:8090/iserver/services/datacatalog/rest/datacatalog/sharefile/samples_processing_singleRegion_R/fields//SmPerimeter",
"http://localhost:8090/iserver/services/datacatalog/rest/datacatalog/sharefile/samples_processing_singleRegion_R/fields//SmGeometrySize",
"http://localhost:8090/iserver/services/datacatalog/rest/datacatalog/sharefile/samples_processing_singleRegion_R/fields//SmGeoPosition"
],
"fieldNames": [
"SmID",
"SmSdriW",
"SmSdriN",
"SmSdriE",
"SmSdriS",
"SmUserID",
"SmArea",
"SmPerimeter",
"SmGeometrySize",
"SmGeoPosition"
]
}
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 fields 资源是否存在,或者客户端是否有权限访问 fields 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 fields 资源是否支持<format>格式的表述。