Subscribe to this thread
Home - General / All posts - calculating Volume with Manifold 8
439 post(s)
#31-Oct-23 09:41

I have a question concerning calculating Volume with Manifold 8

I have a drawing representing building footprints.

I have a DSM surface component with Surface heights, and a DTM surface component with Terrain heights

Both surfaces have the same origin, pixel size, scale and projection.

I aim to calculate/evaluate the volume for each building.

So I have 2 approaches:

1st approach

1.1 / With DSM and the building Drawing, use Surface Tools --> Transfer Height --> to a new field dsmHeight in building drawing

1.2 / With DTM and the building Drawing, use Surface Tools --> Transfer Height --> to a new field dtmHeight in building drawing

1.3 / With building Drawing and simple arithmetic calculate Volume1 = Area([Geom (I)]) * (dsmHeight - dtmHeight)

2nd approach

2.1 / With DSM and DTM using Surface Tools --> Transfer --> subtracting DTM from DSM surface --> creating a new resulting Surface renamed to Result

2.2 / With Result Surface and building Drawing calculate Volume2 = Volume([Result], [Geom (I)])

Findings : Volume1 and Volume2 are different.

I would expect both results Volume1 and Volume2 to be equal. The 1st approach on transferring the heights (dsmHeight and dtmHeight) to the building component uses the average surface height that lay within the building footprints.

With the 2nd approach (subtracting DTM from DSM,) the height in the final Result surface somehow must differ from the arithmatic (dsmHeight - dtmHeight) in the first approach.

How does this come ? I would like to understand and know which approach is the most accurate.

Thank you , in advance, to all the contributors on this forum for looking into this.


691 post(s)
#01-Nov-23 10:37

I followed your two methods with Manifold 9. Both approaches result in (nearly) the same answers.

Schermafbeelding 2023-11-01 113540.png

439 post(s)
#01-Nov-23 15:37

Thank you for checking this.

Something must be wrong on my side. I found differences in volume newteen 3% to 5%.

I will look into my data in depth.


439 post(s)
#02-Nov-23 07:13

Sloots, my issue with calculating volume is in M8. But I will look into the issue further.

But anyhow, how did you manage to calculate the volumes in M9?

I am still not comfortable with Tile arithmetic in M9, and as I did not found a straight answer or example to calculate volumes in M9, I went back to M8 but then stuck with too large different volume results in M8.

204 post(s)
#06-Nov-23 21:07

I have used subtracting a DTM layer from its corresponding DSM layer to get estimates of tree height and canopy coverage. Applying a theme to the resultant layer gives us the ability to visually assess both tree height and canopy coverage, the latter best illustrated by making all elevations below a specific height white. This type of image helps us greatly in creating mitigation plans.

My simplistic approach would be to subtract the DSM from the DTM, then multiply by the area of the DTM. This removes the equation using a geom value. If the building has a pitched roof, I would need to perform additional massaging on the height measurement to achieve a more correct answer.

I am not certain how transferring height data to an additional drawing would work. The DSM height layer subtracted from the DTM layer would result in pixels with a known height and a volume equal to the height of the individual pixel times the pixel's width. Adding together the pixel volumes representing the building should result in a correct area estimate.

439 post(s)
#07-Nov-23 06:01

I have looked into the several examples in the manual and videos and found the process how to calculate the building volume in M9.

a) adding a channel1 in the DSM raster and copy the DTM channel0 to it

b) then subtracting channel 1 from channel0 in the DSM raster and put the results in a new elevation raster called DEM

c) with DEM and my Building footprint layer calculate the average height and the volume

For now I am still looking for a way how to remove automatically tree height pixels that are (partly or largely) covering building roofs in my DEMand replace them automatically with neighbouring'roof height pixel value (?).

I may get the original LiDAR data that may help identify 'tree height' pixels in my DEM raster. But,what is a good procedure to follow and what M9 (Tile-)functions would help to achieve the goal?

Any ideas ?


439 post(s)
#07-Nov-23 06:21

I think with LiDAR and DEM layers transfer LiDAR 'classification' attribute to a new channel in DEM . Have some delete pixel/Tile arithmetic in DEM ? Any ideas what the right steps would be and what M9 functions I need to use ?

Manifold User Community Use Agreement Copyright (C) 2007-2021 Manifold Software Limited. All rights reserved.