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. To learn more about lidar, see What is Lidar data?

Lidar point cloud

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 (or rooftops) 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.

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 Basemap solution. That solution provides a series of workflows that streamlines the creation and maintenance of a 3D basemap. 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.

  1. Download the Building_Extraction .zip file.

    The .zip file downloads to your computer.

  2. 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.

  3. 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.

  4. 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.

  5. In ArcGIS Pro, click Open another project.

    Open another project option

  6. 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.

    Default project

    The project contains a 3D-enabled 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.

  7. 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.

  1. On the ribbon at the top of the window, click the View tab. In the Windows group, click Catalog Pane.

    Catalog Pane button

    The Catalog pane appears.

  2. In the Catalog pane, expand Folders, Building_Extraction, Tuborg_Havn_data, and LAS_data.

    Expanded folders

    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.

  3. Right-click the LAS_data folder, point to New, and choose LAS Dataset.

    LAS Dataset option

    A new LAS Dataset adds to the LAS_Data folder on the Catalog pane and the name of the dataset is editable.

  4. 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.

  5. Right-click Tuborg_Havn.lasd and choose Properties.

    Properties option

  6. In the LAS Dataset Properties window, click the LAS Files tab.
  7. Under Files, click Add Files.

    Add Files button

  8. In the Open window, browse to the Tuborg_Havn_data folder and double-click the LAS_data folder to open it.
  9. 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.

    Selected LAS files

    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.

    Point Count and Point Spacing values

  10. 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.

    General tab in the LAS Dataset Properties window

  11. Click the Statistics tab.

    Statistics tab in the LAS Dataset Properties window

    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.

  12. 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.

    Projected Coordinate System for the Tuborg_Havn.lasd layer

  13. 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.

  1. In the Contents pane, click the Tuborg_Havn_Ortho_Photo.tif check box to turn off the layer.

    Layer turned off

  2. In the Catalog pane, right-click the Tuborg_Havn.lasd dataset and choose Add To Current Map.

    Add To Current Map option

    The Tuborg_Havn.lasd dataset appears on the map.

    Tuborg Havn LAS dataset on map

  3. In the Contents pane, expand the Tuborg_Havn.lasd layer.

    Expanded Tuborg_Havn.lasd layer on the Contents pane

    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.

  4. In the scene, above the Navigator wheel, click Show full control.

    Show full control button on the Navigator wheel

    The Navigator wheel expands to include 3D navigation functionality.

  5. Use the middle Navigator wheel to tilt and rotate the scene.

    Scene tilted and rotated

    Tip:

    You can also press C while dragging the scene to pan or press V and drag the scene to tilt.

  6. Zoom in until you can see the individual LAS points.

    Scene zoomed in so that individual LAS points are visible

  7. Zoom out until you see the LAS dataset represented as wireframes.

    Scene zoomed out so the LAS dataset is represented as wireframes

    The wireframes indicate the extent of both files and the maximum height of the points they contain.

  8. 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.
  9. On the Quick Access Toolbar, click the Save button to save the project.

    Save on the Quick Access Toolbar

    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.

  1. In the Contents pane, ensure that Tuborg_Havn.lasd is selected. Right-click Tuborg_Havn.lasd and choose Zoom To Layer.

    Zoom to Layer for the Tuborg_Havn.lasd layer

  2. On the ribbon, on the LAS Dataset Layer tab, in the Drawing group, click the Symbology down arrow and choose Class.

    Class option

    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.

    List of classes

    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.

  3. On the ribbon, on the View tab, in the Windows group, click Geoprocessing.

    Geoprocessing button

    The Geoprocessing pane appears. You'll first use the tool Classify LAS Ground.

  4. In the Geoprocessing pane, type Classify LAS Ground and click Classify LAS Ground in the results list to open it.

    Search results for Classify LAS Ground

  5. In the Classify LAS Ground tool pane, for Input LAS Dataset, choose Tuborg_Havn.lasd.

    Parameters for the Classify LAS Ground tool

  6. 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.

  7. 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.

    LAS ground points

    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.

  8. Zoom back out to see the entire LAS point cloud.

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.

  1. On the ribbon, on the LAS Dataset Layer tab, in the Filters group, click LAS Points.

    LAS Points button

    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.

  2. 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.

    Unassigned class turned off

    The unassigned points (in gray) disappear from the map. You'll now run the LAS Dataset To Raster tool to generate the DEM.

  3. In the Geoprocessing pane, click the Back button.

    Back button

  4. Search for and open the LAS Dataset To Raster tool.
  5. In the LAS Dataset To Raster tool pane, set the following parameters:
    • For Input LAS Dataset, choose Tuborg_Havn.lasd.
    • For Output Raster, accept the default name.
    • For Interpolation Type, choose Triangulation.
    • For Interpolation Method, choose Natural Neighbor.
    • For Sampling Value, type 0.5.

    LAS Dataset To Raster tool parameters

    You can disregard the warming 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.

  6. 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.

  7. In the Contents pane, turn off the Tuborg_Havn.lasd layer to better see the DEM.

    DEM on the map

    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.

  8. In the Contents pane, click the tuborg_lasda layer and click it again to make the name editable. Type Tuborg_Havn_DEM.
  9. 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.

  1. 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.
  2. 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.

    Unassigned points on the map

  3. In the Geoprocessing pane, click the Back button. Search for and open the Classify LAS Noise tool.
  4. 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.

    Parameters for the Classify LAS Noise tool

  5. Expand the Height Detection section and set the following parameters:
    • For Ground, choose Tuborg_Havn_DEM.
    • For Minimum Height, type -2.
    • For Maximum Height, leave the value blank.

    Height Detection parameters in the Classify LAS Noise tool pane

  6. 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.

  7. In the Classify LAS Noise tool pane, for Method, choose Absolute Height.
  8. Under the Height Detection section, for Minimum Height, delete the existing text. For Maximum Height, type 42.

    Classify LAS Noise tool parameters with Method set to Absolute Height

  9. 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.

  10. 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.

    Low Noise and High Noise checked under Classification Codes in the Layer Properties window

  11. 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.

    Noise on the map

    You'll turn them off for the rest of the analysis.

  12. 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.

Classify building points

Now that LAS ground and noise points have been classified and turned off, you can classify the building points.

  1. In the Geoprocessing pane, click the Back button. Search for and open the Classify LAS Building tool.
  2. 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.

    Classify LAS Building tool parameters

    Note:

    The Classify LAS Building tool uses a combination of methods to identify the building points. It is important that the ground points be separated out before running the tool. Among the unassigned points, the tool identifies solid surfaces where there was only one return per laser pulse. In contrast, an area with trees may have several returns per laser pulse because the light reaches and reflects from several levels in the foliage or even the ground.

    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.

  3. Click Run.
  4. 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.

    Building points on the map

    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.

  5. 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.

  1. If necessary, on the ribbon, on the View tab, in the Windows group, click Catalog Pane.
  2. In the Catalog pane, expand Maps. Right-click Scene, point to Convert, and choose To Map.

    To Map option

    A new 2D map named Scene_2D appears, containing the layers from the original 3D scene. You'll rename it.

  3. In the Catalog pane, right-click Scene_2D and click Rename. Type 2D Map and press Enter.

    2D Map appears in the list.

    Renamed map

  4. Confirm that the 2D Map tab is selected and if necessary, zoom in until you can see the LAS building points.

    2D map

    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.

  5. In the Contents pane, turn on the Tuborg_Havn_Ortho_Photo.tif imagery layer.
  6. If necessary, in the Contents pane, drag the Tuborg_Havn.lasd layer to position it above Tuborg_Havn_Ortho_Photo.tif.

    Reordered layers list

    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.

    Building footprint and underlying buildings

    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).

  7. 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.
  8. Search for and open the LAS Point Statistics As Raster tool.
  9. 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.

    LAS Point Statistics As Raster tool parameters

  10. Click Run.

    The output layer appears.

    You'll turn off the LAS dataset and change the symbology of the raster to better see it.

  11. In the Contents pane, turn off the Tuborg_Havn.lasd layer.
  12. Rename tuborg_laspo to Buildings_Raster.
  13. 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.

    Purple-Red (Continuous) color scheme

    The raster turns pink.

  14. Zoom in and examine some of the buildings on the raster.

    Buildings on the map

    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.

  1. In the Geoprocessing pane, click the Back button. Search for and open the Raster to Polygon tool.
  2. 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.

    Raster to Polygon tool parameters

  3. Click Run.

    The new feature layer appears. You can turn off the Buildings_Raster layer now.

  4. In the Contents pane, turn off the Buildings_Raster layer rename the new buildings feature layer to Buildings_Raw.
  5. Right-click the Buildings_Raw symbol and choose Fuchsia Pink.
    Tip:

    To see the name of a color, point to the color.

    Fuchsia Pink 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.

  1. Zoom in and observe the new polygon layer.

    New polygon layer on map

    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.

  2. In the Contents pane, click the Buildings_Raw layer to select it.

    Buildings_Raw layer selected in the Contents pane

  3. 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.

    Pop-up with the Shape_Area attribute highlighted

    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.

  4. Close the Pop-up window.
  5. In the Geoprocessing pane, click the Back button. Search for and open the Select Layer By Attribute tool.
  6. In the Select Layer By Attribute tool pane, for Input Rows, choose Buildings_Raw.
  7. Under Expression, build the expression Where Shape_Area is greater than or equal to 70.

    The expression Where Shape_Area is greater than or equal to 70 in the Select Layer By Attribute tool pane.

  8. Click Run.

    All the polygons greater than or equal to 70 square meters are selected.

    Buildings selected on the map

    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.

  9. With the larger building polygons still selected, in the Geoprocessing pane, click the Back button. Search for and open the Eliminate Polygon Part tool.
  10. 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.

    Eliminate Polygon Part tool parameters

  11. 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.

  12. In the Contents pane, turn off the Buildings_Raw layer and rename the new layer to Buildings_Clean.

    Cleaned buildings layer on map

    Next, you'll make the borders of the buildings smoother.

  13. 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.

    Diagram showing how jagged borders are made smooth

  14. 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.

    Regularize Building Footprint tool parameters

    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.

  15. Click Run.

    The new feature layer appears, displaying the regularized building polygons.

  16. In the Contents pane, turn off the Buildings_Clean layer and rename the new layer to Building_Footprints.
  17. 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.

  1. Locate the group of buildings highlighted in the following image:

    Highlighted buildings

    Two polygons in this area are elevated playgrounds.

    Elevated playgrounds on the map

  2. On the ribbon, on the Edit tab, in the Selection group, click Select.

    Select button

  3. Click the playground polygon to select it.

    Playground polygon selected on the map

  4. On the ribbon, on the Edit tab, in the Features group, click Delete.

    Delete button

  5. If necessary, in the Delete confirmation window that appears, click Yes.

    The polygon is deleted.

  6. 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.

    Save button

  7. On the ribbon, on the Map tab, in the Navigate group, click Explore to exit the selection mode.

    Explore button

    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.

    Problematic building footprint

    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.

  8. Locate the building highlighted in the following image and zoom in.

    Highlighted problematic building footprint

  9. On the ribbon, on the Edit tab, in the Tools group, click Reshape.

    Reshape button

  10. On the map, click the polygon to select it.
  11. Click the three points marked in the following image to reshape the polygon.

    Marked points

    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.

  12. Double-click the last point.

    The polygon is reshaped.

    Reshaped polygon

    Tip:

    If you make a mistake, press Ctrl+Z and try again.

  13. On the ribbon, on the Edit tab, in the Manage Edits group, click Save. When prompted to Save Edits, click Yes.
  14. On the Edit tab, in the Selection group, click Clear to deselect the polygon.

    Clear in the Selection group on the Edit tab

  15. On the Map tab, in the Navigate group, click Explore to exit the selection mode.
  16. 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.

  1. In the Contents pane, turn off the Tuborg_Havn_Ortho_Photo.tif layer to reveal the basemap.
  2. 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 tool in the Compare group on the Appearance tab

  3. Swipe back and forth to compare your Building_Footprints layer to the footprints in the basemap.

    Swipe tool

    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.

  4. On the ribbon, on the Map tab, in the Navigate group, click Explore to deactivate the Swipe tool.
  5. 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.

  1. In the Contents pane, right-click the Building_Footprints layer and click Copy.

    Copy option

  2. Click the Scene tab to make it active.

    Scene tab

  3. In the Contents pane, right-click Scene and click Paste.

    Paste option

    The Building_Footprints layer is added to the scene. Next, you'll generate the 3D buildings.

  4. In the Contents pane, ensure that the Tuborg_Havn.lasd layer is turned off.
  5. 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.
  6. In the Geoprocessing pane, search for and open the LAS Building Multipatch tool.
  7. 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.

    LAS Building Multipatch tool parameters

  8. Click Run.

    The output layer appears.

  9. 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.

  10. In the Contents pane, under the Multipatch_3D_Buildings layer, right-click the symbol and choose the Sahara Sand color.

    Sahara Sand color

    The buildings change color.

    Buildings symbolized with Sahara Sand color

  11. Explore the 3D buildings and notice the many realistic architectural details.
    Note:

    While the results of this workflow might not always be cartographically pleasing, they are positionally accurate. This type of 3D layer can be particularly useful to perform certain analyses, such as line of sight or viewshed.

    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.

  12. In the Contents pane, under Elevation Surfaces, right-click Ground and choose Add Elevation Source Layer.

    Add Elevation Source option

  13. 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.

  14. Rename the new elevation source to Tuborg DEM.

    Elevation surfaces

  15. 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.