Hi @adam5514
I'm not sure I understood what part of your data was stored as pointcloud? The DEM or the buildings?
If it is the buildings, you might want to transform them to polygons instead, using a HullReplacer.
Unfortunately, the Extruder only extrudes
with a value, not
to a (z)value. And it can't extrude different vertices with different amounts either, so you can't use an equation to compute how much each vertice on the buildings should be extruded downwards to reach the ground.
One (computer heavy) solution is to extrude the building polygons well below ground level (say -1000 m), then extrude the DTM upwards so that it is well above the tallest buildings (say +1000 m) - and then use a Clipper to clip the building volumes with the DTM volume. This will create buildings with walls extended to the ground.
Hi @adam5514
I'm not sure I understood what part of your data was stored as pointcloud? The DEM or the buildings?
If it is the buildings, you might want to transform them to polygons instead, using a HullReplacer.
Unfortunately, the Extruder only extrudes
with a value, not
to a (z)value. And it can't extrude different vertices with different amounts either, so you can't use an equation to compute how much each vertice on the buildings should be extruded downwards to reach the ground.
One (computer heavy) solution is to extrude the building polygons well below ground level (say -1000 m), then extrude the DTM upwards so that it is well above the tallest buildings (say +1000 m) - and then use a Clipper to clip the building volumes with the DTM volume. This will create buildings with walls extended to the ground.
Might have described my problem wrong. The final product should be a point cloud, the input data is a raster of surface and a shapefile of buildings in the same area. I clipped the raster with the shapefile, filtering out everything but the buildings.
Nevertheless you gave me an idea. Would it be possible to... either assign any one of the raster value to each polygon on top of it (like a value from cell that is in the polygons centroid) or... somehow looping an offsetter to the point cloud in my second screenshot to extrude it that way?
Might have described my problem wrong. The final product should be a point cloud, the input data is a raster of surface and a shapefile of buildings in the same area. I clipped the raster with the shapefile, filtering out everything but the buildings.
Nevertheless you gave me an idea. Would it be possible to... either assign any one of the raster value to each polygon on top of it (like a value from cell that is in the polygons centroid) or... somehow looping an offsetter to the point cloud in my second screenshot to extrude it that way?
If you could upload a sample of your input data, I am pretty sure that someone could help you to get what you want.
If you could upload a sample of your input data, I am pretty sure that someone could help you to get what you want.
Very well, here's some sample data. I wish to create a point cloud of the terrain and buildings (with flat rooftops for simplicity). The sample is just two tiff files of mentioned inputs. sample_data.zip
Hi @adam5514, if you are okay with using the elevation of the polygon centroid as the ground elevation for the buildings, the attached workspace may work for you. So I offset the polygons using the centroids elevation, and extrude them into solids with the building heights, then convert to point clouds. Hope this helps.
rastertopointcloud.fmw