Transformers to use with Point Clouds

Liz Sanderson
Liz Sanderson
  • Updated

FME Version

  • FME 2018.x


There are many transformations that can be used with point cloud datasets to create sensible transformations with reasonable outputs. FME is "smart" enough to "understand" what is a correct transformation in each particular case. Listed below are transformers that are commonly used with LiDAR datasets. The links provided will lead to articles with scenarios that show how these transformers may be used.


Point Cloud Specific Transformers

There are several specific point cloud transformers available in FME. These transformers either manipulate point clouds without changing geometry, make point clouds from other geometries, or make other geometries from point clouds.

Point clouds can be manipulated in many different ways with FME. The PointCloudThinner and PointCloudSimplifier both remove points in systematic ways which can reduce file size while the PointCloudCreator is used to add points. The PointCloudSplitter and PointCloudFilter can transform the LAS data into multiple point clouds. More complex transformations can be done with PointCloudTransformationApplier or the PointCloudSurfaceBuilder.

  1. PointCloudThinner - Used to reduce data volume by identifying a set or interval of points to keep and discarding the remaining points.
  2. PointCloudSimplifier - Used to reduce data volume by identifying a set of points to keep and discarding the remaining points while maintaining the shape of the data.
  3. PointCloudSplitter - Splits a single point cloud feature into multiple point cloud features based on a selected component.
  4. PointCloudFilter - Filters a point cloud feature into one or more parts
  5. PointCloudCreator - Creates a new point cloud feature with the specified size and components and sends it into the workspace for processing
  6. PointCloudTransformationApplier - Applies transformations like offsets or changing the scale of a point cloud
  7. PointCloudSurfaceBuilder - Reconstructs an input point cloud into an output mesh
  8. PointCloudCombiner - Combines multiple geometries into a single point cloud


Many changes can be made to the components (attributes) of a point cloud dataset. There are multiple transformers available for these changes such as the PointCloudComponentAdder, PointCloudComponentRemover or the PointCloudComponentTypeCorercer.

  1. PointCloudComponentAdder - Adds new components with constant values
  2. PointCloudComponentRemover - Removes specified components
  3. PointCloudComponentTypeCoercer - Converts the type of point cloud components
  4. PointCloudCoercer - Rebuild the point cloud into points or multipoints (aggregates of points). This transformer is used when writing to formats that do not support point clouds
  5. PointCloudComponentKeeper - Specify which components of a point cloud to keep
  6. PointCloudComponentCopier - Copies an existing component to a new component with a new name, but the same values
  7. PointCloudComponentRenamer - Renames an existing component
  8. PointCloudOnRasterComponentSetter - Overlays a point cloud on a raster to add component values for each point as the band values at the point location
  9. PointCloudMerger - Merges component values from one point cloud to another.


Information about the point cloud dataset can be found using transformers like the PointCloudStatisticsCalculator, PointCloudConsumer or PointCloudPropertyExtractor. Transformers like the PointCloudReplacer allow you to change information about the point cloud dataset relative to an additional “blob” dataset.

  1. PointCloudStatisticsCalculator - Calculates statistics on point cloud components and exposes them as attributes
  2. PointCloudConsumer - Requests the point(s) from the point cloud geometry
  3. PointCloudExtractor - Serializes the geometry of the features into the blob attribute based on the selected writer format
  4. PointCloudReplacer - Replaces the geometry of the feature with the geometry held in the blob attribute.
  5. PointCloudPropertyExtractor - Extracts the properties of a point cloud feature and exposes them as attributes.
  6. PointCloudExpressionEvaluator - Evaluates expressions, such as algebraic operations or conditional statements to set point cloud component values
  7. PointCloudSorter - Sorts a point cloud by the values of component


Transformers for Geometries

Point cloud datasets may have their orientation manipulated using transformers like the Rotator, Scaler and Tiler.

  1. Rotator - Rotate features in a counterclockwise direction about the specified point
  2. Scaler - Scales objects to make them bigger or smaller
  3. Tiler - Chops the input features into a series of tiles
  4. GeometryExtractor - Extracts the geometry of a feature according to the setting of the geometry encoding parameter
  5. GeometryCoercer - Resets the geometry type of the feature.
  6. BoundingBoxReplacer - Replaces the geometry of the feature with either its two-dimensional bounding box or its two-dimensional minimum oriented bounding box


Transformers for 3D

The TINGenerator, DEMGenerator, SurfaceModeller and SurfaceDraper construct delaunay triangulation based on input LAS points and breaklines before further manipulation to create 3D terrain or building models. The Extruder transformer may be used in models to create solid geometries like buildings.

  1. TINGenerator - Surface model may be output in a number of representations: a TIN, TIN vertices, TIN edges and triangle
  2. DEMGenerator - Triangulated model is uniformly sampled to produce a digital elevation model (DEM points)
  3. SurfaceModeller - Creates various 3D models
  4. SurfaceDraper -Drape features will be overlaid onto the surface model
  5. Extruder - Creates line, surface or solid geometries with a fixed cross-sectional profile taken from the original geometry of the feature


Transformers for Rasters

Use transformers like ImageRasterizer and NumericRasterizer to draw input point, line and polygon features onto a color raster to visualize the point cloud as an area with complete coverage. The rasters can further be used to create 3D models like DEM’s, DTM’s, or TIN’s.

  1. ImageRasterizer - The fme_color attribute of the input vector features is used to generate pixel values. Features without an fme_colour attribute will be discarded
  2. NumericRasterizer - The z coordinates of the input vector features are used to generate pixel values. Features without Z coordinates will be discarded


Transformers for Calculated Values

The BoundsExtractor and CoordinateExtractor transformers will add the maximum and minimum coordinate values or specific coordinates as attributes to the point cloud at the specified vertex of the bounding box.

  1. BoundsExtractor - Extract the minimum and maximum values of the features coordinates into new attributes
  2. CoordinateExtractor - Retrieves the value of the x, y, and z coordinate at the specified index into attributes


Transformers for Spatial Analysis

Simple adding or removal of points in a point cloud can be done with transformers like the Bufferer and Clipper. These transformers are useful when converting certain parts of your point cloud data into other data formats.

  1. Bufferer - Creates a buffer zone of specified size around or inside input geometry.
  2. Clipper - Performs a geometric clipping operation (sometimes called a cookie cutter)
  3. Offsetter - Offsets a features coordinates
  4. ContourGenerator - Creates contours based on points, breaklines and Delaunay triangulations


Additional Transformers for Point Clouds

  1. AttributeCreator - Adds one or more attributes to the feature and optionally assigns a value derived from constants, attribute values and expressions. Point cloud components can be used to create new attributes for further transformations and conversions.
  2. Deaggregator- Decomposes an aggregate feature into its components. For example, separating points in a point cloud by classification for further manipulation.
  3. AttributeValueMapper - Looks up and assigns attribute values based on other features, like shapefiles, and stores the looked-up value in a new attribute. This may look like adding a building name or address from a shapefile as a new attribute for points within a point cloud.

Was this article helpful?



Please sign in to leave a comment.