Start working with lidar data
In this tutorial, you'll extract information from lidar data. Lidar (light detection and ranging) is a remote-sensing technique that uses laser light to densely sample the surface of the earth, producing highly accurate x, y, z point measurements. A set of those points is called a point cloud. Laser pulses emitted from a lidar system reflect from objects both on and above the ground surface: vegetation, buildings, bridges, and so on. One emitted laser pulse can be reflected back a single time (single return), when it hits a solid surface, such as a building roof or the ground. It can also be reflected several times (multiple returns), as it encounters multiple reflection surfaces while traveling toward the ground. For instance, for a tree, the pulse might reflect off several tree leaves and small branches at different heights, and finally the ground. All these returns are represented as points in the point cloud, providing rich and detailed information about the landscape. To learn more about lidar, see What is Lidar data?.
To extract 3D building shapes from lidar data, you'll first classify the point cloud, identifying the cloud points representing the ground and the buildings of the area of interest. You'll then use the points classified as ground to generate a DEM, which represents the ground surface elevation as a continuous raster. Next, you'll use the points classified as buildings to extract the 2D building footprints. Finally, you'll bring these elements together to generate 3D building features.
Note:
This tutorial focuses on teaching lidar-related concepts: what lidar data is, how to create a LAS dataset, how to classify a point cloud, how to derive a Digital Elevation Model (DEM) from it, and how to extract 2D building footprints and 3D multipatch buildings.
However, for cities and other agencies who aim at generating 3D basemaps at scale, Esri offers the 3D Buildings solution. That solution provides a series of workflows that streamlines the creation and maintenance of a 3D building layer. Its use is demonstrated in the ArcGIS Lab Working with the ArcGIS Solution for 3D Buildings.
Download and open the project
First, you'll download the project containing all the data needed for the tutorial and open it in ArcGIS Pro.
- Download the Building_Extraction .zip file.
The .zip file downloads to your computer.
- Locate the downloaded Building_Extraction.zip file on your computer.
Note:
Depending on your web browser, you may have been prompted to choose the file's location before you began the download. Most browsers download to your computer's Downloads folder by default.
- Right-click the Building_Extraction.zip file and extract it to a location you can easily find, such as your Documents folder.
Next, you'll open the project in ArcGIS Pro.
- Start ArcGIS Pro. If prompted, provide your ArcGIS account credentials.
Note:
If you don't have access to ArcGIS Pro or an ArcGIS organizational account, see options for software access.
- In ArcGIS Pro, click Open another project.
- In
the Open
Project window, browse to
the Building_Extraction folder you downloaded.
Click Building_Extraction.aprx to select it and
click OK.
The project opens.
The project contains a 3D-enabled local scene centered on the neighborhood of Tuborg Havn in Copenhagen, Denmark. This is a redeveloped mixed-use neighborhood located on the former industrial site of the Tuborg Breweries. The scene includes Tuborg_Havn_Ortho_Photo.tif, an aerial photograph of the area, which you'll use as a reference during the tutorial.
Note:
The Tuborg_Havn_Ortho_Photo.tif imagery and all the data used in this tutorial comes from the Danish government website Styrelsen for Dataforsyning og Effektivisering.
In ArcGIS Pro, local scenes are useful to display 3D datasets that have a limited spatial extent, such as a city, or, in the case of this tutorial, a city neighborhood. The data displayed in a local scene must use a projected coordinate system. Learn more about local scenes and how they are different from global scenes in the Scenes documentation page.
- Zoom in using the mouse wheel button and drag the map to pan. Observe the Tuborg Havn neighborhood.
The neighborhood includes various modern buildings, a marina with boats, smaller buildings on the western and northern edges, and an area still in development on the southeast side.
Note:
This extent is limited to ensure that you can progress through the tutorial rapidly. In a production setting, you can process a larger neighborhood or even an entire city.
Next, you'll prepare and display the lidar data.
Create a LAS dataset
Lidar point cloud data is often stored in the LAS file format. In this tutorial, the Tuborg Havn area is spread across two LAS files. You'll gather them into a single LAS dataset.
Note:
It is common to use several LAS files to cover your entire area of interest. A LAS dataset can contain as many LAS files as necessary for your study area.
First, you'll locate the two LAS point cloud files.
- On the ribbon at the top of the window, click the View tab. In the Windows group, click Catalog Pane.
The Catalog pane appears.
- In the Catalog pane, expand Folders, Building_Extraction, Tuborg_Havn_data, and LAS_data.
PUNKTSKY_1km_6181_724.las and PUNKTSKY_1km_6181_725.las are the two LAS files that cover the Tuborg Havn neighborhood.
Note:
The two LAS files come from a project managed by the government of Denmark that produced lidar coverage for the entire country.
Next, you'll create a LAS dataset.
- Right-click the LAS_data folder, point to New, and choose LAS Dataset.
A new LAS Dataset adds to the LAS_Data folder on the Catalog pane and the name of the dataset is editable.
- Type Tuborg_Havn and press Enter.
The extension is automatically added and the name Tuborg_Havn.lasd appears in the list.
Tuborg_Havn.lasd is a LAS dataset, but for now it is empty. Next, you'll populate it.
- Right-click Tuborg_Havn.lasd and choose Properties.
- In the LAS Dataset Properties window, click the LAS Files tab.
- Under Files, click Add Files.
- In the Open window, browse to the Tuborg_Havn_data folder and double-click the LAS_data folder to open it.
- Press the Shift key and click PUNKTSKY_1km_6181_724.las and PUNKTSKY_1km_6181_725.las to select both of the files. Click Open.
The two files are added to the list. According to the Point Count values, each LAS file has between 3 million and 5 million points. The Point Spacing values show that there is about 0.3 meters between points.
- Click the General tab.
This tab summarizes the overall information for the new LAS dataset. It indicates that there are two LAS files, containing 8,127,305 LAS points. The Extent values of the data are also mentioned, as well as the horizontal (XY) and vertical (Z) units, which are in meters.
- Click the Statistics tab.
On this tab, under Classification Codes, there is a list of classification codes that was assigned to the LAS points. For now, none of the points have received a classification, so the only classification code listed is Unassigned. You'll add new classes, such as ground, buildings, and noise throughout this tutorial.
- Click the Coordinate System tab.
The projected coordinate system is ETRS 1989 UTM Zone 32N. This is the coordinate system of the original LAS files and was passed on to the Tuborg_Havn.lasd dataset. You'll use this coordinate system throughout the tutorial.
- Click OK to close the LAS Dataset Properties window.
Display and explore the LAS dataset
Next, you'll add the LAS dataset to the scene and explore it. You don't need the ortho photo for now, so you'll turn it off.
- In the Contents pane, click the Tuborg_Havn_Ortho_Photo.tif check box to turn off the layer.
- In the Catalog pane, right-click the Tuborg_Havn.lasd dataset and choose Add To Current Map.
The Tuborg_Havn.lasd dataset appears on the map.
- In the Contents pane, expand the Tuborg_Havn.lasd layer.
In the legend, the LAS dataset is symbolized according to the height of the points. The lowest points are dark purple, and the highest point is bright red. You'll now explore the point cloud in 3D.
- In the scene, above the Navigator wheel, click Show full control.
The Navigator wheel expands to include 3D navigation functionality.
- Use the middle Navigator wheel to tilt and rotate the scene.
Tip:
You can also press C while dragging the scene to pan or press V and drag the scene to tilt.
- Zoom in until you can see the individual LAS points.
- Zoom out until you see the LAS dataset represented as wireframes.
The wireframes indicate the extent of both files and the maximum height of the points they contain.
- Continue to explore the point cloud dataset. Zoom in and out, tilt, rotate, and pan, and try to recognize buildings, trees, ground, and other elements from the landscape.
- On the Quick Access Toolbar, click the Save button to save the project.
Tip:
If you get a warning telling you that the project was created with a previous version of ArcGIS Pro, click Yes to proceed.
You can also press Ctrl+S to save the project
You've created a LAS dataset that contains two LAS files. You also added the dataset to the map and started exploring it. Next, you'll classify the LAS dataset into several classes, such as ground and buildings.
Classify the LAS dataset
You'll now classify the LAS dataset into several classes, such as ground and buildings, using tools that analyze the position and properties of the cloud points to determine which class they belong to.
Note:
Some LAS point clouds come from their provider already classified. In such case, skip all the classification steps of this workflow.
Classify LAS ground points
First, you'll change the symbology to better visualize the LAS point classes.
- In the Contents pane, ensure that Tuborg_Havn.lasd is selected. Right-click Tuborg_Havn.lasd and choose Zoom To Layer.
- On the ribbon, on the LAS Dataset Layer tab, in the Drawing group, click the Symbology down arrow and choose Class.
The symbology now shows the classification of each point. Because they are currently all unassigned, they are all symbolized in gray.
In the Contents pane, a list of possible classes appears, but most of them are not currently in use in the LAS dataset.
Next, you'll classify the ground points.
Note:
In some cases, the LAS files overlap each other in some locations due to the original flight lines of the aircraft that created the data. Because the duplicate points can create noise, first identify them using the Classify LAS Overlap tool, then turn them off. However, in the current data, there is no overlap. You don't need to run that tool.
- On the ribbon, on the View tab, in the Windows group, click Geoprocessing.
The Geoprocessing pane appears. You'll first use the tool Classify LAS Ground.
- In the Geoprocessing pane, type Classify LAS Ground and click Classify LAS Ground in the results list to open it.
- In the Classify LAS Ground tool pane, for Input LAS Dataset, choose Tuborg_Havn.lasd.
- Accept the default values for the other parameters and click Run.
Note:
To identify all the ground points in the LAS point cloud, the Classify LAS Ground tool uses techniques such as finding the sets of points that are consistently the lowest throughout the scene.
When the process is complete, the LAS ground points appear in brown in the scene.
- Zoom in and observe how the LAS ground points appear on ground areas and do not appear on building, vegetation, or car or boat locations, which remain unclassified.
Some points located on water bodies were classified as ground. However, in this workflow you don't need to distinguish solid ground from water, so it does not matter.
- Zoom back out to see the entire LAS point cloud.
Note:
When classifying LAS points, the original LAS data set is modified. If you made a mistake and need to revert back, you can use the Change LAS Class Codes tool. For instance, you could change the points with code 2 (Ground) to code 1 (Unassigned). Another option would be to create a copy of the original dataset ahead of time to use as a backup.
Generate a DEM
You'll now use the LAS ground points to generate a DEM, which will be useful later in the workflow. A DEM represents the ground surface elevation as a continuous raster. You'll generate the DEM using the LAS Dataset to Raster tool. You should run that tool only on the ground points, so you'll turn off the points that are still unassigned.
- On the ribbon, on the LAS Dataset Layer tab, in the Filters group, click LAS Points.
The Layers Properties window appears on the LAS Filter tab which lists the different types of points. Each type can be turned on or off. Under Classification Codes, the two classes currently available are listed: 1 Unassigned and 2 Ground.
- In the Layers Properties window, on the LAS Filter tab, under Classification Codes, uncheck the Unassigned class to turn off the points that belong to that category and click OK.
The unassigned points (in gray) disappear from the map. You'll now run the LAS Dataset To Raster tool to generate the DEM.
Note:
As you run any tool that takes a lidar LAS dataset as input, only the points displayed on the map will be used in the process. So, in this case, only the Ground points will be used and the other points will be ignored.
- In the Geoprocessing pane, click the Back button.
- Search for and open the LAS Dataset To Raster tool.
- In the LAS Dataset To Raster tool pane, set the following parameters:
- For Input LAS Dataset, choose Tuborg_Havn.lasd.
- For Output Raster, type Tuborg_Havn_DEM.
- For Interpolation Type, choose Triangulation.
- For Interpolation Method, choose Natural Neighbor.
- For Sampling Value, type 0.5.
You can disregard the warning next to the Interpolation Type parameter.
Note:
The LAS ground points provide a lot of information about the ground elevation, but there is space between the points where the elevation is unknown. The LAS Dataset To Raster tool uses a mathematical model to compute (or predict) the elevation in these unknown areas based on the value of existing ground points. This process is called interpolation. You can read about the different interpolation options in the LAS Dataset To Raster tool documentation.
A raster is a grid of pixels, or cells. The Sampling Value parameter indicates the size of each cell. It must be larger than the spacing between points, which is approximately 0.3 meters. You'll use 0.5 meters, which was found through trial and error to give the best result on this dataset (1 meter is another reasonable possibility). All rasters throughout this tutorial use that cell size.
- Accept the default for all other parameters and click Run.
When the process completes, the output DEM raster appears. It is a smooth surface where the darker points represent the lowest elevation and the lightest points represent the highest elevation.
- In the Contents pane, turn off the Tuborg_Havn.lasd layer to better see the DEM.
Because Tuborg Havn is a complex urban landscape, the DEM shows many variations beyond the regular street level. This includes entrances to underground roads or parking facilities, elevated ground levels on which sets of buildings are built, and the water level in the marina.
- Save the project.
Classify LAS noise points
Now that you've identified the LAS ground points, the next step is to identify the noise points among the remaining unassigned points. Noise points correspond to points that are abnormally high or low and are probably the result of random errors in the lidar data.
- In the Contents pane, turn off the Tuborg_Havn_DEM raster and turn on the Tuborg_Havn.lasd layer. If necessary, click the Tuborg_Havn.lasd layer to select it.
- On the ribbon, on the LAS Dataset Layer tab, click LAS Points. In the Layer Properties window that appears, under Classification Codes, uncheck the Ground class and check the Unassigned class. Click OK.
The unassigned points display on the scene in gray.
- In the Geoprocessing pane, click the Back button. Search for and open the Classify LAS Noise tool.
- In the Classify LAS Noise tool pane, set the following parameters:
- For Input LAS Dataset, choose Tuborg_Havn.lasd.
- For Method, choose Relative Height from Ground.
- Expand the Height Detection section and set the following parameters:
- For Ground Raster Surface, choose Tuborg_Havn_DEM.
- For Minimum Height, type -2.
- For Maximum Height, leave the value blank.
- Click Run.
To identify the high noise, you'll run the tool again, this time using the Absolute Height method. You'll classify any points with an elevation higher than 42 meters as high noise.
Note:
The buildings in the Tuborg neighborhood have a maximum elevation of approximately 40 meters, which is why you are choosing 42 meters as the maximum value. You can verify that by exploring the LAS point cloud. To find the maximum elevation of a building, zoom in and click the highest point you can see. A pop-up window includes the elevation of that point in meters.
- In the Classify LAS Noise tool pane, for Method, choose Absolute Height.
- Under the Height Detection section, for Minimum Height, delete the existing text. For Maximum Height, type 42.
- Click Run.
Some LAS points are now classified as low noise and high noise, but they don't appear because they are turned off by default.
- On the ribbon, on the LAS Dataset Layer tab, click LAS Points. In the Layer Properties window that appears, under Classification Codes, turn on the 7 Noise and 18 High Noise classes, turn off all the others, and click OK.
- Explore the Tuborg Havn neighborhood to find LAS noise points symbolized in red.
For instance, you can see some high noise points on the southern area of the neighborhood. They seem to correspond to construction cranes.
You'll turn them off for the rest of the analysis.
- On the LAS Dataset Layer tab, click LAS Points. In the Layer Properties window that appears, under Classification Codes, turn on the Unassigned class and turn off all the others. Click OK.
Note:
At this point, you could choose to generate another raster layer used in many GIS workflows: a Digital Surface Model (DSM), which shows the earth's surface elevation including buildings, trees and other features. You would use the LAS Dataset To Raster tool as you did to generate the DEM, but choose a different subset of points to be processed. In the Layers Properties window, on the LAS Filter tab, under Classification Codes, you'll check all the boxes except Noise and High Noise, and under Return Values , you'll check the 1 box. This means that you will only take into account first return points, as they represent the highest possible points of every feature in the landscape: top of a building, top of a tree, top of a car, bare ground, etc. And you won't include any of the noise points.
For the LAS Dataset To Raster tool, you'll choose the same parameters as for the DEM, except that for the Interpolation Type, you'll choose the Binning option, for Cell Assignment, Maximum, and for Void Fill Neighbor, Natural Neighbor. For an example of analysis that uses a DSM, see the Estimate solar power potential tutorial.
Classify building points
Now that LAS ground and noise points have been classified and turned off, you can classify the building points.
- In the Geoprocessing pane, click the Back button. Search for and open the Classify LAS Building tool.
- In the Classify LAS Building tool pane, set the following parameters:
- For Input LAS Dataset, choose Tuborg_Havn.lasd.
- For Minimum Rooftop Height, confirm that it is set to 2 with the units set to meters.
- For Minimum Area, type 10 and confirm the units is set to square meters.
- For Classification Method, choose Aggressive.
Note:
The Classify LAS Building tool uses a combination of methods to identify the building points. It is important that the ground and noise points be separated out before running the tool. Among the points that remain unassigned (the non-building and non-noise points), the tool identifies solid surfaces where there was only one return per laser pulse. In contrast, areas with multiple returns are likely to represent trees or other vegetation, because the light reaches and reflects from several levels in the foliage.
The Minimum Rooftop Height and Minimum Area parameters are important to make sure that a surface that is too low or too small in area is not mistakenly classified as a building.
The Classification Method specifies whether points are categorized as buildings conservatively or aggressively.
In this tutorial, the parameter values were chosen by trial and error to get the maximum of points classified correctly as buildings, while minimizing the false positives. You can experiment further on your own. It is suggested to make a copy of a small study area of your data to determine the best parameters.
- Click Run.
- When the process is complete, on the ribbon, on the LAS Dataset Layer tab, click LAS Points. In the Layer Properties window, under Classification Codes, turn on the 6 Building class, turn off all the others, and click OK.
The building points appear on the scene.
Note:
You still have many unassigned points. You could continue classifying the points further, for instance, identifying the points that belong to the Low, Medium, and High Vegetation classes with the Classify LAS by Height tool. However, you won't need vegetation information for extracting 3D buildings, so you will not pursue any further classification activities in this tutorial.
- Save the project.
You've classified lidar cloud points as ground, low noise, high noise, and buildings. You've also generated a DEM that represents the ground surface elevation as a continuous raster. Next, you'll use the LAS building points to extract 2D building footprints for the entire area of interest.
Extract building footprints
Next, you'll use the LAS points that are classified as buildings to extract 2D building footprints. You'll start by generating a raster showing where LAS building points are located. Then, you'll generate polygons where the raster shows building presence. Finally, you'll clean up the polygons to generate the final building footprint vector layer.
Generate a building raster
You'll do this part of the workflow in a 2D map, as you don't need the 3D display capabilities, which takes more processing resources to display. You'll convert the scene to a 2D map.
- If necessary, on the ribbon, on the View tab, in the Windows group, click Catalog Pane.
- In the Catalog pane, expand Maps. Right-click Scene, point to Convert, and choose To Map.
A new 2D map named Scene_2D appears, containing the layers from the original 3D scene. You'll rename it.
- In the Catalog pane, right-click Scene_2D and click Rename. Type 2D Map and press Enter.
2D Map appears in the list.
- Confirm that the 2D Map tab is selected and if necessary, zoom in until you can see the LAS building points.
The map currently shows the LAS building points.
To get a sense of how the building footprints you'll be creating relate to the actual buildings, you'll turn on the ortho photo.
- In the Contents pane, turn on the Tuborg_Havn_Ortho_Photo.tif imagery layer.
- If necessary, in the Contents pane, drag the Tuborg_Havn.lasd layer to position it above Tuborg_Havn_Ortho_Photo.tif.
The ortho photo provides an indication of how the actual buildings look. However, the perspective on the photo may make it difficult to get a complete visual match between the building footprint (or LAS building points) and the underlying building.
Next, you'll build a raster corresponding to the location of the LAS building points. You'll do that using the LAS Point Statistics As Raster tool, which finds LAS building points for each cell in the raster. If building points are present, the value of the cell is the building class code (6), and if no building points are present, the cell remains empty (NoData).
- If necessary, on the ribbon, on the View tab, in the Windows group, click Geoprocessing. If necessary, in the Geoprocessing pane, click the Back button.
- Search for and open the LAS Point Statistics As Raster tool.
- In the LAS Point Statistics As Raster tool pane, set the following parameters:
- For Input LAS Dataset, choose Tuborg_Havn.lasd.
- For Output Raster, accept the default name.
- For Method, choose Most Frequent Class Code.
- For Sampling Value, type 0.5.
- Click Run.
The output layer appears.
You'll turn off the LAS dataset and change the symbology of the raster to better see it.
- In the Contents pane, turn off the Tuborg_Havn.lasd layer.
- Rename tuborg_laspo to Buildings_Raster.
- In the Contents pane, right-click the Buildings_Raster symbol, expand the drop-down list, check Show names and choose the Purple-Red (Continuous) color scheme.
The raster turns pink.
- Zoom in and examine some of the buildings on the raster.
The overall shape of the buildings is accurate, but there are some holes in the buildings, and their borders have an irregular appearance. Also, some of the pink shapes are too small to be real buildings and need to be removed. You'll fix these issues later in the workflow, but first, you'll convert the building raster to a polygon layer.
Generate a building feature class
You'll now convert the building raster to a polygon layer using the Raster to Polygon tool. Clusters of building cells in the raster become polygons in the new layer.
- In the Geoprocessing pane, click the Back button. Search for and open the Raster to Polygon tool.
- In the Raster to Polygon tool pane, set the following parameters:
- For Input Raster, choose Buildings_Raster.
- For Output polygon features, accept the default name.
- Uncheck Simplify polygons.
Note:
Choosing the Simplify polygons option can provide basic cleanup of the polygons. Instead, you'll apply more sophisticated tools later in the workflow to obtain a higher quality result.
- Click Run.
The new feature layer appears. You can turn off the Buildings_Raster layer now.
- In the Contents pane, turn off the Buildings_Raster layer rename the new buildings feature layer to Buildings_Raw.
- Right-click the Buildings_Raw symbol and choose Fuchsia Pink.
Tip:
To see the name of a color, point to the color.
The Buildings_Raw layer symbology updates.
Clean up the building polygons
You now have polygons representing building footprints. However, they need to be cleaned up.
- Zoom in and observe the new polygon layer.
You can see the same issues as with the building raster:
- Some polygons are too small to correspond to real buildings and need to be removed.
- Most polygons contain holes.
- The building edges are irregular.
As the first step of the cleanup process, you'll eliminate the smallest polygons. You'll start with deciding on a cutoff value for the area of the polygons to remove.
- In the Contents pane, click the Buildings_Raw layer to select it.
- On the map, click some of the tiny pink polygons to open the information pop-up window and pay attention to the value of the Shape_Area attribute to get a sense of their size. Do the same for the buildings that you want to keep.
Based on these observations, you'll choose 70 square meters for the cutoff area value. Next, you'll select the polygons that are larger than that value.
- Close the Pop-up window.
- In the Geoprocessing pane, click the Back button. Search for and open the Select Layer By Attribute tool.
- In the Select Layer By Attribute tool pane, for Input Rows, choose Buildings_Raw.
- Under Expression, build the expression Where Shape_Area is greater than or equal to 70.
- Click Run.
All the polygons greater than or equal to 70 square meters are selected.
Next, you'll remove the holes in the building polygons with the Eliminate Polygon Part tool. By observation, you can conclude that holes of 50 square meters or less should be plugged.
- With the larger building polygons still selected, in the Geoprocessing pane, click the Back button. Search for and open the Eliminate Polygon Part tool.
- In the Eliminate Polygon Part tool pane, set the following parameters:
- For Input Features, choose Buildings_Raw.
- For Output Feature Class, accept the default name.
- For Area, type 50 and ensure the unit is set to square meters.
- Click Run.
The new feature layer appears. The new polygons are mostly without holes, and because the tool was applied only to the selected larger polygons, all the small polygons are gone.
To see the new layer better, you'll turn off the Buildings_Raw layer.
- In the Contents pane, turn off the Buildings_Raw layer and rename the new layer to Buildings_Clean.
Next, you'll make the borders of the buildings smoother.
- In the Geoprocessing pane, click the Back button. Search for and open the Regularize Building Footprint tool.
This tool cleans up the jagged borders of extracted building polygons such as these and makes them smoother.
- In the Regularize Building Footprint tool pane, set the following parameters:
- For Input Features, choose Buildings_Clean.
- For Output Feature Class, accept the default name.
- For Method, confirm it is set to Right Angles.
- For Tolerance, type 1.
- For Densification, type 1.
- For Precision, type 0.15.
The Right Angles method focuses on creating buildings with clean right angles. Other options, such as Any Angles, can do a better job for large buildings with complex architecture but may fail to fully simplify the smaller, simpler buildings. Although you won't do it in this exercise, one option is to run the tool twice, each time with a different setting and with different buildings selected.
Tolerance is the maximum distance that the regularized footprint can deviate from the boundary of its originating feature. Choosing approximately twice the size of the original raster cell (which was 0.5 meters in this exercise) is a good choice in most cases.
Densification determines the sampling interval that is used to evaluate whether the regularized feature is straight or bent.
Precision defines the precision of the grid used in the regularization process. It can vary from 0.05 to 0.25, and its value can be fine-tuned through trial and error.
- Click Run.
The new feature layer appears, displaying the regularized building polygons.
- In the Contents pane, turn off the Buildings_Clean layer and rename the new layer to Building_Footprints.
- Save the project.
Improve the building footprints manually
The Building_Footprints layer provides building footprints that are accurate overall. There are small imperfections, but you won't worry about them in this workflow. However, for a few polygons, it may present larger issues to correct. You'll do that by applying quick manual fixes.
First, a couple of polygons are not buildings but elevated playgrounds. You'll remove them from the layer.
- Locate the group of buildings highlighted in the following image:
Two polygons in this area are elevated playgrounds.
- On the ribbon, on the Edit tab, in the Selection group, click Select.
- Click the playground polygon to select it.
- On the ribbon, on the Edit tab, in the Features group, click Delete.
- If necessary, in the Delete confirmation window that appears, click Yes.
The polygon is deleted.
- On the ribbon, on the Edit tab, in the Manage Edits group, click Save to save your edits. When prompted, click Yes in the Save Edits window.
- On the ribbon, on the Map tab, in the Navigate group, click Explore to exit the selection mode.
Next, you'll correct the shape of a polygon. Sometimes, there are issues that prevent the successful extraction of a building footprint from lidar data, such as in the following image.
The problem seems primarily due to air conditioning elements that are protected by a mesh of metal bars. You'll locate that polygon and reshape it.
- Locate the building highlighted in the following image and zoom in.
- On the ribbon, on the Edit tab, in the Tools group, click Reshape.
- On the map, click the polygon to select it.
- Click the three points marked in the following image to reshape the polygon.
Note:
You must click within the polygon or right on the edges for it to reshape properly. You can turn on snapping to ensure that the pointer snaps to the existing feature.
- Double-click the last point.
The polygon is reshaped.
Tip:
If you make a mistake, press Ctrl+Z and try again.
- Save your edits.
- On the Edit tab, in the Selection group, click Clear to deselect the polygon.
- On the Map tab, in the Navigate group, click Explore to exit the selection mode.
- Close the Modify Features pane.
You can continue refining other buildings, but for the purpose of this tutorial, you'll move on to the next step.
Evaluate the extracted building footprints
To gauge the success of your building footprint extraction, you'll compare it to the topographic basemap, which includes building footprints, although they are not usable for analysis purposes.
- In the Contents pane, turn off the Tuborg_Havn_Ortho_Photo.tif layer to reveal the basemap.
- If necessary, click the Building_Footprints layer to select it. On the ribbon, on the Feature Layer tab, in the Compare group, choose Swipe.
- Swipe back and forth to compare your Building_Footprints layer to the footprints in the basemap.
Overall, your lidar-derived building footprints are quite similar to the building footprints in the basemap, which is a good validation of the workflow you just completed.
- On the ribbon, on the Map tab, in the Navigate group, click Explore to deactivate the Swipe tool.
- Save the project.
You've generated a building feature class and cleaned it up with geoprocessing and editing tools.
Extract realistic 3D buildings
You'll now extract realistic 3D buildings from your LAS dataset. To do this, you'll use all the elements you produced so far: the LAS dataset points classified as buildings, the DEM, and the building footprints. The result will be a multipatch layer, a format that can store complex 3D vector features.
Create a multipatch layer
You'll perform this section in the 3D scene to enable the 3D representation of the buildings, so first you'll copy the Building_Footprints layer.
- In the Contents pane, right-click the Building_Footprints layer and click Copy.
- Click the Scene tab to make it active.
- In the Contents pane, right-click Scene and click Paste.
The Building_Footprints layer is added to the scene. Next, you'll generate the 3D buildings.
- In the Contents pane, ensure that the Tuborg_Havn.lasd layer is turned off.
- Restore the Geoprocessing pane, and if necessary, click the Back button.
- In the Geoprocessing pane, search for and open the LAS Building Multipatch tool.
- In the LAS Building Multipatch tool pane, set the following parameter values:
- For Input LAS Dataset, choose Tuborg_Havn.lasd.
- For Input Features, choose Building_Footprints.
- For LAS Rooftop Point Selection, confirm Building Classified Points is selected.
- For Ground Height, keep Raster Layer and choose Tuborg_Havn_DEM.
- For Output Multipatch Feature Class, accept the default name.
- For Simplification Tolerance, type 0.5 and ensure the unit is set to Meters.
For Simplification Tolerance, the size of the DEM raster cell is a good choice.
- Click Run.
The output layer appears.
- In the Contents pane, rename the new layer to Multipatch_3D_Buildings and turn off all layers except it and the basemap.
You'll change the color of the multipatch 3D buildings to improve their appearance.
- In the Contents pane, under the Multipatch_3D_Buildings layer, right-click the symbol and choose the Sahara Sand color.
The buildings change color.
- Explore the 3D buildings and notice the many realistic architectural details.
Note:
While the 3D layer resulting from this workflow might not always be cartographically pleasing, it offers a precise representation of the buildings that can be particularly useful to perform measurements and visibility analyses, such as line of sight , viewshed, or shadow impact.
Some of the buildings are floating slightly above ground. This is because they were generated using the Tuborg_Havn_DEM layer as a reference for the ground level. Because Tuborg_Havn_DEM comes from very precise lidar data, it delineates a slightly different and more detailed terrain than the default WorldElevation3D/Terrain3D layer used by the scene to model the ground in 3D.
You'll add the Tuborg_Havn_DEM layer to the scene's elevation surfaces, so that the scene can use it to model a more precise terrain in the Tuborg Havn neighborhood.
- In the Contents pane, under Elevation Surfaces, right-click Ground and choose Add Elevation Source Layer.
- In the Add Elevation Source Layer window, open Databases, open Building_Extraction.gbd, and click tuborg_lasda. Click OK.
The DEM is added as a new ground elevation surface, and the scene refreshes to use it. The slight gap at the foot of some buildings disappears.
- Rename the new elevation source to Tuborg DEM.
- Save the project.
You can use a 3D buildings multipatch layer in many ways. It can be added to a scene to provide support for urban planning activities. It can be used to perform flood prediction analysis, shadow impact analyses, viewshed and line of sight analyses, and more.
The workflow described in this tutorial focused on helping you understand how to work with lidar and the many components of a 3D building extraction process. To go further and learn how to generate 3D basemaps at scale, explore the ArcGIS lab Working with the ArcGIS Solution for 3D Buildings.
In this tutorial, you extracted 3D buildings from lidar data. You created a LAS dataset, classified it, generated a DEM raster, and extracted a building footprint vector layer. Finally, you used all of these elements to produce a 3D buildings multipatch vector layer.
You can find more tutorials in the tutorial gallery.