Thin Hydrology Lines (Topographic Production)

Summary

Generates a simplified hydrographic line network for display at a smaller scale. The resulting hydrographic network maintains the main arteries while thinning less significant features based on hierarchy, length, and spacing between features.

Illustration

Before and after illustration of the thin hydrology lines process
This image shows the stream network before and after using the Thin Hydrology Lines tool.

Usage

    Caution:
    • This tool modifies the input data. See Tools that do not create output datasets for more information and strategies to avoid undesired data changes.
    • A warning is raised if the input features are not in a projected coordinate system. This tool relies on linear distance units and will create unexpected results in an unprojected coordinate system. It is recommended that you run this tool on data in a projected coordinate system to ensure valid results. An error is raised and the tool will not process if the coordinate system is missing or unknown.
  • This tool is optimized for the spatial relationships typically found in a hydrographic network. Unexpected results may be produced if the tool is used to process other themes.

  • If the tool finds a section of the network where a line segment needs to be removed, the Minimum Length, Hierarchy Field, and Use intersection angles to determine main waterway parameters are used to determine which features to hide. For example, a river section ends with a Y where there are two end river segments that connect to a single main branch. If the Hierarchy Field parameter is set and one segment is more important than another, it will be kept and the other hidden. If the Use intersection angles to determine main waterway parameter is enabled, the end segment that creates a straighter path with the main branch will be kept even if it is shorter than the other end segment. If the Use intersection angles to determine main waterway parameter is disabled and the features have the same hierarchy, the longer segment will be kept.

  • The Minimum Spacing parameter applies to the distance between the points where substreams connect to a parent stream.

  • The integrity of the results of this tool relies on the topological integrity of the inputs. Take note of the following input data requirements and suggestions:

    • Connectivity—Proper connections must exist at intersections that faithfully represent the connectivity of the network.
    • False dead ends—A false dead end is an unconnected segment that appears visually connected when symbolized at the final map scale. These may be areas where you expect connectivity based on visual appearance, but features are not actually connected. If you process the tool without repairing the connectivity, unexpected disconnects may be visually apparent in the results.
    • Directionality—One of the key characteristics of a hydrology network is the ability to determine the direction water flows from one feature to another. Thin Hydrology Lines uses the digitization direction of the line segments to determine flow direction. If you process the tool with segments digitized against the flow of other segments, unexpected disconnects may be visually apparent in the results.
    • Empty or null geometry—The Input Features parameter value must consist of valid geometries. If necessary, use the Repair Geometry tool to repair these features.
    • Single-part features—The Input Features parameter value should not contain multipart features. Use the Multipart To Singlepart tool or create a topology with a Must Be Single Part line rule to convert features to single part.
  • The integer field specified for the Invisibility Field parameter must be present on the feature class. Features that should remain visible are assigned a value of 0; those that should be removed from the display are assigned a value of 1.

    Note:
    • Use a layer definition query or a selection to display the resulting simplified collection, for example, invisibility <> 1.
    • You can use multiple invisibility fields to store different results—corresponding to different output scales—on the same feature class.
  • If a feature contains a value of 0 in the field specified for the Hierarchy Field parameter, the feature's visibility is locked by preventing a value of 1 in the field specified for the Invisibility Field parameter.

  • This tool works on hydrographic lines; however, hydrographic networks often contain other geometry types as well. The Intersecting Features parameter is used to provide context of other features in the complete hydrographic network. For example, a river line might stop at the edge of a lake polygon and another line representing the same river may continue out the other side of the lake. Including the lakes as compare features ensures that lines touching the lake features are not removed even if they meet other criteria of the tool, such as the Minimum Length parameter. This ensures that gaps are not produced in the entire hydrographic network not just the lines used as the Input Features parameter value.

  • The Input Features parameter value cannot be used as the Intersecting Features parameter value. If the Input Features parameter value is also used as the Intersecting Features parameter value, the tool's internal validation will remove them from the Intersecting Features parameter value.

Parameters

LabelExplanationData Type
Input Features

The hydrography line feature to be thinned.

Feature Layer
Invisibility Field

Features that participate in the thinned hydrography collection will have a value of 0. Those that are extraneous have a value of 1. A layer definition query can be used to display the results.

Field
Minimum Length

An indication of the shortest hydrographic segment that is sensible to display at the output scale. It defines a sense of the resolution or granularity of the resulting thinned hydrography. It should correspond to a length that is visually significant to include at the final scale. The results of this tool are a balanced compromise between the requirements posed by hierarchy, minimum length, minimum spacing, angle of connecting features, and directionality of the hydro geometry. Consequently, the minimum length value cannot necessarily be measured directly in the resulting feature set.

Linear Unit
Minimum Spacing
(Optional)

An indication of the shortest distance between a hydrographic segment that is sensible to display at the output scale. If the spacing between two parallel trending features is smaller than this value, one of the features will be set as invisible. It defines a sense of the density of the resulting thinned hydrography. It should correspond to the distance between two parallel trending features that is visually significant to include at the final scale. When the density of features is too high (that is, the features are too closely spaced), at least one feature will be hidden. This can result in important features or features longer than the Minimum Length value being hidden.

Linear Unit
Hierarchy Field
(Optional)

This field contains the hierarchical ranking of feature importance in which the value of 1 is very important, and larger integers reflect decreasing importance. It identifies the relative importance of features to help establish which features are significant. For best results, use five or fewer hierarchy levels. Input features with a hierarchy value of 0 are considered locked and will remain visible, along with adjacent features necessary for connectivity.

Field
Intersecting Features
(Optional)

If a segment is snapped to features in the provided layers, it will not be removed. An example is a small river segment snapped to a lake. Even if the segment is under the Minimum Length value, it would need to remain to ensure that it remains connected to the water body into which it flows.

Feature Layer
Unsplit Lines
(Optional)

This will merge any split features in the Input Features value to help ensure that the main waterway is preserved. If unchecked, the ends of the waterway may be removed due to them being under the Minimum Length value.

  • Checked—Features that are closed on both end points will be merged before thinning to preserve main hydrographic arteries that traverse a long distance. This is the default.
  • Unchecked—Features will remain split before the thinning process.
Boolean
Use intersection angles to determine main waterway
(Optional)

If checked, the angles between waterway branches will be used to help determine the main waterway; the highest angle will be used. If unchecked, the longest branch will be considered part of the main waterway.

  • Checked—In junctions with three or more waterways, features that are closer together in angle will be kept.
  • Unchecked—In junctions with three or more waterways, features that are longer will be kept. This is the default.
Boolean

Derived Output

LabelExplanationData Type
Updated Features

Features that have been thinned based on input criteria.

Feature Layer

arcpy.topographic.ThinHydrologyLines(in_features, invisibility_field, min_length, {min_spacing}, {hierarchy_field}, {intersecting_features}, {unsplit_lines}, {use_angles})
NameExplanationData Type
in_features

The hydrography line feature to be thinned.

Feature Layer
invisibility_field

Features that participate in the thinned hydrography collection will have a value of 0. Those that are extraneous have a value of 1. A layer definition query can be used to display the results.

Field
min_length

An indication of the shortest hydrographic segment that is sensible to display at the output scale. It defines a sense of the resolution or granularity of the resulting thinned hydrography. It should correspond to a length that is visually significant to include at the final scale. The results of this tool are a balanced compromise between the requirements posed by hierarchy, minimum length, minimum spacing, angle of connecting features, and directionality of the hydro geometry. Consequently, the minimum length value cannot necessarily be measured directly in the resulting feature set.

Linear Unit
min_spacing
(Optional)

An indication of the shortest distance between a hydrographic segment that is sensible to display at the output scale. If the spacing between two parallel trending features is smaller than this value, one of the features will be set as invisible. It defines a sense of the density of the resulting thinned hydrography. It should correspond to the distance between two parallel trending features that is visually significant to include at the final scale. When the density of features is too high (that is, the features are too closely spaced), at least one feature will be hidden. This can result in important features or features longer than the min_length value being hidden.

An indication of the shortest distance between a hydrographic segment that is sensible to display at the output scale. If the spacing between two parallel trending features is smaller than this value, one of the features will be set as invisible. It defines a sense of the density of the resulting thinned hydrography. It should correspond to the distance between two parallel trending features that is visually significant to include at the final scale. When the density of features is too high (that is, the features are too closely spaced), at least one feature will be hidden. This can result in important features or features longer than the Minimum Length value being hidden.

Linear Unit
hierarchy_field
(Optional)

This field contains the hierarchical ranking of feature importance in which the value of 1 is very important, and larger integers reflect decreasing importance. It identifies the relative importance of features to help establish which features are significant. For best results, use five or fewer hierarchy levels. Input features with a hierarchy value of 0 are considered locked and will remain visible, along with adjacent features necessary for connectivity.

Field
intersecting_features
[intersecting_features,...]
(Optional)

If a segment is snapped to features in the provided layers, it will not be removed. An example is a small river segment snapped to a lake. Even if the segment is under the min_length value, it would need to remain to ensure that it remains connected to the water body into which it flows.

Feature Layer
unsplit_lines
(Optional)

This will merge any split features in the in_features value to help ensure that the main waterway is preserved. If set to NO_UNSPLIT_LINES, the ends of the waterway may be removed due to them being under the min_length value.

  • UNSPLIT_LINESFeatures that are closed on both end points will be merged before thinning to preserve main hydrographic arteries that traverse a long distance. This is the default.
  • NO_UNSPLIT_LINESFeatures will remain split before the thinning process.
Boolean
use_angles
(Optional)

If set to USE_ANGLES, the angles between waterway branches will be used to help determine the main waterway; the highest angle will be used. If set to NO_USE_ANGLES, the longest branch will be considered part of the main waterway.

  • USE_ANGLESIn junctions with three or more waterways, features that are closer together in angle will be kept.
  • NO_USE_ANGLESIn junctions with three or more waterways, features that are longer will be kept. This is the default.
Boolean

Derived Output

NameExplanationData Type
updated_features

Features that have been thinned based on input criteria.

Feature Layer

Code sample

ThinHydrologyLines example (stand-alone script)

The following stand-alone sample script demonstrates how to use the ThinHydrologyLines function to simplify a hydrography network.

# Name: ThinHydrologyLines_sample.py
# Description: Prunes a hydrography line network without touching the main artery, while keeping the data intact and becoming visually pleasing.
# In this example, output is derived and add a definition query to view output.

# Import System Modules
import arcpy

# Set workspace
arcpy.env.workspace = r'C:\Data\Generalization_Samples.gdb'

# Setting Local Variables
in_features = r'rivers'
intersecting_features = r'lakes'
min_length = "1000 Meters"
min_spacing = "500 Meters"
hierarchy_field = "HIERARCHY"
unsplit_lines = "UNSPLIT_LINES"
use_angles = "NO_USE_ANGLES"

# Execute Thin Hydrology Lines
arcpy.ThinHydrologyLines_topographic(in_features, min_length, min_spacing, hierarchy_field, intersecting_features,unsplit_lines, use_angles)

Environments

This tool does not use any geoprocessing environments.

Licensing information

  • Basic: No
  • Standard: Requires Topographic Mapping
  • Advanced: Requires Topographic Mapping

Related topics