前言
本文尝试并总结了多种方法的优缺点, 建议直接使用第4种方法。
方法1(基于CSF滤波算法)
方法优劣
优点
操作简单
有理论支撑
缺点
CSF算法不适用于崎岖地形
1 生成CSF网格
1.5 (选做)对地面网格执行平滑
2 选择原始点云和生成的地面网格
3 计算点云到网格的距离
4 将计算得到的距离赋值给Z轴
5 结果
方法2(基于泊松重建)(需要已知地面点云)
如已分割或计算出准确的地面点云, 可利用地面点云进行高程归一化。
方法优劣
优点
适用于崎岖地形
构建的DEM完整, 自动延展边缘区域
缺点
需要首先计算/分类地面点云
泊松重建不保证得到一个平面
泊松重建拟合效果不好
0 数据准备
准备2组点云, 分别是全部的点云和地面点云
原始点云
提取地面点云
导入原始点云, 选择其类别标签, 并使用过滤器过滤滤出地面类别。
所需点云
(可选)地面重采样
如所选点云非确切的地面点而是包含了较多杂物的地面点, 执行栅格Z轴最小重采样, 后续操作根据重采样后的地面点云进行。
1 计算法向量并执行泊松表面重建
选择地面点云, 计算法向量后执行泊松重建。
法向量计算参数
(可选)法线对齐的参数
泊松重建参数
2 平滑表面
选择生成的表面, 执行平滑。
迭代数和, 平滑系数根据实际情况设置。
3 计算原始点云与表面的距离
先双选原始点云和平滑后的表面, 执行以下操作。
4 应用归一化高程
先选择原始点云, 并设置Active为刚刚计算的距离(相对高度), 执行以下操作。
5 结果
方法3(基于栅格)(需要已知地面点云)
如已分割或计算出准确的地面点云, 可利用地面点云进行高程归一化。
方法优劣
优点
适用于崎岖地形
拟合效果好
缺点
过于依赖栅格大小
需要首先计算/分类地面点云
构建的DEM边缘不完整, 边缘区域可能无法覆盖(如图)
可能会出现栅格纹理(如图)
0 数据准备
准备2组点云, 分别是全部的点云和地面点云
原始点云
提取地面点云
导入原始点云, 选择其类别标签, 并使用过滤器过滤滤出地面类别。
所需点云
1 计算DEM
选择地面点云, 计算DEM。
2 裁剪DEM
得到的DEM可能会存在错误值, 使用裁剪工具将其切除。
3 (可选)平滑DEM
4 计算原始点云与DEM的距离
先双选原始点云和平滑后的DEM, 执行以下操作。
5 应用归一化高程
先选择原始点云, 并设置Active为刚刚计算的距离(相对高度), 执行以下操作。
6 结果
(推荐)方法4(泊松+栅格)(需要已知地面点云)
方法优劣
优点
适用于崎岖地形
拟合效果好
缺点
需要首先计算/分类地面点云
如果DSM栅格不够小, 归一化后可能会出现栅格纹理(如图)
0 数据准备
准备2组点云, 分别是全部的点云和地面点云
原始点云
提取地面点云
导入原始点云, 选择其类别标签, 并使用过滤器过滤滤出地面类别。
所需点云
1 计算粗DEM
计算DEM
选择地面点云, 插值计算分辨率为2米的DEM。
裁剪DEM
得到的DEM可能会存在错误值, 使用裁剪工具将其切除。
2 计算法向量并执行泊松表面重建
计算法向量
选择DEM, 计算法向量后执行泊松重建。
执行泊松重建
3 粗DEM接边
裁剪泊松重建的结果
将泊松重建结果的边缘裁出来
将边缘转换成点云
合并地面点云和边界点云
按住Ctrl双选地面点云和切出来的边界, 对其进行合并。
4 计算DEM
计算DEM
基于加了边界的地面类计算分辨率为0.5米的DEM, 并且进行插值, 输出为Mesh格式。
裁剪DEM
同样需要进行裁剪, 由于加了边界, 裁剪不会影响到后续计算。
平滑DEM
执行拉普拉斯平滑
6 计算归一化高程
选择原始点云和平滑后的DEM, 计算它们之间的距离。
7 归一化点云
记录原始高度
选择原始点云, 将原始Z值储存为特征
默认的特征名为Coord. Z
, 可以修改成其他名字
将Z坐标设置为到DEM的距离
先激活刚刚计算的点云到DEM的距离
特征, 然后将原始点云的Z坐标设置为此特征。
8 结果
结果如图所示, 如果需要还可以将点云到DEM的距离
从特征值中删除。