Monday, March 15, 2010

Create LiDAR intensity GeoTiff images with FME

The raster transformers in FME can be used to create LiDAR intensity images in GeoTiff format. In my previous post, I created intensity images with the ImageRasterizer transformer but the resultant images are not that great. A better way is to form an intensity surface from the LiDAR points using the RasterDEMGenerator and generate the output GeoTiff intensity image. The detailed steps I did are described below.
  1. Start up the FME Workbench and open a blank workspace.
  2. Select Source Data | Add Dataset. Choose ASPRS Lidar Data Exchange Format (LAS) as the source format. Click Browse and choose a LAS file.

    The Add Source Dataset dialog box appears.

  3. Click OK.

    The Select Feature Types dialog box appears.

  4. Toggle off header and variable_length_header (optional). Click OK.

    The source dataset is placed on the workbench.
  5. Select Destination Data | Add Destination Dataset.

    The Add Destination Dataset dialog box appears.

  6. In the Format field, choose GeoTIFF. Click Browse and choose an output folder as the dataset. Click OK.

    The prompt appears.

  7. Click Yes.

    The Feature Type Properties appears.

  8. If you like, click the Parameters tab and define the output GeoTiff parameters e.g. compress method, world file generation etc. Click OK.

    The destination dataset is added to the workbench.
  9. Drag and drop the CoordinateFetcher, GeometryRemover, 3DPointAdder, RasterDEMGenerator, RasterInterpretationCoercer transformers onto the workbench. Connect them with the source and destination datasets as shown below.

  10. Open the CoordinateFetcher transformer's parameters and set as shown below.


  11. Open the 3DPointAdder transformer's parameters.Choose _x, _y, and Intensity as the X Value, Y Value and Z Value.


  12. Open up the RasterDEMGenerator's parameters. Type in the Output DEM X Cell Spacing and Y Cell Spacing e.g. 1.


  13. Open up the RasterInterpretationCoercer transformer's Parameters. Choose the Destination Interpretation Type e.g. Gray8. In the Convert from Numeric to Color field, choose Cast.


  14. Run the translation.

    The intensity GeoTiff file is created.
If you find the intensity image looks blown out (too many white spots), you can add in the ExpressionEvaluator transformer to adjust the intensity values before passing them into the RasterDEMGenerator transformer as shown below. 
In the ExpressionEvaluator's Properties, scale down the intensity values by multiplying with a factor e.g. 0.25 as shown below to ensure the values fit into the 8-bits grayscale range (0~255). I prefer using the ExpressionEvaluator than the RasterInterpretationCoercer to do this task as I wasn't too happy with the results from the Coercer's Numeric to Color parameter. 

1 comment:

Unknown said...

Interesting, thanks for some tips!
I have used 3DForcer to use intensity as Z-value in rasters, maybe an easier way than yours?