Using Deep Learning to Map Land Cover in ArcGIS Pro

Jeff Oppong

Updated:

The use of deep learning techniques in ArcGIS Pro has provided promising results in the classification of land cover, a critical aspect for understanding and managing the Earth’s surface.

Land cover classification maps are widely used in environmental and urban planning, natural resource management, and disaster management. The use of deep learning techniques such as Convolutional Neural Networks (CNNs) and Deep Belief Networks (DBNs) have become essential for accurate and efficient classification of land cover with the availability of high-resolution satellite imagery. These techniques have the potential to improve the accuracy and speed of the land cover classification process, leading to better decision-making and policy outcomes.

Step-by-step instructions for classifying land cover in ArcGIS using satellite imagery

The integration of deep learning techniques in ArcGIS Pro has enabled users to process large amounts of satellite imagery and extract relevant information about land cover features in a faster and more precise way. This tutorial provides a step-by-step approach for using Landsat 8 (L1 and L2) data for landcover classification in ArcGIS Pro by incorporating pre-trained deep learning models. 

A black and white flow diagram showing the data and tool inputs for mapping land cover using deep learning in ArcGIS Pro.
Figure 1: A summary of the geospatial flow used to classify Landsat 8 in ArcGIS Pro with deep learning tools.

Using deep learning libraries in ArcGIS Pro

To be able to run deep learning in ArcGIS Pro, your will first need to retrieve and install the deep learning libraries using the outlined steps:

  1. Be sure to check the version of ArcGIS Pro by selecting Project on the menu bar. 
  2. Select “About” from the pool of options. 
  3. Once checked, visit: Esri/deep-learning-frameworks: Installation support for Deep Learning Frameworks for the ArcGIS System
  4. Select “Downloads for previous releases” to retrieve deep learning libraries compatible with ArcGIS Pro versions of 3.0.2 or less. 
  5. Extract the retrieved archived file and install. 
A screenshot showing the deep learning file links and instructions from Esri.
Figure 2: Deep learning libraries for ArcGIS Pro.

Landsat 8 (Level 1) data for landcover classification in ArcGIS Pro

Landsat 8 imagery for Level 1 and Level 2 can be retrieved from the United States Geological Survey (USGS) Earth Explorer’s website after a free sign up. You can sign up via the USGS’ EROS Registration System.

Use the steps outlined to access Landsat 8 (Level 1) imagery data for any area of interest:

  1. From the Search Criteria interface, select Geocoder. 
  2. Select Address/Place as the geocoding method. 
  3. From the address bar, type and search your location of interest.
  4. Be sure to set the date range to specify the timelines of the Landsat imagery to be downloaded. 
  5. Ensure that cloud cover percent is set to “less than 10%.”
  6. Select the Datasets tab. 
  7. Select Landsat. 
  8. Select Landsat collection 2 Level 1 and check the box for Landsat 8-9 OLI/TIRS C2 L1.
  9. Also, select Landsat collection 2 Level 2 and check the box for Landsat 8-9 OLI/TIRS C2 L1.
  10. Toggle to the search results for a download. 

This video provides information on how to retrieve Landsat 8 imageries from USGS, use the attached video link.

Screenshot showing the USGS map interface for accessing Landsat imagery.
Figure 3: The USGS offers a map interface for finding Landsat 8 (L1 and L2) data.

To import the Landsat 8 L1 imagery for landcover classification:

  1. Open and create a new project in ArcGIS Pro. 
  2. “Manage Landsat 8” python script can be retrieved from ArcGIS Hub’s Manage Landsat 8 imagery page. This tool helps to create a mosaic dataset for the Landsat 8 L1 for the classification. 
  3. To import, the mosaic dataset tool in ArcGIS Pro, select the Insert tab from the menu bar.
  4. Select “Add toolbox” from the toolbox drop-down options.
  5. Toggle to the location of the downloaded mosaic dataset tool.
  6. Click Ok.  
Screenshot showing the interface for importing Landsat 8 script into ArcGIS.
Figure 4: Importing Landsat 8 script for mosaic dataset in ArcGIS Pro.

To use “manage Landsat 8” tool for mosaicking, perform composite bands (stacked image) of the Landsat 8 (L1) data:

  1. Type and search composite bands from the search bar of the geoprocessing toolbox. 
  2. Set input rasters to the bands of the Landsat 8 L1 imagery.
  3. Set output raster to your desired output name and location. 
  4. Click Run.
  5. Type and search “landsat8” from the search bar of the geoprocessing toolbox. 
  6. From the tool window, set “output geodatabase” to the file geodatabase in use. 
  7. Set a Mosaic Dataset Name. 
  8. Set input source data to the stacked image. 
  9. Set Dataset type to Level 1. 
Screenshot showing the manage Landsat 8 imagery GUI in ArcGIS Pro.
Figure 5: “Manage Landsat 8” interface in ArcGIS Pro.
  1. Type and search “classify pixels using deep learning” in the search bar of the geoprocessing toolbox.
  2. Set input raster to the mosaicked dataset. 
  3. Set output raster. 
  4. Set model definition to your landcover classification.dplk file. Retrieve the .dplk file from the ArcGIS Hub Land Cover Classification (Landsat 8) page.
  5. Set processing mode to process as mosaicked image. 
Screenshot showing the Classify pixels using deep learning interface and a map of an aerial in ArcGIS Pro.
Figure 6: Classify pixels using deep learning (Landsat 8 L1) in ArcGIS Pro.
  1. From the Environments tab, Set processing extent to as specified below. 
  2. Set Cell size to 30.
  3. Set Processing type to GPU. 
  4. Click Run.
Screenshot showing an aerial and the interface for the Environments tab in ArcGIS Pro.
Figure 7: Environments tab (Landsat 8 L1) of Classify Pixels tool.

Resulting land cover classification

The end result is a layer with land cover classifications with a default color scheme that correspond to the different Landsat 8 pixel values of the imagery you used. For example, the imagery being used for this tutorial shows an image that predominately contains pixel values indicating the area is mostly shrubland (dark tan color).

A screenshot showing an overlay showing land cover classification for an area.
Figure 8: Results of the land cover classification for Landsat 8 L1.

Landsat 8 (Level 2) data for land cover classification in ArcGIS Pro. 

For this part of the ArcGIS Pro tutorial, Surface Reflectance of the Landsat 8 Level 2 MTL file is used for the landcover classification process. 

  1. To import Surface Reflectance, open the catalog pane from the View tab of the Menu bar. 
  2. Toggle to the Surface Reflectance of the MTL file.
  3. Drag and drop onto the map canvas. 
Screenshot showing a surface reflectance layer in shades of white to black gradient for a Landsat 8 layer in ArcGIS Pro.
Figure 9: Surface Reflectance (MTL file) – Landsat 8 L2.
  1. Type and search “classify pixels using deep learning” in the search bar of the geoprocessing toolbox.
  2. Set input raster to the Surface Reflectance file. 
  3. Set output raster to your desired output name and location. 
  4. Set model definition to the landcover classification.dplk file. 
  5. From the Environments tab, Set processing extent to as specified below. 
  6. Set Cell size to 30.
  7. Set Processing type to GPU. 
  8. Click Run.
Screenshot of a land cover classification map in ArcGIS Pro.
Figure 10: Classified map of land use in Kingwood near Houston, Texas using Landsat 8 L2.

To review the accuracy measures of this model, visit the Land Cover Classification (Landsat 8) – Overview page on ArcGIS Hub.

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