I have a DSM done trough photogrammetry with the software Agisoft Photoscan of a forestry experiment and I need to accomplish an analysis of the mean height from it. My problem is that the profile has a slope and I need a flat surface for the calculations.

This is the exact profile:

enter image description here

I have tried with the Trend tool of ArcGIS but it doesn't work well, still appearing differences. The calculation needs to be very precise because the heights are between 0 to 2.7 meters.

This is one of the results with the Trend tool, and the slope is still appearing. The surface is higher in the top than in the bottom and that doesn't make sense.

enter image description here

Anyone have experience with this?

  • Do you have a DEM? (ground only) I subtract the ground from the DSM to create a vegetation height raster, this normalization would make your calculations easier. Nov 30, 2017 at 4:22
  • The DSM that I have is builded by photogrammetry, that means the elevation doesn´t discriminate by ground or vegetation, is just surface. Nov 30, 2017 at 14:42
  • What format are the points that made the surface in? You might be able to use a tool like lasground rapidlasso.com/lastools/lasground ground/nonground classify with input X,Y,Z files output to LAS then create a LAS Dataset and render the ground points only to DEM or use LAS2DEM rapidlasso.com/lastools/las2dem. Nov 30, 2017 at 20:51

2 Answers 2


Using the Trend tool does not work because it will only smooth the DSM surface, while what it is necessary is a DEM (bare-earth surface).

What you want is a Canopy Height Model (CHM) (sometimes known as a normalized DSM) which is a raster expressing heights from objects relative to ground (i.e., all ground points/pixels are set to the same level, a reference with 'zero' height).

One option, if possible, is to access the raw point cloud, normalize it, then build a DSM from it (a DSM built from a normalized point cloud is already the CHM). Alternatively, one can classify ground points from the raw point cloud, build a DEM and subtract it from the DSM. Many software for processing LiDAR point clouds will take ASCII point cloud (.xyz, or .txt) as input files and you can try using them to process your photogrammetric point cloud (for example, see here or here).

Another option would be to find an already made DEM for the location (SRTM DEM, for example) and subtract it directly from the DSM. One can also try to generate a DEM from the DSM, but this is suboptimal because the DEM will be generalized/smoothed (see here and here).


You need to use proper algorithms available in different software to convert DSM to DEM/DTM such as in PCI Geomatica DSM to DTM. You can also do it in ArcGIS by converting your data into Pointcloud and then LAS/LiDAR data processing functionalities.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.