Overview of the E57 format
The E57 format for point cloud storage consists of two parts:
-
A header, which points to an XML-encoded description of the dataset, including references to where the data is stored in the file
-
The point data, as a linear list of records. Each point has a location and various attributes.
For more information about the specifics of E57, you can visit the libe57 website at http://libe57.org/.
Decoding E57 data
Using the TLcdE57ModelDecoder
You can decode .e57
files by using TLcdE57ModelDecoder
, as shown in Program: Using TLcdE57ModelDecoder
to decode a point cloud from a .e57
file.
TLcdE57ModelDecoder
to decode a point cloud from a .e57
file
TLcdE57ModelDecoder e57Decoder = new TLcdE57ModelDecoder();
ILcdModel e57Model = e57Decoder.decode("file.e57");
E57 model structure
The decoder produces a model that contains unspecified elements, and that can only be used for visualization.
The TLcdE57ModelDescriptor
contains most of the .e57
header information.
The TLcdE57ModelDescriptor
also has a data type. You can use its properties to style the LIDAR data with ILcdExpression
instances in TLspPlotStyle
.
For more information about LIDAR data styling with ILcdExpression
, see
How to customize the styling of a LIDAR point cloud.
Decoding options related to model references
The E57 format does not require that files contain a spatial reference. If available, the reference specified in the file will be used.
If the file does not contain a spatial reference, the model decoder will use its model reference decoder to determine the
spatial reference.
Consult the class javadoc of TLcdE57ModelDecoder
for more information.
Reducing the number of loaded points
If you want to load a file that is just too big, but you still want to see something, you can use setMaximumNumberOfPoints()
to set a maximum number of points to decode.
The decoder will decode at most this number of points, taken randomly from the whole file. As such, you see a lower-resolution
version of the data.