Introduction
E57 is a vendor-neutral format for data from 3D imaging systems such as terrestrial laser scanners, published by the ASTM E57 committee as standard E2807 in 2011. One file can hold several scans, each with its points, its position and orientation, and the photographs taken by the scanner’s camera.
Scanner makers each have their own formats, so E57 is the common way to move scans between them and into survey, BIM and reality capture software.
Structure
An E57 file is binary with an XML section. It starts with a 48-byte header: the
signature ASTM-E57, the major and minor version, the file’s length, the
position and length of the XML section, and the page size, which is 1,024 bytes. The
whole file is divided into pages of that size, each ending in a 4-byte CRC-32C
checksum, so a reader can detect damage anywhere in the file.
The XML section describes the contents: a data3D list of scans and an
images2D list of pictures, each with its pose and settings. The point
records themselves are stored in compressed binary vectors elsewhere in the file,
which the XML points to.
0HeaderASTM-E57, version, length, XML position, page size48 bytes…Binary sections point records and imagesvaries…XML section the description of every scan and imagevaries
Links
Software
- CloudCompare (Windows, macOS, Linux)
- Autodesk ReCap (Windows)
Developers
- libE57Format, C++ library for reading and writing E57
- PDAL, C++ point data library with an E57 reader and writer
Reference
- libE57, the original reference implementation and documentation