Linearize 3D Model from LAS Building Multipatch

2391
3
02-12-2021 02:29 PM
Labels (2)
dlj19220301
New Contributor II

The LAS Building Multipatch tool creates jagged walls when it extrudes the LiDAR roof points to the ground surface because it does not automatically recognize breaklines within the point cloud. Since LAS points are random and not perfectly linear to the rooflines, the multipatch output becomes noisy and jagged. 

Anyone have a workaround or custom script for this? It seems like a tolerance should be included in this tool. To tell when a series of equally-elevated points is following a linear pattern, and then rearrange the points to conform to that pattern. Then the multipatch will extrude to the its breaklines evenly and the output will actually be a presentable/useable 3D building model. 

3 Replies
Tim_McGinnes
Occasional Contributor III

Using building footprint polygons I get much better results by creating 2 TINs - one for the ground points and one for the building roof points, then using the Extrude Between tool with the footprints to create the multipatches. But note that any stray building points down the sides of the buildings can still give jagged edges. You will also find that internal vertical surfaces will still be jagged - second screenshot shows an example of this.

3d_buildings.jpg3d_buildings2.jpg

0 Kudos
dlj19220301
New Contributor II

thanks for your response. I’ve used the Extrude Between method in the past too, but like you said, once the building reaches that second tier, it has no break line to enforce clean facades. I wish there was a tool that would use the slope and aspect rasters of your LAS to automatically recognize where to force clean wall facades in the final multi patch. TerraScan does a better job at this. 

out of curiosity, why do the buildings in your first screenshot not have more triangulation if you only used the extrude between tool? it looks like there are very few points it’s connecting. Did you sub-sample the TIN’s or only model key points or something? 

0 Kudos
Tim_McGinnes
Occasional Contributor III

Going back to my script, it looks like I used Decimate TIN Nodes for the roof. Probably trying to find a balance between multipatch size vs accuracy. The layer has 160k buildings and I wanted reasonable load times in the web scene. Maybe I should go back and play around with that setting a bit.

0 Kudos