span8
span4
测量体积比测量距离和面积稍微复杂一些——无论是在现实生活中还是在FME中。
FME中的体积计算使用容积计算变压器进行。但是,这个转换器只对真正的三维对象(如实体和块)起作用,而不是psudo - 3d(或2.5D)特征,如具有Z坐标的向量线特征。
因此,通常需要使用除VolumeCalculator之外的其他转换器,将源数据转换为可执行体积测量的几何类型。
本例中的第一个源数据集是一组多边形(在AutoCAD DWG数据集中),它们表示一个体育场的轮廓,我们希望计算它的体积。
第二个数据集(GML格式)是一个定义建筑物的点云数据集。
数据集看起来像这样在FME数据检查:
这里的场景是我们希望计算体育场的体积。为了做到这一点,我们需要将建筑的足迹转化为坚实的元素,并将它们挤压到真正的高度。与其猜测它们的高度,不如从点云获取信息。
计划是:
可以看到,实际的体积计算是整个过程中最简单的步骤。这里的数据已经被过滤——例如,点云只包含建筑物——以使这个例子更简单!
1.启动FME工作台,并从一个空画布开始。
从菜单栏中选择Reader >添加Reader。
将数据格式设置为Autodesk AutoCAD DWG/DXF。选择附加的dwg文件作为源数据集。
2.同样,从菜单栏中选择Reader >添加Reader。
这次将数据格式设置为ASPRS激光雷达数据交换格式(LAS)。选择附加的LAS数据集作为源。
3.添加一个连接到建筑物足迹功能类型的几何提取器转换器。打开参数对话框,将几何编码设置为FME二进制:
这样做的目的是将构建足迹几何图形的一个副本存储为一个属性值(_geometry),该属性值将用于在数据通过剪辑过程后恢复几何图形。
4.添加一个限幅变压器。将GeometryExtractor:输出连接到Clipper:Clipper端口。将点云功能类型连接到裁剪器:Clippee端口:
打开“参数”对话框,检查“剪裁器类型”参数是否设置为“多个剪裁器”,并选中“合并属性”复选框。
五添加一个连接到Clipper:Inside端口的pointcloudstatistics计算器转换器。打开“参数”对话框,并在“中值Z分量”框中设置复选标记:
此转换器将通过计算每个建筑物形状的点云的中间高度来提供每个建筑物的高度。
六现在我们可以重建多边形几何体,挤出它,并计算体积。首先放置一个GeometryReplacer变压器,该变压器连接到pointcloudstatisticscoullator:Output端口。打开“参数”对话框,将编码设置为“FME Binary”,将几何体源设置为我们先前创建的“u Geometry”属性。
7。添加连接到GeometryReplacer:输出端口的3DForcer转换器。打开“参数”对话框并将高程设置为零(0)。这将导致建筑物底部的标高为零。
工作区现在将如下所示:
八添加一个连接到3DForcer:输出端口的挤出机变压器。打开“参数”对话框,将“拉伸方向”参数设置为“垂直”,将“拉伸高度”参数设置为z.median,该属性由PointCloudStatisticsCalculator transformer计算:
九现在我们有了立体特征的正确立面,增加了容积计算器变压器,连接到挤出机:输出口。
十最后添加一个StatisticsCalculator转换器并将一个Inspector转换器连接到其完整的输出端口。工作区现在将如下所示:
打开统计计算器参数。将其设置为分析“卷”属性并将总和写入名为“TotalVolume”的属性:
十一现在保存并运行工作区。将进行转换,并将结果(所有挤压建筑的总体积)作为属性提供。
©2019安全亚搏在线软件公司法律