I recommend transforming your raster to pointcloud via PointCloudCombiner, classify the ground via LAStools.lasground (from the FMEHub), then recreate your raster from the filtered data if you need to.
I recommend transforming your raster to pointcloud via PointCloudCombiner, classify the ground via LAStools.lasground (from the FMEHub), then recreate your raster from the filtered data if you need to.
Just keep in mind that lastools should be licensed unless for non-profit or educational purposes.
Thank you @caracadrian !
Following your recommendation, I am now evaluating LAStools solution. I am trying to figure out why I am getting errors in the log when running the LAStools.lasground in the FME workspace:
ERROR: cannot alloc tile
ERROR: cannot get tile (3000/4363)
ERROR: cannot alloc LASrasterTile
I have of course transformed the GeoTiff raster DEM into a point cloud using the PointCloudCombiner and I also reprojected it to a coordinate system in meters before submitting it to the LAStools.lasground (pointing to the correct exe).
As LAStools is a tool which is not free, can you think of any alternative method?
LAStools is the simplest and most memory efficient way of processing this particular issue via FME.
To workaround your errors you should play with the transformer parameters (IE tile size, number of points).
An FME only solution would be using RasterSlopeCalculator, building buildings footprints polygons from a range of pixel slope values (maybe add a palette), clipping the raster by the buildings footprints (maybe add a buffer to them), creating a new DEM from the clipped raster with the holes filled with the minimum value of the surrounding area (the buffers come in handy here).
The memory usage of this workflow is greater then the LAStools one so use precaution on processing large DSM's.
LAStools is the simplest and most memory efficient way of processing this particular issue via FME.
To workaround your errors you should play with the transformer parameters (IE tile size, number of points).
An FME only solution would be using RasterSlopeCalculator, building buildings footprints polygons from a range of pixel slope values (maybe add a palette), clipping the raster by the buildings footprints (maybe add a buffer to them), creating a new DEM from the clipped raster with the holes filled with the minimum value of the surrounding area (the buffers come in handy here).
The memory usage of this workflow is greater then the LAStools one so use precaution on processing large DSM's.
Yes I will play some more with LAStools parameters. I am new to 3D data but the tool seems promising when looking at what it leads to when using sample data. If it meets our requirements we will contact rapidlasso for buying a license. I also read it adds some noise to the evaluation results, so maybe results with the license will look even better.
The FME-only solution is a good B-plan. The trickiest part though is the extraction of building footprints. But I think we can do some magic there. Furthermore we have polygons of built-up areas, so removing these larger parts from the DEM is an option (quick and dirty), followed by refilling the holes with the neighboring values.