Question

How to clip raster while keeping z values of individual cells?

  • 13 September 2022
  • 4 replies
  • 4 views

Hi all, I am new to FME and am struggling with how to clip a raster and keep the z values. The raster is an ESRI ASCII file and contains flood depths around buildings. I want to keep the raster cells within x meters of he buildings and then calculate statistics based on the kept cells only (z_max etc). Any ideas on how to achieve this? Thanks in advance!


4 replies

Badge +20

Buffer the buildings -> Clipper port

Rasters -> Clipee / Candidate port

Set Clipper to Multiple Clippers (I think it's default), check the Merge Attributes box.

Send Output of Inside port to RasterStatisticsCalculator.

Rename attributes as needed.

Buffer the buildings -> Clipper port

Rasters -> Clipee / Candidate port

Set Clipper to Multiple Clippers (I think it's default), check the Merge Attributes box.

Send Output of Inside port to RasterStatisticsCalculator.

Rename attributes as needed.

Thanks for the reply! I realized it takes a very long time to clip the raster, is there any other way to get around it that you know of? Is it possible to clip a point cloud for instance?

Thanks in advance

Badge +20

Thanks for the reply! I realized it takes a very long time to clip the raster, is there any other way to get around it that you know of? Is it possible to clip a point cloud for instance?

Thanks in advance

You probably have a lot of building geometries for which you need to extract data from raster. And possibly complex geometries for them.

Clipping point clouds instead of rasters may be more eficient but it also may not be. It depends on your data. If you chose to use pointcloud data just replace RasterStatisticsCalculator with PointCloudStatisticsCalculator. So, just try it 😁

I think the problem is the number of buildings and the size of your raster data. You could try batching it via WorkspaceRunner and sending in a limited number of building and rasters/pointclouds at a time, maibe using FeatureReader with a spatial filter to read just the data you need for the specific batch.

Another slowdown might be the complexity of building geometries. This tends to slow down clipping. Try sending the buffers through Generalizer to reduce the complexity.

Thanks for the reply! I realized it takes a very long time to clip the raster, is there any other way to get around it that you know of? Is it possible to clip a point cloud for instance?

Thanks in advance

Ok, Thanks!

Reply