I am creating a 3D scene and wondered if it is possible to drape an image over a 3D layer, such as Mastermap.
I am relatively new to 3D, but I have a scene setup which is using Mastermap data (joined with Mastermap heights csv data), so the Town Centre has 3D buildings. I can drape over a basemap or aerial imagery onto the elevation surfaces, but obviously the buildings extrude above this. Is there a way that I can make the aerial imagery drape over the 3D mastermap polygons?
I have achieved something similar using a Digital Surface Model, as I can use this as an elevation surface, and then the aerial imagery drapes over this. It doesn't drape over the DSM that well though, which was expected, and I feel draping over the Mastermap polygons would look much better with the heights being generalised (obviously far from perfect though).
I also wanted to be able to do this to make a new building in the Town Centre look as realistic as possible. I was hoping I could extract out just that particular building and then add in some images for each angle. Not sure if it is possible though or if there is any workarounds?
Is the 3D building Feature Class in multipatch geometry?
Then, you can
1. Convert Multipatch to Raster , you may opt to keep the cell size same as the DEM Raster.
2. Add the above Raster to the DEM using Raster Calculator. Expression: "MODEL_Z_RASTER" + "DEM_RASTER"
3. Try draping the satellite/aerial image on top of the new DSM Raster.
I don't think the layer is in multipatch geomtery. The data was created from standard mastermap polygons (geodatabase), and then joined with MM heights. So the data is a standard polygon which I then brought into a scene and used the height field in the Extrusion options to make it 3D.
Do I need to try convert the polygons into multipatch geometry? Then follow the steps you mention?
Thanks, I will try that later this afternoon.
Just want to check something about the DEM you mention, is this the built in WorldElevation3D/Terrain3D elevation surface? Or do you mean my own DEM? I know I mentioned in my initial post that I used a DSM to drape the aerials, so just checking.
I meant your own DEM/DSM (Raster Dataset). What is the source of your DSM? If it is older than the date, the building was built, the elevation value of that area could be same as the ground elevation.
I thought that must be what you meant, but I am not sure this would work for existing buildings.
The DSM I am using is from Defra (50cm), and I was testing this drape on an existing building. So the building already will exist in the DSM, so adding the new raster to this DSM is probably not going to work as planned. This could be a good option for adding a new building though.
For draping over existing buildings, I could possibly create a DEM, and add the relevant Mastermap polygons into the DEM (using the polygon to raster and then raster calculator). I think that should work, as the DEM would not include any buildings? Quite long winded but it might be the only way...
Just to add, I decided to try making the raster from a single polygon (stadium), and the raster to my DSM using Raster Calculator, and it completed fine, but when I try to use the new raster as a surface, it doesn't work as expected.
I thought it would look exactly the same as the DSM, just with an added building (although the stadium did already exist).
Screenshots attached showing just the DSM with aerial draped over (DSM1), then the newly created raster (DSM_and_Stadium). Perhaps my settings weren't correct when creating the raster from the polygon to raster tool?
Yes, the aerial is still turned on. The only difference between them two pictures is one is using the DSM, and the other is using the newly created raster (raster and DSM).