Skip to main content

Hello!

I have shp footprint of buildings and DEM information with TIFF format. I would like to extract Band0 value as a height information, and then apply it into footprint, so then I can create a 3D buildings. Could you tell me the flow that I have to use? maybe I also have to change the coordinate system right

Hi there. You can use the Clipper to clip your raster to the footprints, apply this workflow to create a pointcloud from your DEM and use the PointCloudSurfaceBuilder to create 3D objects.

If you just need 2,5D objects you could try Clipper -> RasterStatisticsCalculator to calculate Mean/Max Z-value -> SpatialRelator to relate Z-value back to footprint and 3DForcer to add Z-value to the vertices.

 

If the coordinate systems of your input data differ (here's how to check this) you can use the Reprojector to reproject one of the two datasets to the other one's projection.

 

Hope this helps, 3D mapping is pretty interesting, have fun!


imagehello, I created the pointcloud and it seems like every points has their own Z value(height), could you help me to create a building base on each height of the point?


imageAnd I also tried to make 2.5D objects, and because of the black area of clipped raster(which has 0 value) all the min values are 0. I wanted to use mean as a elevation value, but because of this problem, I think I cannot use mean, also if the terrain is higher than other area, Z mean values of those buildings are higher, it doesn't represent the height well. Thank you for your reply!


imageAnd I also tried to make 2.5D objects, and because of the black area of clipped raster(which has 0 value) all the min values are 0. I wanted to use mean as a elevation value, but because of this problem, I think I cannot use mean, also if the terrain is higher than other area, Z mean values of those buildings are higher, it doesn't represent the height well. Thank you for your reply!

For the 0 value issue:

Try to set the 0 raster cells to Nodata with the RasterBandNodataSetter. If you want to set all values from 0 to x to Nodata, you can first replace these values with 0 using the RasterCellValueReplacer before using the RasterBandNodataSetter.

 

For the terrain elevation issue:

I misread your first post. In the image below the difference between a DSM and DTM are explained. imageTo create a height map of just the objects on the surface, you need to subtract the DTM (surface values) from the DSM (surface + object values). This leaves you with a raster of just the height of the objects.

You can do this using the RasterCellValueCalculator. Make sure both your DTM and DSM are the same extent.

 

I sadly dont have any rasters on my current machine to help you out with a test workspace.


For the 0 value issue:

Try to set the 0 raster cells to Nodata with the RasterBandNodataSetter. If you want to set all values from 0 to x to Nodata, you can first replace these values with 0 using the RasterCellValueReplacer before using the RasterBandNodataSetter.

 

For the terrain elevation issue:

I misread your first post. In the image below the difference between a DSM and DTM are explained. imageTo create a height map of just the objects on the surface, you need to subtract the DTM (surface values) from the DSM (surface + object values). This leaves you with a raster of just the height of the objects.

You can do this using the RasterCellValueCalculator. Make sure both your DTM and DSM are the same extent.

 

I sadly dont have any rasters on my current machine to help you out with a test workspace.

Thank you for your replying! I'll try it! Thank you again!

 


Reply