arcgis.features.hydrology module

These functions help you use hydrology analysis.


hydrology.trace_downstream(point_id_field=None, source_database='Finest', generalize=False, gis=None)

The Trace Downstream method delineates the downstream path from a specified location. Esri-curated elevation data is used to create an output polyline delineating the flow path downstream from the specified input location. This method accesses a service using multiple source databases which are available for different geographic areas and at different spatial scales.




Required Feature Set or Spatially Enabled DataFrame Points delineating the starting location to calculate the downstream location from.


Optional String Field used to identify the feature from the source data. This is useful for relating the results back to the original source data.


Optional String - Default “Finest” Keyword indicating the source data that will be used in the analysis. This keyword is an approximation of the spatial resolution of the digital elevation model used to build the foundation hydrologic database. Since many elevation sources are distributed with units of arc seconds, this keyword is an approximation in meters for easier understanding.

  • Finest: Finest resolution available at each location from all possible data sources.

  • 10m: The hydrologic source was built from 1/3 arc second - approximately 10 meter resolution, elevation data.

  • 30m: The hydrologic source was built from 1 arc second - approximately 30 meter resolution, elevation data.

  • 90m: The hydrologic source was built from 3 arc second - approximately 90 meter resolution, elevation data.


Optional Boolean - Default False Determines if the output downstream trace lines will be smoothed into simpler lines.


Optional GIS Object instance If not provided as input, a GIS object instance logged into an active portal with elevation helper services defined must already be created in the active Python session. A GIS object instance can also be optionally explicitly passed in through this parameter.




hydrology.watershed(point_id_field=None, snap_distance=10, snap_distance_units='Meters', source_database='Finest', generalize=False, gis=None)

The Watershed task is used to identify catchment areas based on a particular location you provide and ArcGIS Online Elevation data.


Result object comprised of two FeatureSets - one for watershed_area, and another for snapped_points