<datastore_uri>/{itemName}[.<format>]
itemMetaData 表示数据存储中数据集的元信息。当注册的内容为一个数据存储目录或数据库时,该资源可用。通过对 itemMetaData 资源执行 GET 请求,可以获取指定数据集的详细信息,执行 PUT 请求,可修改指定数据集的信息。
支持的方法:
支持的表述格式:RJSON、JSON、HTML、XML。
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiserver 是服务器名,itemName 是将要查询的数据集名称。
http://supermapiserver:8090/iserver/manager/datastores/{datastoreID}/{itemName}.rjson
获取指定数据集的元信息。
无
对 itemMetaData 资源执行 GET 请求,对于SuperMap 数据集文件,返回的资源表述可参考JavaDoc 中 UDBDatasetInfo 类型的描述,结构如下(资源表述在响应消息的实体主体里):
字段 | 类型 | 说明 |
available |
boolean |
是否可用。 |
bounds |
String | 数据集范围。 |
datasetName |
String | 数据集名称。 |
datasetType |
String | 数据集类型。 |
epsgCode |
int | 投影坐标系对应的 EPSG Code。 |
name |
String | 在数据存储中数据集的标识名称。 |
readOnly |
boolean | 是否为只读数据集。 |
type |
BigDataFileShareDatasetInfoType | 数据类型。值为 UDB。 |
url |
String | 数据所在目录。 |
对 itemMetaData 资源执行 GET 请求,对于 CSV 数据文件,返回的资源表述可参考JavaDoc 中 CSVDatasetInfo 类型的描述,结构如下(资源表述在响应消息的实体主体里):
字段 | 类型 | 说明 |
available |
boolean |
是否可用。 |
firstRowIsHead |
String | 首行内容是否是字段头。 |
prjCoordsys |
int | 投影坐标系对应的 EPSG Code。 |
separator |
String | 分隔符。 |
type |
String | 数据类型。值为 CSV。 |
xIndex |
boolean | x字段索引 |
yIndex |
BigDataFileShareDatasetInfoType | y字段索引 |
url |
String | 数据所在目录。 |
name |
String | 在数据存储中数据集的标识名称。 |
对示例 itemMetaData 资源:http://supermapiserver:8090/iserver/manger/datastores/ProcessingData/ProcessingData_newyork_taxi_2013-01_14k.rjson 执行 GET 请求,获取名为 ProcessingData_China_China_Nation_B_pt 的 UDB 数据信息,返回的表述如下:
{
"available": true,
"bounds": "Left=9318514.1215032,Bottom=4146270.998962601,Right=1.2919664875787497E7,Top=4307249.398482071",
"datasetName": "China_Nation_B_pt",
"datasetType": "POINT",
"epsgCode": 3857,
"name": "ProcessingData_China_China_Nation_B_pt",
"readOnly": false,
"type": "UDB",
"url": "E:\\data\\ProcessingData\\China.udb"
}
对示例 itemMetaData 资源:http://supermapiserver:8090/iserver/manger/datastores/ProcessingData/ProcessingData_newyork_taxi_2013-01_14k.rjson 执行 GET 请求,获取名为 ProcessingData_newyork_taxi_2013-01_14k 的CSV 数据信息,返回的表述如下:
{
"available": true,
"firstRowIsHead": false,
"name": "ProcessingData_newyork_taxi_2013-01_14k",
"prjCoordsys": -1,
"separator": ",",
"type": "CSV",
"url": "E:\\data\\ProcessingData\\newyork_taxi_2013-01_14k.csv",
"xIndex": 10,
"yIndex": 11
}
修改CSV数据的元信息
对 itemMetaData 资源执行 PUT 请求,对CSV数据的元信息进行修改,需要在请求体中包含以下参数:
字段 | 类型 | 说明 |
firstRowIsHead |
String | 首行内容是否是字段头。 |
prjCoordsys |
int | 投影坐标系对应的 EPSG Code。 |
separator |
String | 分隔符。 |
type |
String | 数据类型。值为 CSV。 |
xIndex |
boolean | x字段索引 |
yIndex |
BigDataFileShareDatasetInfoType | y字段索引 |
url |
String | 数据所在目录。 |
name |
String | 在数据存储中数据集的标识名称。 |
对 itemMetaData 资源:http://supermapiserver:8090/iserver/manger/datastores/ProcessingData/ProcessingData_newyork_taxi_2013-01_14k.rjson 执行请求体如下的 PUT 请求,修改x、y索引:
{
"type":"CSV",
"name":"ProcessingData_newyork_taxi_2013-01_14k",
"url":"E:\\data\\ProcessingData\\newyork_taxi_2013-01_14k.csv",
"xIndex":"12",
"yIndex":"13",
"separator":",",
"firstRowIsHead":false,
"prjCoordsys":"-1"
}
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 itemMetaData 资源是否存在,或者客户端是否有权限访问 itemMetaData 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 itemMetaData 资源是否支持<format>格式的表述。