2. Leica点云数据格式与组织
在Leica点云质量控制流程中,数据格式与组织方式决定了后续检查、转换和验收能否顺利进行。Leica Cyclone、Register 360、Infinity 等软件输出的点云可能以 PTX、E57、LAS/LAZ、RCP 等格式存在,不同格式对坐标系、强度、颜色、扫描仪位置、时间戳等信息的承载能力差异很大。若在格式转换或交付时忽略这些差异,轻则丢失属性,重则导致坐标错位、模型无法配准。因此,本节围绕“格式能力—转换策略—坐标系定义—元数据检查”四个关键环节展开。
一、常见格式的能力与适用场景
PTX 是 Leica 及多数扫描仪常用的中间交换格式,采用 ASCII 文本存储,头部包含扫描仪位置、旋转矩阵和行列数,点记录为 X Y Z Intensity R G B。它的优点是结构简单、便于人工查看,缺点是文件体积大、不支持多扫描站组织、无标准元数据描述,通常用于单站或小范围数据交换。
E57 是 ASTM E2807 标准定义的三维点云交换格式,采用二进制压缩存储,可同时容纳多个扫描站、点云、图像和扩展元数据。E57 能记录每站的原点、旋转、坐标系定义以及点属性,是 Leica 项目跨平台交付的首选。但 E57 对坐标系语义的表达依赖写入方是否规范,若写入时未明确 CRS,读取端可能默认按局部坐标处理。
LAS/LAZ 是 ASPRS 定义的激光雷达点云标准格式,LAZ 为无损压缩版本。LAS 1.4 支持 WKT 坐标系描述、分类码、强度、回波、GPS 时间等,适合与 GIS、测绘成果对接。其局限在于对扫描仪站心、旋转矩阵等 Leica 专有信息支持较弱,转换时需通过 Extra Bytes 或 VLR 补充。
RCP 是 Autodesk ReCap 的项目格式,常用于 Revit、Civil 3D 等 BIM 环境。RCP 本身是索引容器,实际点数据存于 RCS,支持多站合并和坐标显示,但它是封闭格式,元数据可读性差,不适合作为归档或跨平台交换的原始交付格式。
二、格式转换的关键操作与参数
以 Leica Cyclone 导出 E57 为例,转换前应确认项目已完成配准并处于目标坐标系。在 Cyclone 中打开已配准的 ModelSpace,选择 File → Export → E57,弹出对话框中需关注三项:一是“Coordinate System”应选择项目实际使用的坐标系,如“WGS 84 / UTM zone 50N”或本地工程坐标系;二是“Include Scanner Positions”应勾选,以保留站心;三是“Point Attributes”中强度、颜色、分类按需勾选。若目标为 LAS,则需在导出前将点云转换到投影坐标系,并在 LAS 头中写入 WKT。
从 E57 转 LAS 时,常用 PDAL 或 LAStools。以 PDAL 为例,管道配置如下:
{
"pipeline": [
{ "type": "readers.e57", "filename": "scan.e57" },
{ "type": "filters.reprojection",
"in_srs": "EPSG:32650",
"out_srs": "EPSG:32650" },
{ "type": "writers.las",
"filename": "scan.laz",
"compression": "laszip",
"minor_version": 4,
"global_encoding": 16,
"scale_x": 0.001, "scale_y": 0.001, "scale_z": 0.001 }
]
}
其中 scale 决定坐标存储精度,0.001 表示毫米级,适合建筑扫描;若为地形扫描可放宽至 0.01。global_encoding 设为 16 表示写入 WKT 坐标系。转换完成后应检查 LAS 头中的 X/Y/Z 范围是否与源数据一致,避免因偏移量或缩放导致坐标跳变。
三、坐标系定义与一致性检查
坐标系定义是点云质量控制的红线。Leica 项目常见三种坐标状态:扫描仪局部坐标、项目配准坐标、国家/工程坐标。局部坐标以扫描仪为原点,单位米,无 CRS;配准坐标通过靶球或云对云配准得到,仍可能无 CRS;只有明确指定 EPSG 或 WKT 后,才具备地理参考意义。
检查时先看元数据中的 CRS 字段。E57 可用 pye57 读取 header 中的 coordinateMetadata;LAS 可用 lasinfo 查看 WKT 和 VLR。若 CRS 为空,需回溯配准报告中的控制点坐标,判断实际坐标系。若同一项目不同站点的 CRS 不一致,应统一重投影后再合并,不能直接拼接。
四、元数据完整性检查清单
元数据完整性直接决定点云能否被验收方正确读取。建议在交付前逐项核对以下内容,并形成检查记录:
| 检查项 | PTX | E57 | LAS/LAZ | RCP |
|---|---|---|---|---|
| 坐标系(CRS/WKT) | 无 | 可写入,需确认 | WKT/VLR,需确认 | 项目设置,弱 |
| 扫描站心/旋转 | 有 | 有 | 需VLR补充 | 内部保留 |
| 强度 | 有 | 有 | 有 | 有 |
| RGB颜色 | 有 | 有 | 需额外维度 | 有 |
| 分类码 | 无 | 可扩展 | 有 | 无 |
| 时间戳/GPS时间 | 无 | 可扩展 | 有 | 无 |
| 点数量与范围 | 头部行列数 | 有 | 有 | 有 |
检查时还应关注点数量是否与源数据一致、坐标范围是否合理、是否存在 NaN 或无穷值。对于 E57,可用 pye57 读取 scan_count 和每站 point_count;对于 LAS,可用 lasinfo -i scan.laz -stdout 查看 point count、min/max 和 scale factor。若发现点数量明显减少,应检查转换时是否误用了抽稀或过滤。
综上,Leica 点云格式转换不是简单的“另存为”,而是坐标系、站心、属性和元数据的再组织过程。只有先明确目标格式的能力边界,再规范写入 CRS 和关键属性,最后通过元数据检查确认完整性,才能保证点云在后续质量控制和成果验收中不因格式问题产生歧义。