Solved

Lasground and parallel processing of 4.5GB point cloud


Badge +4

Currently I am busy with a 4.5 GB point cloud. I want to classify this point cloud into ground points and vegetation points.

I tiled my point cloud into tiles of 500 x 500 m and assigned an unique TILE id. Now I wanted to run lasground on the separate point clouds resulting from the tiler using parallel processing. However, it seems that there is no option for this available in the lasground transformer. Is there a workaround for this?

icon

Best answer by daveatsafe 3 July 2019, 19:16

View original

3 replies

Userlevel 2
Badge +17

Hi @lambertus,

Please right-click on the lasground transformer, then choose Create Custom Transformer. Inside the new transformer, set Parameters - Parallel Processing to Moderate or Aggressive. This will expose the Group By on the new transformer, which you can set to the TILE attribute.

This process works for almost any transformer that does not parallel process normally.

Badge +4

Hi @lambertus,

Please right-click on the lasground transformer, then choose Create Custom Transformer. Inside the new transformer, set Parameters - Parallel Processing to Moderate or Aggressive. This will expose the Group By on the new transformer, which you can set to the TILE attribute.

This process works for almost any transformer that does not parallel process normally.

Hi @daveatsafe, thanks for your reply! I find the option to include this option.

In the meantime I tried something else with parallel processing. I imported 36 images with a total size of approximately 18 GB. I gave them an artifical number using the modulo counter transfomer (maximum number =4).

Afterwards I tried to rotate each image with the Rotator transformer 270 degrees using parallel processing (Group By = modulo counter attribute). However, I took a quite long time before each raster image received a number from the modulo counter.. Do you have a trick to speed up processing here?

Userlevel 2
Badge +17

Hi @daveatsafe, thanks for your reply! I find the option to include this option.

In the meantime I tried something else with parallel processing. I imported 36 images with a total size of approximately 18 GB. I gave them an artifical number using the modulo counter transfomer (maximum number =4).

Afterwards I tried to rotate each image with the Rotator transformer 270 degrees using parallel processing (Group By = modulo counter attribute). However, I took a quite long time before each raster image received a number from the modulo counter.. Do you have a trick to speed up processing here?

Hi @lambertus,

FME's raster processing is a bit different from vector processing: the entire pipeline of transformers is combined into a single raster operation, then applied in a way so that we only use it to create the output pixels required. This ensures that we only read as much of the input images as we require for the output, and that only a single raster operation is performed, avoiding the raster degradation that can come from multiple operations.

Because of this, it is difficult to isolate any single transformer as the source of the processing time - it is most likely to be the raster read/write that is the bottleneck.

Reply