Extracting Building Footprints and Trees from Imagery Using ArcGIS Pro

Jeff Oppong

Updated:

Extracting objects such as trees and building footprints from high-resolution imagery has great potential to provide valuable insights for a range of applications such as city planning, environmental monitoring, and disaster management. However, the process is a challenging task that requires significant time, effort, and expertise.

In recent years, deep learning tools such as Deepforest and MaskRCNN have shown promising results in object detection in satellite and aerial imagery. These tools can automate the detection process, reducing the reliance on manual labor and human expertise.

Learn to use deep learning tools in ArcGIS Pro

This tutorial will outline the steps involved in using these deep learning tools that have been pre-trained to extract trees and building footprint data from Google satellite imagery in ArcGIS Pro. Figure 1 shows a summary of the methodological flow employed in the tutorial to use deep learning tools to extract building footprints and trees from high-resolution imagery in ArcGIS Pro.

A black and white flow diagram showing the inputs and processes for using deep learning in ArcGIS Pro to extract building footprint and trees data from high-resolution imagery.
Figure 1: A summary of the geospatial tools and method used to extract building footprint and trees data from high-resolution imagery in ArcGIS Pro.

Finding high-resolution imagery

Retrieving high-resolution imagery from the USGS

High-resolution imagery can be retrieved from the United States Geological Survey (USGS) Earth Explorer’s website after a free registration. First sign up via the EROS Registration System. Once you are registered, sign into USGS Earth Explorer’s database to access a wide range of satellite imageries and high-resolution imagery. This helpful video explains the process for signing up for USGS Earth Explorer’s website and accessing its products.


Free weekly newsletter

Fill out your e-mail address to receive our newsletter!
Email:  

Retrieving high-resolution imagery from Google

For this tutorial, high-resolution Google satellite imagery was retrieved using a QGIS plugin by following the steps outlined:

  1. You will need to install QGIS on your computer. QGIS is a free-open source mapping software that produces a wide range of options for geospatial analysis of vector and raster datasets.
  2. Open and create a new project in QGIS by selecting “New” from the “Project” tab of the menu bar. 
  3.  From the plugins tab, select “Manage and install plugins.”
  4. Select “All” from the wide range of window options.
  5. Type and search Tile+ from the plugins’ search bar.

Click on the Tile+ plugin and select install plugin. 

Screenshot showing the tile plugin interface in QGIS.
Figure 2: Installing Tile+ plugin in QGIS.

 

Alternatively, the Tile+ plugin can be retrieved from the web and imported into the QGIS map canvas. To use this option;

  1. Retrieve the plugin from the Tile Plus Plugin in QGIS web page.
  2. From the Plugins tab from the menu bar in QGIS, select “Manage and install plugin.”
  3. Select “Install from Zip” from the range of options. 
  4. Select the three-dots beside the search bar to toggle to the downloaded Tile+ file. 
  5. Click Install plugin. 
Screenshot showing how to upload a plugin into QGIS.
Figure 3: Installing Tile+ plugin locally.

Once the Tile+ plugin is installed, the Tile+ icon displays. Now you can use the QGIS plugin to retrieve a high-resolution Google satellite imagery for an area of interest using the steps outlined:

  1. Click the Tile+ icon as shown in figure 4 below.
  2. Set the “Select Map” tab to Google Satellite from the Tile+ window. 
  3. Click the plus sign to display the Google satellite map onto the canvas. Zoom into an area of interest.
Screenshot showing the location of the Tile+ QGIS plugin.
Figure 4: Selecting google satellite map from the Tile+ plugin. The red arrow points to the Tile+ icon.
  1. Right-click on the Google satellite layer from the layers tab. 
  2. Select Export. 
  3. Select Save as. 
  4. From the Save as window, set format to GeoTIFF and uncheck “Create VRT.”
  5. Set File name to your desired output name and location and select “Map Canvas Extent.”
  6. Be sure to set horizontal and vertical resolution to 0.15. 
  7. Click Ok. 
Screenshot showing the location of the Tile+ QGIS plugin.
Figure 5: Exporting Google satellite imagery in QGIS. 

Extracting trees from satellite imagery

You will first need to install the deep learning libraries for ArcGIS Pro by using the link attached. Be sure to retrieve a version compatible with your ArcGIS Pro version. 

  1. Open and create a new project in ArcGIS Pro. 
  2. Select Add data from the Map tab and toggle to the location of the extracted google satellite imagery. 
  3. Click Ok. 
  4. Once imported check the resolution of the imagery by Right-clicking on the Google satellite layer from the Table of Contents. 
  5. Select Properties. 
  6. Select the Source tab.
  7. Open the Raster information to view the Cell size X and Y information of the data. 
Screenshot showing the raster information window in ArcGIS Pro.
Figure 6: Checking the resolution of the Google satellite map.

To extract trees from the imported imagery;

  1. Type and search “detect objects using deep learning” in the search bar of the geoprocessing toolbox.
  2. Set input raster to the google satellite image. 
  3. Set output detected objects to the output name and location of choice. 
  4. Retrieve the tree detection model file from ArcGIS.com.
  5. Set model definition to the tree detection.dplk file.
Deep learning interface in ArcGIS pro.
Figure 7: Detect trees using deep learning in ArcGIS Pro.
  1. From the Environments tab, Set processing extent to as specified below. 
  2. Set the processing extent to “Current Display Extent.”
  3. Set Cell size to 0.150003311138976.
  4. Set Processing type to GPU. 
  5. Click Run.
Detect objects GUI in ArcGIS Pro.
Figure 8: Detect objects (trees) using deep learning (Environments tab).

You result should be a point layer of identified trees.

Screenshot from ArcGIS Pro showing a satellite image with pink dots for tree locations.
Figure 9: Detected trees from Google satellite imagery in ArcGIS Pro.

Extracting building footprint data from satellite imagery

Screenshot showing the detect building GUI in ArcGIS Pro.
Figure 10: Detect objects (building footprint) using deep learning in ArcGIS Pro.

To extract building footprint data from the imported imagery:

  1. Type and search “detect objects using deep learning” in the search bar of the geoprocessing toolbox.
  2. Set input raster to the Google satellite image. 
  3. Set output detected objects to the output name and location of choice. 
  4. Retrieve the building footprint extraction file from ArcGIS.com
  5. Set model definition to “building footprint extraction.dplk file.”
  6. Repeat steps as shown in the tree extraction section of this tutorial to set the Environments tab. 

Your end result is a polygon layer of building footprints.

Screenshot showing yellow building footprints on top of a satellite imagery.
Figure 11: Detected building footprints from Google satellite imagery in ArcGIS Pro.

More ArcGIS Pro tutorials

Photo of author
About the author
Jeff Oppong
Jeff Oppong holds a BSc in Geomatic Engineering and currently a graduate student at Hohai University in China, where he's studying MSc. Harbor, Coastal, and Offshore Engineering. Jeff is a prolific researcher and a GIS/Remote sensing expert who aspires to be a change-agent and a renowned Engineer. Jeff Oppong can be contacted via email