带建筑物的点云到 3D地形模型

一、介绍
由于LiDAR点云数据包含有关返回激光的物体的表面信息,因此我们可以使用它来对地形以及建筑物进行建模 。这正是我们在此演示中要执行的操作,其中 LAS点云用于:
1. 构建不规则三角网的(TIN)地形模型;
2. 将建筑物覆盖区拉伸到其实际的3D高度 。
这两个步骤中的每一个都将成为我们输出中的一个图层:一个以PDF格式编写的3D模型 。
此工作流有两个技巧:
1.提取和替换建筑物覆盖区几何图形(矢量数据);
2.使用建筑物覆盖区裁剪点云 。
简而言之,我们将隔离每个建筑物覆盖区的点云,然后将这些覆盖区拉伸成 3D 实体 。请按照下面的分步过程,了解有关如何设置此3D点云工作流程的更多信息!
CAD建筑轮廓
las点云
二、分步说明
步骤1.读取点云和建筑物
点云数据存储在LiDAR数据交换格式(LAS)中,这是3D点云的标准格式 。建筑轮廓和基本高度是从矢量ACAD DWG文件中读取的 。分别在两个文件中读取:
添加las读模块,读取点云:\LAS.laz
添加DWG 读模块 。在 CAD 文件中读取时,请记住进入“参数”并将“图元分组依据”设置为“属性模式”,以便以后能够访问基本高度属性以进行拉伸 。
CAD数据:\.dwg
步骤2.构建几何图形
添加并连接建筑物覆盖区以将当前几何存储在要素的属性中 。如果必须临时更改要素的几何图形以获取其他信息,这可能非常有用,就像我们在后续步骤中将此数据与点云相结合时的情况一样 。通过提取要素的原始几何,可以随时对其进行恢复 。一旦我们准备好将建筑物拉伸成三维,我们将恢复建筑物覆盖区的几何形状 。
在参数中,确保“几何编码”设置为“FME ”,并且目标几何属性设置为 。我们不需要删除几何图形 。
如果要立即运行转换,请记住调整要素处理,以便转换在拒绝要素时不会终止 。为此,您可以转到:导航>工作区参数>转换>拒绝要素处理:
将其更改为“继续转换” 。
第3步.过滤建筑物的点云
已分类的点云将包含一个存储分类的组件,通常为编码的数值 。此分类通常用于区分属于地面、植被、建筑物等的点 。将添加到LAS读模块,并使用以下表达式过滤掉分类为建筑物或地面的点(注意:方括号中为[注释],不包含在表达式中) 。
@()==6 [建筑港口]
@()==2 [地面端口]
以下是到目前为止的工作区:
步骤 4.通过建筑物修剪点云
要获取每个建筑物的高度值,请通过建筑物轮廓要素裁剪点云 。添加一个转换器并将过滤的建筑物点连接到端口,将建筑轮廓连接到端口 。要保留的属性,请检查转换器中的“合并属性”参数 。将“累积模式”设置为“Merge ”,将冲突解决设置为“Use ” 。这意味着我们将保留点云()属性,并通过保留点云属性来解决合并中的任何冲突 。结果是每个建筑物都有一个点云!
第5步.使用获得建筑高度
将内部输出端口从连接到转换器 。打开属性并选中该框以获取每个建筑物点云的中值,并将其作为属性存储在每个要素上 。使用中位数是因为屋顶提供了点云中的大多数点 。我们不使用最大点云高度,因为这包括天线等不能代表实际建筑高度的东西 。
第6步.恢复几何图形
使用几何替换器从属性中()恢复几何 。现在,每个建筑物都有其原始的矢量几何图形,并且具有从点云派生的高度值 。
第7步.设置建筑基础高度
由于从派生的z. 值表示海平面以上的高度,而不是建筑物的真实高度,因此我们需要一种逻辑方法来根据我们拥有的两条高程数据来查找建筑物的高度:建筑物覆盖区的高程()和建筑物屋顶的高程(z.) 。添加以将基本高度设置为源DWG建筑轮廓中的属性 。一旦基础高程正确,我们就可以使用一些简单的减法将建筑物高度从建筑物的基础高程准确地拉伸到中值点云高度 。