Description
3D clipping wasn't the leader among other requests, but still it got quite a few votes in our questionnaire. In fact, it performed as good as many other requests that were implemented in FME 2011 such as tiling or reprojecting. However, in general, 3D Clipping is something what FME is still not quite good at.
In this article, I am going to show that despite lacking a specific 3DClipper transformer, FME 2011 is still capable of doing some simple clipping along 3D, which, I hope will satisfy most of the users who need this functionality.
The main role in clipping along Z axis plays
CoordinateSwapper, which is just a simplified version of
3DAffiner, a real player behind the scene.
The first and the last essential steps in all workspaces below is swapping Y and Z coordinates. Once Z becomes Y (I am going to use the following notation: Yz), we can apply all the power of 2D manipulations to a point cloud - we can create bounding boxes, clip, tile, buffer - all this will be reflected in the output once we restore the original status, that is, Y will become Z, and Z will become Y again.
Clipping to a certain elevation range
If we know the vertical extents, to which we need to clip our point cloud, we can make a clipper that keeps its original extents along X axis, and applies user specified values for extents along Yz:
This simple custom transformer will keep only those points that fall into the specified range:
Original Point Cloud
(Z Extents: -1.8 to 6.4)

Clipped Point Cloud
(Z Extents: 0.0 to 2.4)
See attached template workspace - Point Cloud 3D Clipping.fmwt
A side effect of this functionality allows avoiding the limitation of Data Inspector in FME 2011 - currently, it evenly spreads color rainbow along the extents of a point cloud saved in its header, and which do not necessarily match the real point cloud extents (real extents can be the same or smaller). Or, some noise points can be present at some elevation (or depth). As result, a visualized point cloud can show only some variations of a single color (as shown left above). Clipping to some more realistic extents makes the visualization experience much better:
Original Point Cloud
(Z Extents: 841.14 to 5343.44)

Clipped Point Cloud
(Z Extents: 841.14 to 930)
See attached template workspace - Point Cloud 3D Clipping 2.fmwt
This transformer can also be used for custom color elevation zones - by placing several transformers, we can clip the point cloud into zones and assign a unique color to each zone:
Original Point Cloud

5 Colored Point Clouds
Note that this method assigns fme_color to the entire point cloud, not to individual points (at least, for now, in FME 2011), which only affects point cloud visualization in DI. Color component is not changing.
See attached template workspace - Point Cloud 3D Clipping 3.fmwt
Noise Filtering
In situations, when a point cloud contains some noise (such as clouds or birds) above the legitimate points, we can use Tiler for separating the good points from the bad ones.
When we clip a point cloud along Yz with Tiler, only tiles with points are created, so if we find a gap between existing tiles, or there is no tiles after a certain elevation (again - extents of the point cloud header can be bigger than the real point cloud extents) we can conclude that all valid points are below, and the rest is a noise or an empty space (I would like to underscore, that this is not a universal filtering algorithm - it is rather an example how Tiler can be used for filtering purposes. So, for example, if there is noise or just extents going below the main body of points, the algorithm will not work). See
this custom transformer -PointCloudVerticalFilter.fmx.
The example below shows, how this method helps to get rid of an unwanted cloud (water dropled cloud, not point cloud):
Original Point Cloud
(Z Extents: 212.88 to 1480.89)

Clipped Point Cloud
(Z Extents: 212.88 to 428.44)
The oirignal point cloud was set to be tiled to 100 vertical (Yz)tiles, however, only 26 tiles were produced, with a long gap after 17th tile:
See attached template workspace - Point Cloud 3D Clipping 4.fmwt