西班牙
斯潘4
你好,
我想创建自己的LOD2模型(基于另一个LOD2模型)。LOD2的问题是表面方向不正确(不是建筑物的外部),并且这些错误中没有逻辑(解决方案可能是确定一个内部点并检查远离表面法向点,但这对于具有复杂足迹的建筑物不起作用)。所以,我有原始LOD2模型的屋顶多边形以及建筑的最小z-co,我想基于这些重建建筑。我把主要的建筑和扩建部分标为独立的建筑。因此,一个建筑有一个屋顶形状,由多个屋顶多边形组成(通常不是平面的)。有时,屋顶也有小的延伸部分(见图)。我的想法是:
首先,我使用surfacefootprintpreplacer将屋顶表面投影到一个水平面上,该水平面位于最低屋顶屋檐的高度。假设这代表阁楼。从阁楼层,很容易挤压到建筑物的最低z-co(存储为属性)。所以,这些墙不是问题所在。
为了构建屋顶的墙,我向上挤出阁楼地板,向下挤出所有单独的屋顶多边形。然后我用夹子来确定里面的体积。这将产生正确的几何图形。但是,现在我被卡住了:“阁楼”里有多余的墙。我只需要墙壁或与外部接触的部分墙壁,以获得正确的建筑关闭。我不能简单地删除所有垂直表面,因为有些墙确实需要作为一个整体删除,但如果“墙”的某些部分与外部接触,那么我需要保留该部分墙(特别是小屋顶延伸部分周围的问题)。我怎么确定?
我希望有些逻辑我想不出来,但你可以!!已经非常感谢了!
问好,伊娜
问题图片:屋顶卷有三种墙:
需要部分保留的墙(仅限于与外部接触的部分)
需要完全删除的墙(如屋顶边缘下的墙,但不与外部接触)
需要完全保持(与外部完全接触)的墙壁
SurfaceOnSurfaceOverlayer和BRepSolidBoundaryCreator.Beta(FME集线器)可能会帮助您。请参见随附的演示:屋顶到building.fmwt(FME 2017.0.1)
步骤1:从Shapefile数据集中读取屋顶(3D多边形),使用SurfaceOnSurfaceOverlayer+Tester放置孔。
你好@inadj,我想检查源屋顶数据集的详细条件(几何类型,孔等)。
做了屋顶表面有孔(S)也是这样吗?
?2019安全亚搏在线软件公司|合法的