I recently received a task to develop 3D buildings with roof structure. All I have now is satellite images and aerial photographs covering the entire urban area. After reading some previous methods, it seems possible to achieve this with building/roof edges delineated and height information (e.g. a digital surface model). Is it possible to perform these tasks in ArcGIS? If so, with which tools? I am pretty new to GIS so I am not familiar with tools involved in such tasks.

  • Might I just say that you have quite a task before you. Were are you going to get your Z values from? Do you have a DEM or LiDAR data? With what sources you have mentioned your only real option is to heads-up digitize the roof structures and estimate the height (not as hard as it sounds but still a long, tedious process) but you will still need to base that on a raw surface. There's some nice 'how to' pages for sketchup which is Google and free-ish. – Michael Stimson Apr 27 '14 at 4:04
  • It seems that I do not have LiDAR data and I think I may be able to estimate the height of buildings using the shadow of buildings/vegetation (I saw several methods in the literature). Field measurements would be needed to validate the algorithms being used. – user29604 May 2 '14 at 14:12
  • Yes, that is a method that I've employed, based on a 1 story height at eaves being roughly standard and 2 story height at eaves nearly double that. However you do not, and cannot get from the data in hand, the height at the base of the building. Try googling SRTM data, it's rough (~30m cell) but better than nothing. – Michael Stimson May 3 '14 at 4:23

You don't have enough data.

@Michael Miles-Stimson pretty much covered it in his comment. You need a dense LiDAR survey and then a 3rd party plugin or software (there are no OOTB tools for this in ArcGIS) for feature extraction. Even then the features will likely need to be vectorized and cleaned up manually in 3D editing software (Again ArcGIS has an ArcScene viewer and 3D geoprocessing functionality but no actual 3D editing features).

Photogrametry may be an option if your imagery is of sufficient resolution, but you will need to use 3rd party software. Esri does not have any tools for this. Furthermore, from the little architectural photogrametry I have done I found it to be a very time consuming process. There are white papers describing automated building extraction using photogrametry and probably specialized software that can acheive semi-automation but LiDAR building extraction may have diminished these efforts.

What you describe is possible with typical urban vector datasets provided they contain building heights but sans the roofs. In my city we have this type of data and I can extrude then entire city in one shot using 3D Analyst and although the buildings are correctly extruded footprints and good enough for basic analysis, much manual work, as well as additional survey data for each building, is needed to build realistic roof tops.

With what you have (satellite and aerial imagery) you still don't have enough data even if you were to digitize manually because you still need to assign each footprint either an initial "ground" height as well as the actual height to extrude to. if you already have building heights you still need to asign the initial "ground level" elevation and for this you will need the surface DEM or TIN.

Here is the typical workflow to create a 3D building in ArcGIS:

Digitize footprint to a vector polygon

Use DEM to obtain footprint ground level elevation OR convert footprint to 3D polygon

store building height in the footprint attributes

Extrude footprint and convert to a 3D multipatch feature

Convert 3D multipatch feature to a COLLADA file

Import COLLADA to SketchUp and draw a rooftop or other addtional details (ensure all surfaces are closed and you have no dangling lines)

back in ArcScene - replace the original multipatch feature with edited SketchUp file.

Repeat for every building in the city

NOTE: you might be able to find some older techniques techniques for doing this with an ArcGIS plugin for SketchUp. This no longer aplies - ESRI no longer maintains this plugin and if you can find it it only works with ArcGIS version 9.3 and older and SketchUp version 6 and older. It was possible to export TINs, polygons, polylines and points export from ArcGIS to SketchUp using the old ESRI plugin and model entire city blocks in SketchUp. ESRI removed the functionality of "easily exporting ArcGIS data to SketchUp" in version 10 and the software adopted the "COLLADA" workflow approach instead which enable users to add detail to individual 3D features using an external editor (SketchUp). This forces ArcGIS users to build their entire 3D models composed of many features inside ArcGIS but no longer allows to easily export and build models based on GIS data outside of ArcGIS.

BTW, if you want to try photogrametry, the free Sketchup version has architectural photogrametry tools

|improve this answer|||||
  • I can see you've done this before and have the scars to prove it. +1 for such a complete description. I've only done a feasibility study and dismissed it as a complete waste of resources, our software did the basic blocks from 4 pulses per sq.m. LiDAR with reasonable accuracy but realistic roof structures look nice but simply cost too much even if you have an overseas option that will do the hard work for $10 an hour. Unless of course you plan to do a visual analysis based on peak roof height then try to keep your study area small. – Michael Stimson Apr 27 '14 at 22:30
  • Thanks for such a detailed description. Unfortunately I do not have LiDAR data so using the shadow of buildings/vegetation could be an alternative. I have not used Sketchup before but it seems a great tool to construct some 3D building models with roof shapes (I don't think I have to go too detailed about the structure). – user29604 May 2 '14 at 14:16

To make even basic 3D buildings (3D 'blocks') in ArcGIS you would need at a minimum aerial images to digitize the roofprints from (which you have), but would also need data to develop the base and top heights of the buildings (usually LIDAR-derived normalized digital surface models [nDSM] or a survey of the stories each building has). The 3D Analyst extension would be needed to visualize your work product in ArcScene.

Also, the building heights will only be approximate because you will need to choose either the minimum, maximum, average, etc elevation from the nDSM that falls within the building roofprint (ex. In the case of a building with a peaked roof).

Now, developing buildings with roof structures (I assume this would cover peaked roof, AC units, etc) - that adds a whole new level of complexity to the data and tools you will need. Adding square objects like AC units could also be accomplished in Arc using the same digitizing processes as stated above (you would derive the base height of the AC unit from the building roof height, and the top height from the nDSM).

However, trying to accurately model even a simple peaked roof with overhangs is basically impossible to efficiently accomplish in Arc and with aerial LIDAR of typical point density standards. This task would be better suited to photogrammetry software or CAD modeling using the likes of Sketchup, Microstation, or AutoCAD; and as far as the data, you would need a field survey to get some measurement data to base your modeling on or maybe use some measurable oblique imagery like Pictometry.

|improve this answer|||||
  • +1 I guess we were writing our answers at the same time. – Jakub Sisak GeoGraphics Apr 27 '14 at 13:50
  • 1
    They must have high-fived when they passed each other! – mpianka Apr 27 '14 at 14:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for?Browse other questions tagged or ask your own question.