Vertical planes using lasplanes64

77 views
Skip to first unread message

Gergő

unread,
Aug 19, 2025, 9:13:28 AMAug 19
to LAStools - efficient tools for LiDAR processing
Hello guys,

I am having trouble with generating sufficient amount of vertical planes during point cloud alignment (I would like to match two separate projects in XYZ dimensions). We do this mostly this way: 
1. We have a project (A) we would like to align with another one (B)
2. From project B, we have exported .LAZ files
3. Using these .LAZ files and the python script I attached (see attached file, laz_to_pef_processor1.py), we generate .pef files containing planes for each exported .LAZ file and then we merge these .pef files into a single one.
4. We import this merged .pef file into project A in RiProcess (the software we use to process and align point cloud data)
5. Then we run the 'Find tie objects' wizard with the parameters shown on the attached image. 
Now the issue is, usually we don't get enough vertical planes in XY dimension to achieve good alignment.
What parameters should I change or add either in the python script or in the 'Find tie objects wizard' in order to get more vertical planes (we have enough planes in Z dimension)? 

Thank you for your help everyone
Gergő
Field Data Processor
greehill Europe ltd

Find_tie_Objects.PNG
laz_to_pef_processor 1.py

Michael Finlay

unread,
Aug 28, 2025, 10:24:40 AM (12 days ago) Aug 28
to LAStools - efficient tools for LiDAR processing
Oh! I've played with a similar workflow as a way to use TLS.laz as control for MLS in RiProcess. I found the same thing initially. flat planes are easy, vertical plans are trickier.

Are using Aerial LiDAR?

Some tips that might help. 
- polygon_distance 20 will limit the the planes that are kept and might be dropping vertical planes if they are near (within 20m) a flat plane. ****it would be an excellent improvement if this argument could consider plane orientation before filtering :) *****
-Split point cloud into ground and non-ground laz files then use lasplane settings tailored to each.
-cell_points (minimum number of points to be a valid plane) is set to 100 by default. If you don't have that many points on 'vertical surface' in a 1x1x1m cell_size you need to change either the cell_size or the cell_points. if this is aerial LiDAR I assume you get far less points on a vertical surface than you do on flat surface. 
-settings are probably good for flat planes, but vertical planes might need to play round with cell size and the other settings. I figured it out settings by testing settings visualising the .shp instead of .pef.

I ended up with a workflow that would
-classify ground
-classify height above ground - mainly class 4 is 0.2m to about 10m above ground - where building walls would be (used later)
-Split ground (class 2) and non-ground (class 4) 
-classify (or remove) noise on ground points with a flatter step dimensions (eg -step_xy 1.0 -step_z 0.1)
-classify (or remove) noise on non-ground points with a taller step dimensions (eg -step_xy 0.2 -step_z 0.6)

you can use "-output_marked_point_cloud" to see what points are getting used (valid planes are class 8 I think). I ended up using this to collect lots of planes with a small cell size then merge at the end to get a larger pef plane output. Not ideal, but it worked to get a decent size plane on thinner structures

Hope that helps! 



Reply all
Reply to author
Forward
0 new messages