Building Footprint Extraction for 3D City Modelling using Point Cloud and Orthophoto: Case Study of Karaman/Turkiye
--
As a result of urban population growth and the construction of different complex structures, 3D visualization has become indispensable for spatial planning and urban management. 3D city models, also referred to as “digital twins”, are used in areas such as disaster management, telecommunications, tourism and navigation, in addition to city planning. Point cloud data obtained by photogrammetry and Lidar methods are commonly used for the preparation of the 3D city model. By using photogrammetry, the position and shape of the object can be determined precisely by using photographs taken from different angles. It is often preferred in 3D visualization studies because it is less costly than the Lidar method. In this study, we will obtain a 3D building model by using the orthophoto and point cloud data obtained by the photogrammetric method.
In the study, I used 8 cm resolution orthophoto and point cloud data showing a part of Karaman city center. I would like to thank the Ministry of Environment, Urbanization and Climate Change — General Directorate of Geographic Information Systems for the data.
1. Processing of Point Cloud Data
First, we need to process the point cloud data we have. We add the data to the project file;
Points do not appear on the large-scale map;
This small study area made ArcGIS Pro slow down. That’s why I decided to make the area even smaller. For this, I first drew a new polygon covering a small area that I selected. Then I generated a new point cloud data with the following tool;
In addition, we need to convert our data into a LAS dataset so that we can use it in the next stages. Normally, this is done for mosaic purposes, but even if we only have one LAS file, we need to convert it to a dataset.
When the points are shown according to their height values, they will appear as follows;
The orthophoto clipped with the ‘Clip Raster’ tool according to the study area border will look like the following;
For building footprint extraction, the point cloud data must first be classified. Some point cloud data is pre-classified and served. To check the status of the data we have, we right-click on ‘Karaman.lasd’ and select ‘Properties’. We can see the status of our data via the “LAS Filter” menu.
For this study, it will be sufficient to extract only the ‘ground’ and ‘building’ classes. We use the ‘Classify LAS Ground’ and ‘Classify LAS Building’ tools for this.
We repeat the same process for the building class. After the classification process, the ‘Classification Codes’ tab will appear as follows;
The classification result does not look bad in general, but when we examine it in detail, we see that some areas need correction. To increase the accuracy of the result, I chose to apply height and vegetation filters, using the classified point cloud together with the orthophoto.
In order to apply the height filter, we first need to generate the Digital Terrain Model and the Digital Surface Model of the study area. We use the same tool for both;
Here’s what we need to pay attention to: When preparing a Digital Terrain Model (DTM), only the ‘Ground’ class should be selected in the Layer Properties -> LAS Filter -> Classification Codes section. When preparing a Digital Surface Model (DSM), both the ‘Ground’ and ‘Building’ classes must be selected.
Since height above sea level is calculated on both maps, we can obtain the actual height values of the buildings by subtraction between these two maps;
The resulting map is called Digital Height Model (DHM) or normalized Digital Surface Model (nDSM).
2. Building Footprint Extraction
Based on the literature, we assume that areas higher than 2 meters represent buildings. We use the ‘Raster Calculator’ tool to apply the height filter;
We use the ‘Set Null’ tool to get rid of pixels that do not meet our desired condition;
When we examine the resulting map, we see that some trees are included in the result data because they are higher than 2 meters. We can map the vegetation index using orthophoto bands to eliminate tree pixels. There are 4 bands in the orthophoto we have: Red, Green, Blue, and Near Infrared. We can map the NDVI (Normalized Difference Vegetation Index) with the Red and Near Infrared bands.
In order to extract the pixels belonging to the green areas from the NDVI map, we need to determine the threshold value. We choose the value ‘0.5’ based on the literature;
When we examine the resulting map, we notice that the shadows of the buildings are detected as green due to their dark colors, but when we combine the height-vegetation filters, these areas will be eliminated.
Now, when we subtract the pixels of the vegetation filter from the pixels of the height filter, we will get the pixels of the buildings;
3. Error Correction
We have completed the building footprinting process, but when we examine the result data, we notice that there are smaller errors and we want to correct them. For this, we first convert our raster data to polygon;
We get rid of areas smaller than 40 square meters;
We’re also seeing gaps in some of our building polygons. We use the ‘Eliminate Polygon Part’ tool to get rid of these gaps;
However, with the use of the tool, we see that the areas that should actually be empty can be filled. Care must be taken when choosing the threshold value.
In addition, we see that there is roughness on the edges of our building polygons because we are converting from raster format. To remove this roughness;
While the tool we used gave satisfactory results for some buildings, it increased the error rate for some buildings. Alternatively, we can try different parameter values and different methods.
4. 3D Visualization of the Buildings
For the 3D representation of the building polygons, we need to extract the height values of these buildings from the nDSM data. We can use the ‘Zonal Statistics’ tool for this;
Buildings need to be in vector format for a 3D view, but for this we must first convert the height values of ‘Float’ type to ‘Integer’ type;
In this study, we extracted building footprints using orthophoto and point cloud data and displayed them in 3D format. When we examine the results and the literature, we see that it is still not possible to achieve 100% accuracy. When we compare it with building footprint extraction using the point cloud data directly, we can say that our method is more successful, especially in extracting adjacent buildings. However, while removing the vegetation pixels with NDVI, we also accidentally deleted the solar panels on the roofs of the buildings. Alternatively, we can try different vegetation indices with RGB bands and compare the results. The resulting 3D building model can be used as input data for different studies.
References
An Automated Process of Creating 3D City Model for Monitoring Urban Infrastructures
Automated Building Footprints Extraction From DTM and DSM in ArcGIS
ESRI Tutorial — Extract 3D buildings from lidar data
Building Footprint and Height Information Extraction from Airborne LiDAR and Aerial Imagery