PointCloudThinner

From fmepedia


This page contains a Custom Transformer created by an fmepedia user.
  See the attached files list at the foot of this page for the zip file containing this custom transformer.  



Created by: Mark Ireland


Table of contents

Description

The PointCloudThinner transformer is designed to thin out a set of sample points so that the samples are not too close to each other.

It takes a set of point features as input and returns a subset where each point is guaranteed not to be within a user-specified distance of any other.

Points closer than the specified distance are output through a separate port.


Screenshots


Above: The PointCloudThinner in a workspace. Note the feature count numbers on each connection, showing the number of input and output points.



Above: The output from the PointCloudThinner - the dark coloured points are those that are less than (in this example) 500m from another point, and so have been filtered out.


Settings

There are only two settings for the PointCloudThinner: Thinning Tolerance and Thinning Type.

Thinning Tolerance is simply the minimum space to be allowed between points.

Thinning Type refers to the algorithm used to process the data. It can be either Full or Simple. A Full thinning is much slower (see warning below) but will remove only the absolute minimum number of points. A Simple thinning is much quicker, but will remove more points than is absolutely necessary, giving rise to the possibility of gaps in the sample surface.



Above: The PointCloudThinner settings dialog. The thinning tolerance defaults to 500. The thinning type defaults to Full.


Warning

In Full mode the time taken to run this workspace greatly depends upon the density of the features and the thinning tolerance used. The greater the density and the larger the spacing the longer the workspace will take.

The time taken to process the data is exponentially larger for each additional feature, so the advice is to try this out on a sample of data (say 1000 features) to get an idea for how long it will take on your particular data and settings.

Do not be surprised to find that the process takes many hours for very dense datasets with a large thinning tolerance.



Above: The full process first carries out the simple process to pre-filter a large amount of data. The number of remaining features - as defined by the above line in the log - is the important figure for calculating the length of the process.


Known Issue

The only known issue is a fault that I can't track down. For some reason some features are not being filtered out when they should. The problem seems to resolve itself as long as there is a writer of some sort in the workspace. If you don't have one a dummy output port has been supplied; simply create a writer of format NULL with a feature type, and attach this output port to the NULL feature type.



Above: The dummy output port connected to a NULL dataset feature type

Attached Files
filesizedate
PointCloudThinner.zip116.7 kB11/27/07
pct1.jpg44.3 kB11/27/07
pct2.jpg5.9 kB11/27/07
pct3.jpg19.1 kB11/27/07
pct4.jpg49.8 kB11/27/07
pct5.jpg46.3 kB11/27/07
User Comments Add a new comment