Model Impervious Surfaces using Sentinel Imagery
June, 2021
Download the PDF here
Introduction
Arc Hydro consists of a data model, toolset, and workflows developed over the years to support specific geographic information system (GIS) implementations in water resources. The initial implementation of Arc Hydro was in 2002 with the data model, Arc Hydro book published by Esri Press, and an initial set of about 30 tools. Since then, Arc Hydro has been used in many projects, and in the process, new tools and workflows have been developed. There are more than 300 Arc Hydro tools now, and they continue to be expanded based on work in specific implementations.
This document describes the workflow execute by the Model Impervious Surfaces Using Sentinel Imagery tool. At a high level, this tool applies a pre-trained deep learning model to a Sentinel image. The deep learning model uses its learned relationships and dependencies between the Sentinel bands and the CORINE land cover classes to predict the landcover type for each cell in the Sentinel image. The landcover predictions are then reclassified into areas of pervious, impervious, and open water. Unless a user has already gathered their own Sentinel imagery and version of the deep learning model, they must be logged into ArcGIS online before running the tool.
Document History
Table 1. Document Revision History
Version | Description | Date |
---|---|---|
1 | First version (GLO) | 5/2021 |
2 | Link to Deep Learning Frameworks Installer (GLO) | 6/2021 |
Recommended reading
This is one of several Arc Hydro "how to" documents. The following are the other suggested reading, in the order of importance:
Users should also refer to documentation for the CORINE landcover classes:
Solution Overview
The Model Impervious Surfaces Using Sentinel Imagery tool reclassifies a set of landcover predictions into pervious, impervious, and open water areas. The initial landcover predictions are generated using a pre-trained deep learning model. This tool is in the Arc Hydro Tools Pro toolbox supporting ArcGIS Pro 2.7 and later.
The steps executed are:
Authenticates into ArcGIS online or ArcGIS enterprise using the ArcGIS Pro credentials.
- If the user provides both the Input Sentinel Raster and CORINE Deep Learning Model inputs, authentication is not necessary and will be skipped. Steps 2 and 3 will also be skipped.
Downloads a Sentinel-2 image that covers the extent of the Input Boundary Feature.
The download will include a natural color representation of the scene (RGB bands) and a full image (all 13 Sentinel bands). The full image will render as fully black.
Images are acquired from the Living Atlas Sentinel-2 Image Service.
The selected image will be the most recent and cloud free scene available at the time of tool execution. If the user wants to characterize the landscape from a different timeframe, they can manually acquire a Sentinel-2 image (with all 13 bands) from the desired timeframe and use this instead.
Downloads the Land Cover Classification (Sentinel-2) deep learning model.
This pre-trained deep learning model is available from the Living Atlas.
The model is trained to generate CORINE Land Cover class predictions from Sentinel-2 imagery.
Generates CORINE land cover class predictions for each pixel in the Sentinel-2 image.
Reclassifies the CORINE classes into impervious, pervious, and open water classes.
- Users can modify the default set of CORINE classes that will be considered impervious.
Figure 1. Model Impervious Surfaces Using Sentinel Imagery tool in the Watershed Processing toolbox of the Arc Hydro Pro toolbox.
Overview of Arc Hydro tools involved in Modeling Impervious Surfaces
This section presents a list of tools used in the extraction of impervious landcover using deep learning. Tools in this section are presented in the order they appear in the Arc Hydro Tools Python Toolbox and do not represent the order in which tools are used. The subsequent sections will explore specific workflows and which tools are used for them.
Toolset | Step | Tool | Description |
---|---|---|---|
(Core Software Tool) Image Analyst Tools / Deep Learning | Landcover predictions | Classify Pixels Using Deep Learning | This is an out-of-the-box tool that internally applies the pre-trained deep learning model to the Sentinel-2 image to predict the landcover classes. This tool requires that the deep learning frameworks are installed for ArcGIS Pro. |
Watershed Processing | Reclassify the landcover predictions | Model Impervious Surfaces Using Sentinel Imagery | Characterizes a given watershed as pervious, impervious, or open water using deep learning and Sentinel-2 imagery. |
Use Cases
Use Case 1: Modeling Impervious Surfaces with No Additional Inputs
- Model Impervious Surfaces Using Sentinel Imagery

Outputs for this tool include:
- Natural color representation of the Sentinel-2 image downloaded for the boundary feature (full sentinel image output not shown).

- CORINE Land Cover classifications predicted by the deep learning model.


- Reclassification of the CORINE Land Cover classifications.

From Python:
import modelimpervioussurfaces
watershed =
r'C:\\Documents\\ArcGIS\\Projects\\ModelImpervious\\ModelImpervious.gdb\\watershed'
out_lc_classes =
r'C:\\Documents\\ArcGIS\\Projects\\ModelImpervious\\Layers\\CORINE_class.tif'
out_impervious =
r'C:\\Documents\\ArcGIS\\Projects\\ModelImpervious\\Layers\\reclass.tif'
impervious_classes = [11, 12, 13, 33]
model_impervious = modelimpervioussurfaces.ModelImperviousSurfaces()
model_impervious.executeAH(watershed, impervious_classes, out_lc_classes, out_impervious, None, None)
Use Case 2: Modeling Impervious Surfaces with Optional Inputs
- Manually download the CORINE Land Cover deep learning model.

Download a Sentinel image for the boundary feature area. Recall that the full Sentinel image is required (i.e., all 13 bands). Options to do so include:
Filter for and export an image from the Living Atlas
- Imagery from the past 14 months is available here
Use EarthExplorer
We filtered the Sentinel-2 Views in ArcGIS Pro to obtain a Sentinel image from a winter month. This will allow us to compare results outside of the growing season. To export the Sentinel image with all 13 bands, we followed this Esri Community post and queried an image from the month of January in 2019 (see image below).

- Model Impervious Surfaces Using Sentinel Imagery

Results for this Sentinel scene are shown below. The deep learning model predicted a much larger impervious area for the winter scene. Looking at the intermediate CORINE output (left), we see this is due to the relatively larger area predicted as open space with little or no vegetation (grey pixels). This is likely a reflection of the reduced vegetative cover during January.


From Python:
import modelimpervioussurfaces
watershed =
r'C:\\Documents\\ArcGIS\\Projects\\ModelImpervious\\ModelImpervious.gdb\\watershed'
out_lc_classes =
r'C:\\Documents\\ArcGIS\\Projects\\ModelImpervious\\Layers\\Jan2019_CORINE_classes.tif'
out_impervious =
r'C:\\Documents\\ArcGIS\\Projects\\ModelImpervious\\Layers\\Jan2019_CORINE_reclass.tif'
impervious_classes = [11, 12, 13, 33]
in_sentinel_image =
r'C:\\Documents\\ArcGIS\\Projects\\ModelImpervious\\Layers\\Sentinel_Manual_Full_Jan2019.tif'
in_dl_pkg =
r'C:\\Documents\\ArcGIS\\Projects\\ModelImpervious\\Layers\\corine_landcover.dlpk'
model_impervious = modelimpervioussurfaces.ModelImperviousSurfaces()
model_impervious.executeAH(watershed, impervious_classes, out_lc_classes, out_impervious, in_sentinel_image, in_dl_pkg)
Appendix
Processing Times
The information in this appendix is provided for reference only. The actual performance will vary greatly depending on the size and complexity of the underlying input data and function parameters. The numbers provided here are to be used as a relative measure of performance - which functions are "faster" and which are "slower". Remember that raster processing tends to be non-linear for large rasters and that doubling the size of the raster will usually result in more than doubling the time it takes to process it.
The hardware used for processing will also have an impact on the performance. Fast hard-drive (HD) subsystem (preferably SSD) can double the improvement in performance compared to traditional HD. Make sure that both the scratch and permanent storage are pointing to the fast HD. For other processing suggestions, refer to "Arc Hydro - Project Development Best Practices" document.
The following results were collected using a machine with 16 GB of RAM. The largest extent of the testing dataset, located in inland southern California, included:
- Sentinel-2 image (10m resolution) with 2000 columns, 1500 rows, and 13 bands
Tool | Runtime |
---|---|
Model Impervious Surfaces Using Sentinel Imagery (Use Case 1) | 10 minutes |
Model Impervious Surfaces Using Sentinel Imagery (Use Case 2) | 5 minutes, 30 seconds |