# 矢量数据流

# 获取矢量数据流列表

# 请求 URL:

  • http://host:port/heycloud/api/data/vdatastream/list

# 请求方式:

  • GET

# 请求 Header:

字段 类型 是否必选 说明
x-heycloud-admin-session String 通过 session 提供管理权限
x-heycloud-account-id String 帐号的唯一标识符,如为 * 则表示不过滤帐户

# 请求参数:

参数名称 类型 可选值 是否必须 默认值 说明
search String - - 搜索的文本
sortField String - createdAt 排序的字段
sortType String desc | asc desc 排序的类型
offset Number - 0 返回结果的偏移量,用于分页
limit Number - 11 返回结果的数量,用于分页

# 请求示例

GET http://host:port/heycloud/api/data/vdatastream/list?search=&offset=0&limit=11

# 正确响应示例:

{
  "result": [
    {
      "id": "53bafec8-9abf-402e-90df-83a64be0add3",
      "accountId": "",
      "title": "搜索",
      "sr": "gcj-02",
      "geomType": "Polyline",
      "createdAt": "2021-06-16T06:38:48.818Z"
    }
  ]
}

# 错误响应示例:

{
  "error": "ERROR",
  "message": "错误信息"
}

# 获取 vdatastream 的元数据

# 请求 URL:

  • http://host:port/heycloud/api/data/vdatastream/:vdatastreamId/meta

# 请求方式:

  • GET

# 请求 Header:

字段 类型 是否必选 说明
x-heycloud-admin-session String 通过 session 提供管理权限
x-heycloud-account-id String 帐号的唯一标识符,如为 * 则表示不过滤帐户

# 请求参数:

参数名称 类型 可选值 是否必须 默认值 说明
vdatastreamId String - - 矢量数据流的 ID

# 请求示例

GET http://host:port/heycloud/api/data/vdatastream/xxxxx/meta

# 正确响应示例:

{
  "result": {
    "id": "53bafec8-9abf-402e-90df-83a64be0add3",
    "accountId": "",
    "title": "搜索",
    "sr": "gcj-02",
    "geomType": "Polyline",
    "createdAt": "2021-06-16T06:38:48.818Z",
    "geomFields": [
      { "name": "_geom", "type": "geometry" },
      { "name": "_geom_wm", "type": "geometry" }
    ],
    "attrFields": [
      { "name": "sn", "type": "int8" },
      { "name": "data", "type": "jsonb" },
      { "name": "sr", "type": "text" },
      { "name": "createdAt", "type": "timestamp" }
    ],
    "indexes": [
      { "name": "t_53bafec8-9abf-402e-90df-83a64be0add3_createdAt_idx", "field": "createdAt" },
      { "name": "t_53bafec8-9abf-402e-90df-83a64be0add3__geom_idx", "field": "_geom" },
      { "name": "t_53bafec8-9abf-402e-90df-83a64be0add3__geom_wm_idx", "field": "_geom_wm" }
    ]
  }
}

# 错误响应示例:

{
  "error": "ERROR",
  "message": "错误信息"
}

# 向矢量数据流添加一条数据

# 请求 URL:

  • http://host:port/heycloud/api/data/vdatastream/:vdatastreamId/add

# 请求方式:

  • POST

# 请求 Header:

字段 类型 是否必选 说明
x-heycloud-admin-session String 通过 session 提供管理权限
x-heycloud-account-id String 帐号的唯一标识符,如为 * 则表示不过滤帐户

# 请求参数:

参数名称 类型 可选值 是否必须 默认值 说明
vdatastreamId String - - 矢量数据流的 ID
data Object - - 需要存储的数据
geom Object - - 该数据相关的几何信息,GeoJSON 格式
sr String web-mercator | wgs-84 | cgcs-2000 | gcj-02 | bd-09 wgs-84 几何信息的空间参考,默认 WGS84

# 请求示例

POST http://host:port/heycloud/api/data/vdatastream/xxxxx/add

{
  data: {...},
  geom: {...}
}

# 正确响应示例:

{
  "result": {}
}

# 错误响应示例:

{
  "error": "ERROR",
  "message": "错误信息"
}

# 按时间从矢量数据流中丢弃过期数据

# 请求 URL:

  • http://host:port/heycloud/api/data/vdatastream/:vdatastreamId/drop

# 请求方式:

  • POST

# 请求 Header:

字段 类型 是否必选 说明
x-heycloud-admin-session String 通过 session 提供管理权限
x-heycloud-account-id String 帐号的唯一标识符,如为 * 则表示不过滤帐户

# 请求参数:

参数名称 类型 可选值 是否必须 默认值 说明
vdatastreamId String - - 矢量数据流的 ID
interval Object - 3 months 丢弃多久之前的数据

# 请求示例

POST http://host:port/heycloud/api/data/vdatastream/xxxxx/drop

{
  interval: "30 days"
}

# 正确响应示例:

{
  "result": {}
}

# 错误响应示例:

{
  "error": "ERROR",
  "message": "错误信息"
}

# 根据条件查询记录

# 请求 URL:

  • http://host:port/heycloud/api/data/vdatastream/:vdatastreamId/query

# 请求方式:

  • POST

# 请求 Header:

字段 类型 是否必选 说明
x-heycloud-admin-session String 通过 session 提供管理权限
x-heycloud-account-id String 帐号的唯一标识符,如为 * 则表示不过滤帐户

# 请求参数:

参数名称 类型 可选值 是否必须 默认值 说明
vdatastreamId String - - 矢量数据流的 ID
where String - - 查询的条件
geomField String - - 查询的几何字段
geom Object - - 该数据相关的几何信息,GeoJSON 格式
sortField String - createdAt 排序的字段
sortType String desc | asc desc 排序的类型
offset Number - 0 返回结果的偏移量,用于分页
limit Number - 11 返回结果的数量,用于分页
returnAttrFields Array - [] 返回的属性字段
returnGeomFields Array - [] 返回的几何字段
toWebMercator Boolean - false 返回转换到 Web Mercator 的几何字段,此时不需要指定 returnGeomFields

# 请求示例

POST http://host:port/heycloud/api/data/vdatastream/xxxxx/query

{
  "where": "id>10",
  "geomField": "_geom",
  "geom": { type: 'Point', coordinates: [0, 0] },
  "sortField": "id",
  "sortType": "asc",
  "offset": 0,
  "limit": 11,
  "returnAttrFields": ["id", "city"],
  "toWebMercator": true
}

# 正确响应示例:

{
  "result": [
    {
      "id": 24536,
      "city": "153",
      "_geom": "..."
    }
  ]
}

# 错误响应示例:

{
  "error": "ERROR",
  "message": "错误信息"
}

# 更新标题

# 请求 URL:

  • http://host:port/heycloud/api/data/vdatastream/:vdatastreamId/updateTitle

# 请求方式:

  • POST

# 请求 Header:

字段 类型 是否必选 说明
x-heycloud-admin-session String 通过 session 提供管理权限
x-heycloud-account-id String 帐号的唯一标识符,如为 * 则表示不过滤帐户

# 请求参数:

参数名称 类型 可选值 是否必须 默认值 说明
vdatastreamId String - - 矢量数据流的 ID
title String - - 更新的标题

# 请求示例

POST http://host:port/heycloud/api/data/vdatastream/xxxxx/updateTitle

{
  title: "xxx"
}

# 正确响应示例:

{
  "result": [
    {
      "title": "xxx"
    }
  ]
}

# 错误响应示例:

{
  "error": "ERROR",
  "message": "错误信息"
}