# Json 文件格式 ::: details 目录 [[toc]] ::: ## 整体数据格式 ``` json5 { data:[ { elements:{ // 系统图展示所需数据 nodes:[], // 图例节点,所有与工程信息化相关的图例(图标类型与区域) markers:[], // 与工程信息无关的标识对象(增加文本注释,图上的图片说明) relations:[], // 管线对象 }, id: '', // 图ID name: '', // 名称 categoryID: '', // 图分类ID projectID: '', // 项目ID buildingID: '', // 建筑ID floorID: '', // 楼层id note: '', // 图说明 log: { // 图操作日志 mark:'', // 图的存盘标记 commandList:[ { command: '', // 命令 desc: '', // 描述 detail: '' // 详情 } ] } } ], message: '', result: '' } ``` ## 图例节点 ``` json5 nodes:[ { id: '', // ID name: '', // 名称 attachObjectIds:[], // 返回工程信息化对象 ID 列表 graphElementType: '', // 图例类型 None/Line/Zone/Image:非图例/线条/区域类型/图标 graphElementId: '', // 对应的图元ID num: 1 // 图例数量 type: '', // 节点类型(image / zone) pos: {x: 0, y: 0}, // 位置 scale: {x: 1, y: 1, Z: 1}, // 缩放 rotate: {x: 0, y: 0, Z: 0}, // 旋转 size: {width:0, height: 0}, // 大小 anchorList:[ { id: '', // 锚点ID pos: {x: 0, y: 0}, // 锚点的坐标 }, ... ], outline: [ [{x:0,y:0,z:0},...], // 外轮廓 ... // 内轮廓 ], // 轮廓线 properties: {} // 由应用自己定义 }, ... ] ``` ## 标识对象 ``` json5 markers:[ { id: '', // ID name: '', // 名称 type: '', // 图标(Image),线类型(Line),文本(Text) pos: {x: 0, y: 0}, // 位置 scale: {x: 1, y: 1, z: 1}, // 缩放 rotate: {x: 0, y: 0, z: 0}, // 旋转 size: {width: 0, height: 0}, // 大小 properties: {} // 由应用自己定义 }, ... ] ``` ## 对象关系 ``` json5 relations: [ { id: '', // ID name: '', // 名称 graphElementId: '', // 对应的图元ID node1Id: '', // 关联节点1_id node2Id: '', // 关联节点2_id anchor1Id: '', // 关联锚点1_id anchor2Id: '', // 关联锚点2_id dir: 0, // 方向(0:无向,1:节点1到节点2,2:节点2到节点1) lineType: '', // 直线(Line),水平垂直 pointList: [{x:0,y:0,z:0},...], // 线的顶点坐标 style: {} // 线的绘图样式 }, ... ] ```