span8
span4
由于激光雷达点云数据包含任何返回激光的表面的信息,我们可以用它来建模地形和建筑形状。这正是我们在这个演示中要做的,其中LAS点云被用来(1)建立一个三角形不规则网络(TIN)地形模型,(2)将建筑足迹挤压到它们实际的3D高度。这两个步骤中的每一步都成为我们输出的一层:一个3D模型,以PDF格式编写,捕捉温哥华社区的城市建筑环境。
这个工作流有两个技巧:(1)提取和替换建筑足迹几何体(矢量亚搏在线数据),(2)使用建筑足迹裁剪点云。简而言之,我们将为每个单独的建筑足迹分离点云,然后将这些足迹挤压成3D实体。遵循下面的一步一步的过程,了解更多关于如何建立这个3D点云工作流!亚搏在线
CAD建筑轮廓:
拉斯维加斯点云:
温哥华市的点云数据存储在ASPRS激光雷达数据交换格式(LAS)中,这是3D点云的行业标准。建筑轮廓和基础高度从一个矢量ACAD DWG文件读取。读取两个文件:
source_data \ LAS.laz
为AutoCAD DWG建筑足迹文件添加一个阅读器。当读取CAD文件时,记住进入参数并设置“Group Entities By”:“属性模式”以便在稍后的挤压中访问基高属性。
source_data \ building_outlines.dwg
添加一个Geometryextractor.并连接构建脚印以将当前几何形状存储在该功能上的属性中。如果必须暂时更改特征的几何图以获取其他信息,则这可能非常有用,就像我们将此数据与下一个步骤中的点云组合那样,就像我们将此数据与点云组合一样。提取功能的原始几何图形允许随时恢复。我们将恢复建筑占地面积一旦我们准备将建筑物挤入三个维度。
在里面Geometryextractor.参数,确保几何编码设置为FME二进制的目标几何属性为_geometry.我们不需要移除几何体。
如果您现在想运行翻译,请记住调整功能处理,以便在拒绝功能时转换不会终止。你可以通过去:
Navigator>工作区参数>翻译>拒绝功能处理:
将其更改为继续翻译。
分类点云将包含一个组件,该组件存储分类信息,通常以编码的数值形式存储。这种分类通常用于区分属于地面、植被、建筑物等的点。添加一个PointCloudFilter,并使用下列表达式过滤出分类为Buildings或Ground的点(注意[comments]位于方括号中,且不包含在表达式中)
@ component(分类)= = 6(建筑港口)
@ component(分类)= = 2(地面港口)
这是迄今为止的工作区:
要获得每个建筑的高度值,通过建筑轮廓特征剪辑点云。添加一个限幅器连接过滤后的建筑指向Clippee港口和建筑物轮廓到了限幅器港口。要保留剪刀的属性,请检查“合并属性”参数限幅器变压器。将“累积模式”设置为“合并剪辑',冲突解决“使用Clippee”.这意味着我们将保留点云(Clippee)属性并通过保留点云属性来解决任何冲突。结果是每个建筑的点云!
连接内部输出端口从限幅器到A.pointcloudstatisticscalculator.变压器。打开pointcloudstatisticscalculator.属性,勾选复选框,获取每个建筑的点云的中值,并将其存储在每个特征上作为属性。使用中位数是因为屋顶提供了点云中的大部分点。我们不使用最大点云高度,因为这包括天线等不能代表实际建筑高度的东西。
使用GeometryReplacer从属性恢复几何图形_geometry
.现在,每个建筑都有其原始的矢量几何和从点云中得到的中值高度。
因为z的中值是从pointcloudstatisticscalculator.代表海平面高于海平面,而不是建筑物的真正高度,我们需要一种基于我们拥有的两件高程数据的建筑物的高度:建筑占地面积(Base_height)和海拔的高度建筑屋顶(Z.Median)。添加一个3 dforcer将基础高度设置为来自源DWG建筑轮廓的base_height属性。一旦基础高度是正确的,我们可以精确地挤出建筑高度从建筑的基础高度到中点云高度使用一些简单的减法。
如果base_height没有作为您的选项出现,请确保您的阅读器参数被设置为Group Entries By: Attribute Schema。替换读取器以访问附加参数。
挤出被定义为物体通过附加尺寸的延伸。在我们的案例中,我们希望将我们的2D建筑脚印投射到3D建筑物中。为了实现这一目标,我们添加了一个挤出机变压器挤压建筑物的屋顶高度由点云减去基础高度派生。中的算术编辑器挤出机并在距离字段中输入如下表达式:
@ value (z.median) @ value (base_height)
基于建筑的高度值,2D建筑轮廓多边形变成3D实体。
地面将被创建,以填充建筑周围的地形。添加一个TINGenerator从变压器和连接地输出端口PointCloudFilter的点/线输入端口TINGenerator.表面容差参数TINGenerator确定将哪些输入点作为顶点添加到模型中。在我们的例子中,值1是合适的。值越大,过滤掉的输入点就越多。
锡表面和挤出建筑物可以写入任何支持曲面或网格,如素描,3D PDF,Autodesk FBX等的任何格式。在此示例中,我们将写入Adobe 3D PDF并创建两个目标功能类型建筑物和一个用于地面。从中连接挤出的建筑物和TinSurface输出端口TINGenerator到各自的特性类型。
要创建一个pdf,你需要在一个writer中写出两个特性类型:
现在,当你转到Navigator查看写入器时,注意在Buildings写入器中有两种特征类型。运行工作区以生成PDF文件,并使用Adobe PDF阅读器.恭喜!你已经写完了332
特征为大纲和1特征为TIN。如果您决定进行任何更改并再次运行翻译,请确保在再次开始翻译之前关闭了所有打开的pdf文件。
在adobepdf阅读器中浏览的3D模型:
备用进近-从点云的建筑物高度
如果您的矢量建筑脚印中存在的构建高度/高度数据,则可以从点云数据而不是现有属性中检索建筑物的基础高度。在挤出之前,最好覆盖锡表面上的大楼轮廓。要创建一个平坦的基础,应该只有一个z
价值/大纲。为了达到这个目标,SurfaceDraper,协调置换器和StatisticsCalculator是一个很好的开始!
这个工作流亚搏在线突出了PointCloudFilter用于处理LAS文件,以及FME将不同类型的多个文件组合成有价值的信息产品的潜力。向量建筑足迹和点云,我们提取高程数据,合并后的几何图形,挤压三维固体,并创建了一个表面和建筑模型,一旦完全写PDF,可以很容易地共享和查看PDF阅读器的同事不熟悉FME桌面GIS或没有访问。
我尝试了你上面提到的完全相同的程序(减去建筑部分)。
但是我没有输出,我无法可视化3D地形模型。我想我错过了一些东西,我想知道你是否能帮助我。
无论是FME检查员还是Sketch up 2016,我都看不到任何结果
请问我缺了什么,请查收附件我的.fmw文件
@heikal工作空间似乎很好,但我们需要更好地查看Tingenerator设置与您的数据最有用。我看到你已经在我们的支持团队开设了一个案例,所以他们会跟上你。
©2019 S亚搏在线afe Software Inc |法律