Skip to main content

Hi I have the following datasets for an area

1. DTM (Digital Terrain Model)

2. DSM (Digital Surface Model)

3. Building footprints

Using the DTM and DSM, I would like to find 1) the maximum height of a building footprint

2) the areas of all parts of a building footprint which are at different heights (this would give me the area for each floor)

Any suggestions? Can this be achieved using FME?

I don't think you can get the area of each floor of a building out of this data.

DSM is a surface model like a DTM including objects on the surface. (it does not include interior surfaces like floors, that would more like a BIM or someother full model of buildings).

Maximum height you can get out of the DSM. Just clip or select the DSM with the footprints. Use for instance a statisticscalutor to get the max z.

And of course you can use fme to achieve this.


So clipping or spatialFiltering the Lidar by the building footprints will give you the just the lidar for the buildings (I would give a UID to each building, and merge attributes).

 

Subtract your DTM from your DSM (How you do this will depend on your data -> you may need to rasterize your data if DTM and DSM have different spacings)

 

Use the statisticsCalculator to get the maximum height (grouping on the UID) (compute the histogram for part 2 if you have a uniform spacing)

 

 

To get the areas of different height, you need a uniform point cloud, and the area each point represents (ie if your have points every 2m then the area of each point is 4m^2). Multiply the count values in the histogram by the point area to get the areas of the different heights.

 


Reply