空间数据管理接口 最后更新时间: 2022年06月30日
产品介绍
空间数据管理接口是一类Web API接口服务,在GeoHUB前端数据托管能力的基础上,支持开发者通过REST服务请求迅速进行数据增删改查,以提供更为专业、轻量、灵活的数据管理方式。该服务以HTTP/HTTPS形式封装多种数据搜索接口,其中包括数据集维度和内容维度两种操作。以下为调用该接口前的数据准备流程:
适用场景
用户上传空间数据集后,需要数据集相关的增删改查操作,方便开发者灵活调用。
- 数据集维度操作
- 获取数据集信息列表:根据uid获取数据集列表,返回数据集详情数组
- 数据集详情:查询单个数据集的详情,返回数据集详情对象
- 创建空数据集:创建空数据集表,并建立相应的空间表
- 编辑数据集:编辑数据集属性字段、类型等,并修改相应空间表的属性字段
- 删除数据集属性:删除数据集属性字段、类型等,并删除相应空间表的属性字段
- 删除数据集:删除数据集,并删除相应空间表
- 内容维度操作
- 获取feature列表:获取feature列表,包括gid/geometry/properties
- 增加单个feature:增加单个feature,输入geojson,返回gid
- 编辑单个feature:编辑单个feature,输入geojson,返回gid
- 批量新增feature:批量增加单个feature,输入geojson数组,返回gid数组
- 批量编辑feature:批量编辑feature,输入geojson数组,返回gid数组
- 删除feature:删除单个feature,或者全部删除
使用限制
三方数据空间检索接口对个人认证开发者和企业开发者开放。
使用说明
第一步,申请”Web服务API”密钥(Key);
第二步,拼接HTTP请求URL,第一步申请的Key需作为必填参数一同发送;
第三步,接收HTTP请求返回的数据(JSON或XML格式),解析数据。
如无特殊声明,接口的输入参数和输出数据编码全部统一为UTF-8。
服务文档
说明:所有请求中query请带上key和sig参数,如下:
1. 批量读取数据集信息
该接口可返回多个数据集的相关信息,其中包括:数据集名称、数据集创建时间、数据集最近更改时间、数据集中的数据对象计数、数据集大小、数据集中的全局属性信息。
API 服务地址
请求参数 (Body)
返回结果
响应示例
{
"status": "1",
"info": "success",
"infocode": "10000",
"datasets": [
{
"dataset_id": "14c83abf-7140-41d0-8250-20ce7cab3cdd",
"dataset_name": "测试1",
"created": "2022-01-10T08:18:01.544Z",
"modified": "2022-01-10T08:18:04.603Z",
"feature_cnt": 50,
"properties_info": {
"属性1": "string",
"属性2": "number",
"属性3": "boolean"
},
"size": 0.12
}
]
}
2. 读取单个数据集信息
该接口可返回单个数据集的相关信息,其中包括:数据集名称、数据集创建时间、数据集最近更改时间、数据集中的数据对象计数、数据集大小、数据集中的全局属性信息。
API 服务地址
请求参数 (Query)
返回结果
同「批量读取数据集信息」返回参数一致,但仅返回单个数据集信息。具体参数详见上文。
响应示例
{
"status": "1",
"info": "success",
"infocode": "10000",
"datasets": [
{
"dataset_id": "14c83abf-7140-41d0-8250-20ce7cab3cdd",
"dataset_name": "测试1",
"created": "2022-01-10T08:18:01.544Z",
"modified": "2022-01-10T08:18:04.603Z",
"feature_cnt": 50,
"properties_info": {
"属性1": "string",
"属性2": "number",
"属性3": "boolean"
},
"size": 0.12
}
]
}
3. 创建空数据集
该接口可以创建全新的空数据集。需指定数据集名称,可选择配置全局属性(属性名称:属性类型)。
API 服务地址
请求参数 (Body)
返回参数
同「读取单个数据集信息」返回参数一致,但仅返回单个数据集信息。具体参数详见上文。
响应示例
{
"status": "1",
"info": "ok",
"infocode": "10000",
"datasets": {
"dataset_id": "6fa6aea3-54a7-4d99-b292-767acded3283",
"dataset_name": "测试2",
"created": "2022-01-10T11:33:43.115Z",
"modified": "2022-01-10T11:33:43.115Z",
"feature_cnt": 0,
"properties_info": {
"属性1": "string",
"属性2": "number",
"属性3": "boolean"
},
"size": 0
}
}
4. 编辑数据集信息
该接口可对数据集进行重命名,并修改数据集的全局属性。
API 服务地址
请求参数 (Body)
返回参数
同「读取单个数据集信息」返回参数一致,详见上文。
响应示例
{
"status": "1",
"info": "success",
"infocode": "10000",
"datasets": {
"dataset_id": "6fa6aea3-54a7-4d99-b292-767acded3283",
"dataset_name": "test_name_change",
"created": "2022-01-10T11:33:43.115Z",
"modified": "2022-01-10T11:35:50.966Z",
"properties_info": {
"属性0": "string"
},
"feature_cnt": 0,
"size": 0
}
}
5. 删除数据集全局属性
删除数据集中单个/多个全局属性。
API 服务地址
请求参数 (Body)
注意:删除属性会删除对应空间表中feature对应的属性
返回参数
响应示例
{
"status": "1",
"info": "ok",
"infocode": "10000",
"success": true
}
6. 删除数据集
API 服务地址
请求参数 (Body)
注意:已发布的数据集不可删除
返回参数
响应示例
{
"status": "1",
"info": "ok",
"infocode": "10000",
"success": true
}
7. 读取数据集内容
该接口可读取数据集中的所有数据对象,包括数据对象的地理位置坐标及其相关属性。
API 服务地址
请求参数 (Query)
返回参数
响应示例
{
"status": "1",
"info": "ok",
"infocode": "10000",
"dataset_id": "14c83abf-7140-41d0-8250-20ce7cab3cdd",
"objects":[
{
"gid": 1,
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
120.17529296875,
30.2459106445313
],
[
120.160095214844,
30.2459106445313
],
...
]
]
},
"properties": {
"属性1": "清波街道",
"属性2": 37,
"属性3": true
}
},
...
]
}
8. 增加单个数据对象
API 服务地址
请求参数 (Body)
注意:properties中的属性值必须在数据集prop_setting设置的返回之内和类型保持一致,否则返回失败
返回参数
响应示例
{
"status": "1",
"info": "ok",
"infocode": "10000",
"gid": 51,
"success": true
}
9. 编辑单个数据对象
API 服务地址
请求参数 (Body)
注意:properties中的属性值必须在数据集prop_setting设置的范围之内和类型保持一致,否则返回失败
返回参数
响应示例
{
"status": "1",
"info": "ok",
"infocode": "10000",
"gid": 51,
"success": true
}
10. 批量增加数据对象
API 服务地址
请求参数 (Body)
注意:properties中的属性值必须在数据集prop_setting设置的范围内和类型保持一致,否则返回失败
返回参数
响应示例
{
"status": "1",
"info": "ok",
"infocode": "10000",
"gid": [
53,
54
],
"success": true,
"success_cnt": 2
}
11. 批量编辑数据对象
API 服务地址
请求参数 (Body)
注意:properties中的属性值必须在数据集prop_setting设置的返回之内和类型保持一致,否则返回失败
返回参数
响应示例
{
"status": "1",
"info": "ok",
"infocode": "10000",
"gid": [
53,
54
],
"success": true,
"success_cnt": 2
}
12. 删除数据对象
API 服务地址
请求参数
返回参数
响应示例
{
"status": "1",
"info": "ok",
"infocode": "10000",
"failed_gids": [],
"success": true,
"success_cnt": 2
}