ASTM E57 Reader/Writer

Licensing options for this format begin with FME Desktop Professional Edition.

The ASTM E57 Reader/Writer allows FME to access data in the E57 format.


The E57 file format is a compact, vendor-neutral format for storing point clouds, images, and metadata produced by 3D imaging systems, such as laser scanners.

A single E57 file may contain any number of point clouds and rasters.

E57 files are structured as a tree. A path is a string that specifies the sequence of element names when traversing the tree.

Point cloud data is read from path /data3D. Raster data is read from path /images2D.

An E57 file may contain attributes and geometry traits. Elements at the root of the tree are treated as attributes, e.g. /guid. Elements within a geometry node will be treated as geometry traits, e.g. /data3D/0/points/guid.

Note: All features will share the same attributes, but traits will differ per feature.

Reader Overview

FME considers a single E57 file to be a dataset. Each dataset contains one or more point cloud and raster features.

Writer Overview

FME considers a dataset to be a folder name. The feature type of each dataset is the filename.


Each image node, e.g. /images2D/0/, contains a raster. These images may be stored as one of four representations: visualReferenceRepresentation, pinholeRepresentation, sphericalRepresentation, or cylindricalRepresentation. The representation type controls which additional properties are stored (see the Feature Representation section for more details).

Note: One image node may actually contain two rasters: one of the set { pinholeRepresentation, sphericalRepresentation, or cylindricalRepresentation}, and one visualReferenceRepresentation node. In this case, the reader will produce an aggregate geometry that holds both rasters. Similarly, the writer can ingest aggregates of two rasters.

Note: Raster data is stored within an E57 file as PNG or JPEG blobs.

An image mask may optionally be stored separately from the image data. When reading, FME will combine the image mask and data into a single raster.

Additional Notes

E57 elements that that are not part of the set (i.e. user attributes, traits, or components not in the table above) should be stored in "Extensions." Each extension in a file shall be defined by a prefix and namespace. Extensions are controlled in FME through the e57_extensions{}.prefix and e57_extensions{}.uri format attributes. On reading, these attributes specify the extensions in the source dataset. On writing, these attributes may be used to define extensions. User attributes, traits, and components should be stored in extensions to ensure compatibility with other E57 readers. So for example, instead of writing a user attribute called "myAttr", one might would write a user attribute called "ext:myAttr", and define the "ext" extension through the e57_extensions{}.prefix and e57_extensions{}.uri format attributes.