I am currently trying to separate the DSM as Building DSM and Canopy Height Model. I also have DTM, Building Footprint data.

enter image description here

  1. Digital Surface Model
  2. Building Footprints.
    • For separation I converted the vector data as raster mask image. Buildings have pixel value of 1 and the rest has 0.
  3. Here you can see DSM and building footprints do not match 100% due to the resolution in DSM data.
  4. When I use the mask image I created from building footprints, I could be able to extract the buildings from DSM data.
  5. (DSM-BDSM) - DTM = Canopy Height Model. Here the edges of the buildings are visible.

My question how I can do this separation process with the data I have. Is there any way to extract the buildings and trees in this data properly?

  • Have you tried clipping your DSM using the building polygons?
    – Erik
    Oct 23, 2023 at 9:12
  • My problem here is actually in CHM. Edges are still visible because building footprints and DSM do not match exactly. Could you explain please how clipping with building polygons could solve the problem here? Oct 23, 2023 at 9:18
  • 1
    I asked if you tried, I didn't indicate it would solve all your issues. Maybe the result is sufficient?
    – Erik
    Oct 23, 2023 at 9:23

1 Answer 1


One simplistic way to do it would be to add a buffer of approximately two pixel sizes to your polygons. I.e. if your raster data is 1m x 1m then add 2m as your buffer to your polygons. Then repeat your analysis. This will not yield 100% accurate results, but it might be better than what you currently have.

  • 1
    It is indeed the most promising solution for this method. I tried and now looks much better. Thanks for the idea. Oct 24, 2023 at 10:23

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.