Calculating height from DTM / DSM tiles with different cell sizes

I would like to create a grid file from the corresponding DTM / DSM tiles with the height difference stored in the cells. DSM 1 km tiles are supplied in 2 metre resolution (500 by 500) while the DTM 1 km tiles are provided in only 5 metre resolution (200 by 200).

To get the grids to have the same number of rows and columns (so the height difference can be generate in the RasterCellValueCalculator), I first tried to use the Raster Resampler with the number of rows and columns set to 1000. However the interpolation methods produce unreliable results. Is there a transformer that will split the 2m / 5m cells into groups of 1 metre cells while keeping the same value?

Also what is the best way of pairing the files so that a workbench can iterate through DTM / DSM tiles with matching file name in the source folders? For example processing DTM\SO4043.jpg and DSM\SO4043.jpg together and then all the other matching pairs?

Each output would be fme_basename.tif

Note I was planning to use the output to add the height to vegetation areas derived from colour infrared images. (Used RasterExpressionEvaluator to calculated the NDVI for the colour infrared image).

1 Reply

If you use the RasterResampler in Nearest Neighbour mode, you should have the same value if you supersample (2m->1m).

For pairing the raster if the tile names are the same between the two datasets you should be able to use a group-By on the RasterExpressionEvaluator (fme_basename).

If for size / memory reasons, you want each pair to be processed individually via a workspaceRunner, you can use a Directory and File Pathnames reader to get the source files and manipulate the filenames so you end up with one feature per pair, with attributes containing the path to both files and send that to a workspaceRunner, where the child workspace reads in the two files and does all the processing.