Skip to main content

What's the best way to rasterize a 3D polygon (not constant Z value)?

The NumericRasterizer is very efficient (3.2 seconds) but uses a single z value (first vertex?) for the entire polygon.

 

The RasterDemGenerator produces the desired results, but takes over 1.5 hours to run.

 

 

 

Is there an alternative to the RasterDemGenerator that is more efficient?

You could try a PoincCloudCombiner, followed by NumericRasteriser. The PCC is nice and quick and with a small point spacing the NumericRasteriser should give a better result


You could try a PoincCloudCombiner, followed by NumericRasteriser. The PCC is nice and quick and with a small point spacing the NumericRasteriser should give a better result

The PCC->NumericRasterizer ended up with a lot of NoData pixels along what presumably would be the TIN edges.

 

 


Hello. I would take a look at the SurfaceModeller DEMRaster output (although the RasterDemGenerator should do the same thing). I was able to generate this raster from 3d polygon in 1.8 seconds! This was 0.2m cell spacing - maybe yours was set to a massively small cell size?! Owen


Hello. I would take a look at the SurfaceModeller DEMRaster output (although the RasterDemGenerator should do the same thing). I was able to generate this raster from 3d polygon in 1.8 seconds! This was 0.2m cell spacing - maybe yours was set to a massively small cell size?! Owen

My cell spacing is about 0.4m, but I suspect my polygon is significantly larger than yours.

 

 

For small areas the time is reasonable, it just scales very badly.

 

 

As far as I know the SurfaceModeller and RasterDEMGenerator use the exact same factory and should be identical in time/output as long as the DEMRaster is the only connected output port.

 

 


The PCC->NumericRasterizer ended up with a lot of NoData pixels along what presumably would be the TIN edges.

 

 

Maybe try setting the point density to be twice that of the cell spacing? I would expect that to give enough coverage to have no holes. Perhaps my logic is flawed here though