E57 to LAS converter?

5,483 views
Skip to first unread message

Ben Lowry

unread,
Nov 16, 2012, 11:38:28 AM11/16/12
to last...@googlegroups.com
Hi all,
I have some need to convert a large amount (1500) of scans in E57 from Cyclone, so I am hoping to convert to LAS, rather than compiling from the E57 library.  Anyone have a compiled application for E57toLAS or E57toASCII? 

I am trying to bulk export from Cyclone and it seems that E57 is the only format supported as a bulk export that retains scan separation.  So any thoughts from the Cyclone side would be welcome too. 
 
Ben Lowry
UNAVCO Data Engineer
Boulder, Colorado

Martin Isenburg

unread,
Nov 16, 2012, 12:02:06 PM11/16/12
to last...@googlegroups.com
Hello,

a good place to ask this question is the laser scanning forum. Here is
an example thread on that topic (with some PTS splitter code).

http://www.laserscanning.org.uk/forum/viewtopic.php?f=88&t=3612

Once you have your PTS files you can batch convert them to LAS (or
LAZ) either with pointzip.exe from http://pointzip.org or with
txt2las.exe from the LAStools distribution.

txt2las -i *.pts -ipts -parse xyziRGB -olaz

But that solution requires yet an extra step through all ASCII. If
there was a precompiled E57 library and/or DLL for Windows then it
would be a trivial task to write a conversion tool based on either
LASlib or libLAS. Is there such a thing?

Cheers,

Martin

On Fri, Nov 16, 2012 at 8:50 AM, giancan <gianluca...@gmail.com> wrote:
> Hi Ben,
> you should probably consider using CloudCompare Free software).
> http://www.danielgm.net/cc/
> I am not sure if you can use it in a batch way, but I guess you can try and
> contact the author for specific needs.
> Hope that helps.
> Gianluca
> --
> Download LAStools at
> http://lastools.org/
> Visit the LAStools group at
> http://groups.google.com/group/lastools/
> Be social with LAStools at
> http://www.facebook.com/LAStools
> http://www.twitter.com/LAStools

Martin Isenburg

unread,
Nov 16, 2012, 2:43:40 PM11/16/12
to last...@googlegroups.com
Hello,

true. But the include file of this library has a dependency on boost
and that adds a lot of complexity ... especially when using the MSVC
6,0 compiler. (-; Would be nice to have a very simple *.h + *.dll or
*.lib interface that uses only basic data types. Can anyone write such
a wrapper and send it to me? Or maybe the PDAL guys could put out such
a conversion tool. They already use boost in combination with libLAS
and LASzip. I bet they already have this converter more or less ready
and are now feverishly working to prepare a simple binary Windows
release for you ... (-: Howard?

Martin

On Fri, Nov 16, 2012 at 11:08 AM, giancan <gianluca...@gmail.com> wrote:
> @Martin
> Yes, the library exists.
> You can find more info here
>
> http://www.libe57.org/
>
> Cheers,
> G.

Howard Butler

unread,
Nov 16, 2012, 2:55:04 PM11/16/12
to last...@googlegroups.com

On Nov 16, 2012, at 1:43 PM, Martin Isenburg <martin....@gmail.com> wrote:

> Hello,
>
> true. But the include file of this library has a dependency on boost
> and that adds a lot of complexity ... especially when using the MSVC
> 6,0 compiler. (-; Would be nice to have a very simple *.h + *.dll or
> *.lib interface that uses only basic data types. Can anyone write such
> a wrapper and send it to me? Or maybe the PDAL guys could put out such
> a conversion tool. They already use boost in combination with libLAS
> and LASzip. I bet they already have this converter more or less ready
> and are now feverishly working to prepare a simple binary Windows
> release for you ... (-: Howard?
>

Nope. There hasn't been anyone who's stepped forward to either provide a patch for E57 support or pay to have it implemented. Also, there are not currently precompiled windows binaries of PDAL at this time of any flavor. That kind of thing is a money and attention drain for an open source project, and they don't start to become available until other more important priorities have been crossed off the list.

Since MSVC 6.0, there have been *four* subsequent compiler releases from Microsoft. The last two have been free-as-in-beer for nearly four years. MSVC 6.0 was released in 1998. 14 years ago! Compiler technology has improved a ton since then. Moving up to a newer compiler will get you performance for free that you might otherwise have to laboriously craft with assembly and bubble gum. Some day I will convince you of the benefit of moving to a modern compiler...

Howard

Martin Isenburg

unread,
Nov 18, 2012, 11:07:43 AM11/18/12
to LAStools - efficient tools for LiDAR processing
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

Maros Hana

unread,
Jan 31, 2020, 8:02:13 PM1/31/20
to LAStools - efficient tools for LiDAR processing
Does anyone know of converting LAS -> to  ->  E57 ??
 Lastools goes e57 to las and FME dropped lots of info.
thanks
Maros

Stephen Ferrell

unread,
Jan 31, 2020, 8:44:37 PM1/31/20
to last...@googlegroups.com, ma...@hanafoto.com
CloudCompare will convert E57 to LAS in command-line mode.  If you have it installed on your computer, this command line below will convert a file called points.E57 located on drive G: to G:\points_YYYY-MM-DD_H_M_S.LAS

I haven't tried it using the * wildcard character for large batches nor have I checked to see if it drops any info during the conversion.

"C:\Program Files\CloudCompare\CloudCompare.exe"   -o  G:\points.e57 -C_EXPORT_FMT  LAS  -SAVE_CLOUDS



--
Download LAStools at
http://lastools.org

Be social with LAStools at
http://facebook.com/LAStools
http://twitter.com/LAStools
http://linkedin.com/groups/LAStools-4408378
Manage your settings at
http://groups.google.com/group/lastools/subscribe
---
You received this message because you are subscribed to the Google Groups "LAStools - efficient tools for LiDAR processing" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lastools+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/lastools/29ae3f3f-50cc-492a-948c-446231d5ab37%40googlegroups.com.


--
-- The quality of your thoughts will determine the quality of your life.

Andrew Bell

unread,
Jan 31, 2020, 8:45:22 PM1/31/20
to last...@googlegroups.com
PDAL converts to E57.

--

Stephen Ferrell

unread,
Jan 31, 2020, 9:25:37 PM1/31/20
to last...@googlegroups.com, ma...@hanafoto.com

CloudCompare will also convert LAS -> E57 in command line mode.

The command line below will convert a file called points.LAS located on drive G: to G:\points_YYYY-MM-DD_H_M_S.E57

Again, not wildcard tested.


"C:\Program Files\CloudCompare\CloudCompare.exe"   -o  G:\points.LAS -C_EXPORT_FMT  E57  -SAVE_CLOUDS  
Reply all
Reply to author
Forward
0 new messages