Skip to content

Latest commit

 

History

History
74 lines (64 loc) · 2.41 KB

ARCHITECTURE.md

File metadata and controls

74 lines (64 loc) · 2.41 KB

项目架构

本项目为 wuhan2020 数据采集平台的数据同步项目,本项目采用石墨协作+自动化落仓的方式采集数据。

石墨文档说明

石墨文档样例地址

表头说明

  • 第一列为说明列
  • 表头支持多级分类,以N级类别标识
  • 类型为字段类型信息,包含以下几类,未来可能扩展
    • string 文本类型
    • int 整数类型
    • float 浮点数类型
    • address 地址类型,数据转换时将自动追加经纬度坐标字段coord
    • contact 联系方式,联系人与联系方式半角:分割,多个联系人|分割,例如张三:13999999999|李四:021-00000000
    • date 日期数据,所有可识别日期类型
    • enum{a,b,c} 枚举类型,只能是 a, b, c 其中一种
    • supply 物资类信息,可以填 supply|YY0469 2011|后为默认物资规格。若与默认规格一致,则仅填入数量即可;若规格不一致,则使用类似1000|GB 19083-2010;其中 1 表示无数量上限。
  • 可提供默认值,例如数字提供默认值为 0,则没有填入数据的行自动填入 0

转换程序说明

数据转换程序为本项目核心,将根据上述表头信息和石墨表格具体数据转换为结构化数据

数据基本示例为:

[
  [
    {
      "key": "县市",
      "type": "string",
      "value": "来凤县",
    },
    {
      "key": "地址",
      "type": "address",
      "coord": [109.4,29.5],
      "value": "湖北省恩施土家族苗族自治州来凤县中心医院"
    },
    {
      "key": "医用外科口罩",
      "type": "supply",
      "specification": "YY 0469-2011",
      "value": 1
    },
    {
      "key": "联系人",
      "type": "contact",
      "value": [
        {
          "name": "张三",
          "tel": "13999999999"
        },
        {
          "name": "李四",
          "tel": "021-99999999"
        }
      ]
    }
  ]
]

JSON 数据结构为二维表结构,每个单元格对应一个对象,该对象包含

  • key 为字段名
  • type 为数据类型,对应表头中 type 类型
  • value 为具体数据
  • typeaddress,则自动添加 coord 字段为火星坐标
  • typesupply,则可能包含 specification 字段为规格信息
  • typecontact,则 value 为联系人数组,单联系人结构为 {name: string, tel: string}