Sunday 8 January 2017

arcpy - Building extraction with LiDAR data (Improve Process)


I have the following process for automatically creating building outlines/footprints from Las files and was wondering if anyone can help improve it or has suggestions for other processes to use?


EXPERIMENTS:


A. ArcGIS - Lidardataset tools : while you can see just the building class points you can not create polygon automatically. There is the minimum bounding geometry but as it looks at the dataset as a whole it requires you to manually choose the points for each building.


B. External Lidar Analysis tool by Overwatch - building extraction is a core functionality. http://www.featureanalyst.com/lidar_analyst.htm (No longer active - July 28/2014)

It took approx 8 minutes to create a bare earth (essential) and then extract the buildings. It gives the best results by far, even capturing building under the trees (1&4). This is without even looking at a tutorial as it is a very intuitive interface.


enter image description here


Some issues are it has missed the covered corridors (3) but has correctly left out the open roof (2).


C. LASTOOLS - used lasmerge to merge 4 relevant tiles and then lasclip to extract zone of AOI only.


arcpy.lasboundary("AOI.las","1","buildings","true","true","shp","AOI_buildings.shp","","#","true")  

enter image description here


The output was very jagged so I used:


arcpy.SimplifyBuilding_cartography("AOI","AOI_buildings_simplified.shp","4 Meters","0 SquareMeters","NO_CHECK")


enter image description here


and then ran:


arcpy.SimplifyPolygon_cartography("AOI_buildings_simplified","AOI_s.shp","POINT_REMOVE","1 Meters","0 SquareMeters","NO_CHECK","KEEP_COLLAPSED_POINTS")

enter image description here


1 and 2 show the issue areas. Part of it is due to bad lidar classification.


This gives good building lines for long straight edged buildings but if there is overlap by branches or it is a complex building with multiple edges, roofs on multiple levels close to each other etc, manual creation is necersary for any detailed site level work. For general estimation roof shape the process is accurate enough. Process takes less than 10mins total once the process has been finalized.


My Research: https://stackoverflow.com/questions/5037588/simplified-or-smooth-polygons-that-contain-the-original-detailed-polygon and the process suggested by @gromix and What are Definition, Algorithms and Practical Solutions for Concave Hull?




No comments:

Post a Comment

arcpy - Changing output name when exporting data driven pages to JPG?

Is there a way to save the output JPG, changing the output file name to the page name, instead of page number? I mean changing the script fo...