Hello Ben and all.
I had a look at the
libe57.org site and managed to compile it and
resolve all dependencies. Using LASlib I created a little utility that
extracts the LiDAR points out of the E57 format and stores them as a
LAS, LAZ, or ASCII file. You can download an alpha release of the tool
and the README here:
http://rapidlasso.com/download/e572las.exe
http://rapidlasso.com/download/e572las_README.txt
Some examples runs with data from
http://libe57.org/data.html
>> e572las.exe -v -i pump.e57 -o pump.laz
52,496,384 pump.e57
3,375,501 pump.laz
>> e572las.exe -v -i pumpACartesian.e57 -o pumpACartesian.laz
5,261,312 pumpACartesian.e57
444,513 pumpACartesian.laz
>> e572las.exe -v -i Station018.e57 -o Station018.laz -set_scale 0.002 0.002 0.002
117,242,880 Station018.e57
15,175,127 Station018.laz
>> e572las.exe -v -i trimble.e57 -o trimble.laz
14,481,408 trimble.e57
2,868,344 trimble.laz
By default all scans contained in the E57 file are merged into one
output with all invalid points being omitted. It's possible to request
'-split_scans' and '-include_invalid' to change the default behavior.
>> e572las.exe -v -i pump.e57 -o pump.laz -split_scans -include_invalid
52,496,384 pump.e57
743,300 pump00000.laz
587,550 pump00001.laz
757,107 pump00002.laz
479,884 pump00003.laz
3,211,067 pump00004.laz
Please note that this is an alpha release that may still have a few
bugs and also lacks some imporant features. Most notably the tool does
not yet apply transformations and/or rotations that can be specified
in a E57 file, which will then lead to wrong results when merging
scans. Stay tuned ...
Regards,
Martin @rapidlasso
PS: Below the full control output of e572las.exe for the examples
above.
>> e572las.exe -v -i pump.e57 -o pump.laz
file 'pump.e57' contains 5 scans. merging ...
processing scan 0 ...
contains grid of 242 by 1739 equaling 420838 points
contains intensities (0-1)
contains RGB colors (0-255, 0-255, 0-255)
all scans are written with millimeter resolution to 'pump.laz'
246359 invalid points were omitted
processing scan 1 ...
contains grid of 345 by 1074 equaling 370530 points
contains intensities (0-1)
contains RGB colors (0-255, 0-255, 0-255)
215329 invalid points were omitted
processing scan 2 ...
contains grid of 233 by 1672 equaling 389576 points
contains intensities (0-1)
contains RGB colors (0-255, 0-255, 0-255)
227957 invalid points were omitted
processing scan 3 ...
contains grid of 190 by 1358 equaling 258020 points
contains intensities (0-1)
contains RGB colors (0-255, 0-255, 0-255)
139967 invalid points were omitted
processing scan 4 ...
contains grid of 720 by 2000 equaling 1440000 points
contains intensities (0-1)
contains RGB colors (0-255, 0-255, 0-255)
835362 invalid points were omitted
scans of 'pump.e57' contain 1664974 invalid points that were omitted
>> e572las.exe -v -i pumpACartesian.e57 -o pumpACartesian.laz
file 'pumpACartesian.e57' contains 1 scan
processing scan 0 ...
contains grid of 345 by 1074 equaling 370530 points
contains intensities (0-1)
contains RGB colors (0-255, 0-255, 0-255)
is written with millimeter resolution to 'pumpACartesian.laz'
215329 invalid points were omitted
scan of 'pumpACartesian.e57' contains 215329 invalid points that were
omitted
>> e572las -v -i Station018.e57 -o Station018.laz -set_scale 0.002 0.002 0.002
file 'Station018.e57' contains 1 scan
processing scan 0 ...
contains grid of 5026 by 1664 equaling 8363264 points
contains intensities (0-1)
contains RGB colors (0-255, 0-255, 0-255)
is written with resolution 0.002 0.002 0.002 to 'Station018.laz'
>> e572las.exe -v -i trimble.e57 -o trimble.laz
file 'trimble.e57' contains 13 scans. merging ...
processing scan 0 ...
contains 237123 points
contains intensities (0-255)
contains RGB colors (0-255, 0-255, 0-255)
all scans are written with millimeter resolution to 'trimble.laz'
processing scan 1 ...
contains 4984 points
contains intensities (0-255)
contains RGB colors (0-255, 0-255, 0-255)
processing scan 2 ...
contains 4018 points
contains intensities (0-255)
contains RGB colors (0-255, 0-255, 0-255)
processing scan 3 ...
contains 2041 points
contains intensities (0-255)
contains RGB colors (0-255, 0-255, 0-255)
processing scan 4 ...
contains 196036 points
contains intensities (0-255)
contains RGB colors (0-255, 0-255, 0-255)
processing scan 5 ...
contains 3796 points
contains intensities (0-255)
contains RGB colors (0-255, 0-255, 0-255)
processing scan 6 ...
contains 1125 points
contains intensities (0-255)
contains RGB colors (0-255, 0-255, 0-255)
processing scan 7 ...
contains 3906 points
contains intensities (0-255)
contains RGB colors (0-255, 0-255, 0-255)
processing scan 8 ...
contains 7587 points
contains intensities (0-255)
contains RGB colors (0-255, 0-255, 0-255)
processing scan 9 ...
contains 1352 points
contains intensities (0-255)
contains RGB colors (0-255, 0-255, 0-255)
processing scan 10 ...
contains 4769 points
contains intensities (0-255)
contains RGB colors (0-255, 0-255, 0-255)
processing scan 11 ...
contains 237123 points
contains intensities (0-255)
contains RGB colors (0-255, 0-255, 0-255)
processing scan 12 ...
contains 196036 points
contains intensities (0-255)
contains RGB colors (0-255, 0-255, 0-255)
>> e572las.exe -v -i pump.e57 -o pump.laz -split_scans -include_invalid
file 'pump.e57' contains 5 scans. splitting ...
processing scan 0 ...
contains grid of 242 by 1739 equaling 420838 points
contains intensities (0-1)
contains RGB colors (0-255, 0-255, 0-255)
is written with millimeter resolution to 'pump00000.laz'
246359 invalid points were included
processing scan 1 ...
contains grid of 345 by 1074 equaling 370530 points
contains intensities (0-1)
contains RGB colors (0-255, 0-255, 0-255)
is written with millimeter resolution to 'pump00001.laz'
215329 invalid points were included
processing scan 2 ...
contains grid of 233 by 1672 equaling 389576 points
contains intensities (0-1)
contains RGB colors (0-255, 0-255, 0-255)
is written with millimeter resolution to 'pump00002.laz'
227957 invalid points were included
processing scan 3 ...
contains grid of 190 by 1358 equaling 258020 points
contains intensities (0-1)
contains RGB colors (0-255, 0-255, 0-255)
is written with millimeter resolution to 'pump00003.laz'
139967 invalid points were included
processing scan 4 ...
contains grid of 720 by 2000 equaling 1440000 points
contains intensities (0-1)
contains RGB colors (0-255, 0-255, 0-255)
is written with millimeter resolution to 'pump00004.laz'
835362 invalid points were included
scans of 'pump.e57' contain 1664974 invalid points that were included