Lastrack producing weird results (wings)

58 views
Skip to first unread message

James Carracher

unread,
Mar 8, 2023, 2:11:20 AM3/8/23
to LAStools - efficient tools for LiDAR processing
Hi,

I've been using lastrack as a part of a large process to do some classifying for a lidar data set on a train line. Previously the point cloud data has come from one scan head on the lidar that scans perpendicular to the direction of travel (for cross sections). I have now got some data from a different provider that has two scan heads, mounted at opposite 30 degree angles from perpendicular.

What I've been using lastrack for is to classify an area of interest around each rail line. My track is in the center of the rail, at the same level as the rail, and has matching time stamps to the pointcloud. While this approach worked previously I'm finding an issue with the newer data. Instead of the two nice parallel lines that cover the rail I am getting wings. For lack of a better description of what it looks like. 

Please see the attached photo. The classification is in yellow. I am using this code

lastrack -cpu64 -i Input.laz ^
-track Trajectory.laz ^
-classify_xy_range_between 0.15 0.9 11 ^
-odir Output -olaz ^
-cores 4

Can anyone explain this or offer some advice how to fix it?


2023-03-08 13_28_28-Window.jpg

Jochen Rapidlasso

unread,
Mar 9, 2023, 3:16:38 AM3/9/23
to LAStools - efficient tools for LiDAR processing
Hi James,
can you provide a small data sample of this problem?
Thanks,

Jochen @rapidlasso

James Carracher

unread,
Mar 10, 2023, 2:23:16 AM3/10/23
to last...@googlegroups.com
Hi Jochen,

If you have a look at this dropbox link I have put a small sample. The file Traj_LT.laz is the track that goes with the left and right laz files. The original track text is also in there are lasinfo files of all the laz files

I have also included another track file for a similar region (Result.laz in the subfolder) and a small clip of its original text. For this region I cannot get lastrack to work at all. Perhaps it is my generating software in this case (I didn't parse the text file with lastools, rather I used FME so I could combine it with another task. I have tried parsing with lastools as well but that appears not to work either)

James

--
Download LAStools at
https://rapidlasso.de
Manage your settings at
https://groups.google.com/g/lastools/membership
---
You received this message because you are subscribed to a topic in the Google Groups "LAStools - efficient tools for LiDAR processing" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/lastools/gj0L9stYEwY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to lastools+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/lastools/fffcb024-8fbe-477c-b5b0-b8aaa9539707n%40googlegroups.com.

Jochen Rapidlasso

unread,
Mar 13, 2023, 6:21:57 AM3/13/23
to LAStools - efficient tools for LiDAR processing
Hi James,
thanks for the sample data!
I can't reproduce the artefacts you got, but I see some problems in your dataset.
lastrack expect the SAME projection and GPS timestamps in the files.
Its easy to just drop the projection, but the GPS timestamps are not matchable in the files.

May you think lastrack just use xy if you use -classify_xy_range_between argument.
This is wrong. I'll show:

:: make the sample small and without projection
las2las -i  Laser_Left.laz -keep_xy 43150 352300 43200 352320 -o inLeft.laz -remove_all_vlrs
:: generate a simple track range out of the source file
las2las -i  inLeft.laz -keep_xy 43160 352310 43163 352312 -o tratest.laz
:: track those 2 files
lastrack -i inLeft.laz -track tratest.laz -classify_xy_range_between 0.1 4 11 -o outgps.laz

outgps.png

:: do the same with gps timestamp to zero
las2las -i  inLeft.laz -o inLeft0.laz -set_gps_time 0
:: generate track out of source
las2las -i tratest.laz -o tratest0.laz -set_gps_time 0
:: track those 2 files
lastrack -i inLeft0.laz -track tratest0.laz -classify_xy_range_between 0.1 4 11 -o outgps0.laz

outgps0.png

To solve your problem you may
- support the same GPS-time in your track file.
- may even better use a shp file for your track and use lasdistance to classify along a path

Best regards,

Jochen @rapidlasso

James Carracher

unread,
Mar 15, 2023, 3:00:10 AM3/15/23
to last...@googlegroups.com
Hi Jochen,

Thanks for taking a look.

I'm not sure what you mean by time mismatches. They should be the same (one a -1000000000 time shift has been applied to the track which it should have). Perhaps they weren't correct in the files I sent. My hard drive is a mess trying to work things out

It seems lasdistance will do what I want it to do from what you have said, better than lastrack. But I do have a few follow up questions if you could help.

- For the two parallel classifications centred on the rail line, is there a way I can include height above the shapefile? As in I only want to classify the two areas if they are -0.5 to 0.5 in height different to the track/trajectory/polygon. I don't want to include any overhead things in this classification, such as wires. This is what I was using lastrack for.
I have made a 'ground surface' based on the highest point near the rails and a subcircle. Then I can use lasheight. Is this the best way? It seems to work but might not be the most efficient.

- Did you see any problems with the second trajectory in the supplied data? I have successfully used lastrack in this way before but for some reason this trajectory won't work (for my other data)

- Is there a way to classify outside of a distance from the track/trajectory/polygon using lasdistance? As in if a point is more than 10m away then it classifies it as something?
I do have another lastrack process that removes data further than this away. I can do it in a few other steps but if I can remove these points straight away it would be best

- I have used lasclip in the past to remove points within/outside a buffer from a polygon. However I have tried to avoid using it because I occasionally get the 'brute force error' come up which takes a long time.
Do you know how to fix the brute force error? I have been avoiding lasclip because I was aiming for consistent times. 

- Is lasclip generally faster than lasdistance? or vice versa? I'm not sure if I should try to exclusively use one tool or a combination

Any further help would be appreciated
James

Reply all
Reply to author
Forward
0 new messages