Skip to content

编辑工具

本章节介绍标注工具结果文件的格式说明

结果数据

文件位置:objects/data.json

json
{
  "objectId": "3",           // 对象标识
  "classType": "class2",    // 类别名称
  "classAttrs": {},         // 类别属性
  "seg": 2,                 // 段号
  "pointN": 957144,         // 包含的点数量
  "objType": "3D_SEGMENT",  // 对象类型:3D_BOX / 3D_SEGMENT
  "boundingBox": {          // 3D_SEGMENT的边框
    "min": { "x": 476835.3, "y": 3667821.9, "z": 57.1 },
    "max": { "x": 476875.6, "y": 3667868.5, "z": 60.4 }
  },
  "transform": {  // 3D_BOX 的变换参数
    "position": { "x": 476740.6824, "y": 3667803.7269, "z": 57.675 },
    "rotation": { "x": 0, "y": 0, "z": -1.9374 },
    "scale": { "x": 13.0306, "y": 17.0763, "z": 3.796 }
  }
}

标签数据

文件位置:class.json

json
{
  "name": "car",          // 名称
  "alias": "汽车",        // 别名(可选)
  "color": "#FF0000",     // 颜色
  "attrs": [              // 属性列表
    {
      "name": "direction",
      "alias": "朝向",
      "value": "",
      "type": "SELECTION",  // CHECK / SELECTION / TEXT
      "options": [
        { "id": "opt1", "name": "向前", "value": "forward" },
        { "id": "opt2", "name": "向后", "value": "backward" }
      ]
    }
  ]
}

属性类型

说明
CHECK复选框
SELECTION单选/多选
TEXT文本输入

分割数据

文件位置:segments 目录下pcd文件,pcd文件中seg字段对应结果数据里面的seg字段

文件名

界面介绍

每一个文件名对应一个点云分块的名字

详情参考ept的文档(https://entwine.io/en/latest/entwine-point-tile.html)

根据节点的key转换到节点的名称,

javaScript
function keyToName([d, x, y, z]) {
  let name = 'r';

  for (let i = 0; i < d; ++i) {
    let shift = d - i - 1;
    let mask = 1 << shift;
    let step = 0;

    if (x & mask) step += 4;
    if (y & mask) step += 2;
    if (z & mask) step += 1;

    name += step;
  }
  return name;
}

更多信息可以参考potree中PointCloudEptGeometry的实现(https://github.com/potree/potree/blob/develop/src/PointCloudEptGeometry.js)

文件内容

pcd 内容如下: 界面介绍