Build Network Topology Table

The Build Network Topology Table tool builds a table comprised of records for all stream reaches within an input stream network feature class. Each record includes the reach ID, the ID of the adjacent upstream reach, and unique codes for the TO and FROM nodes of the reach. The unique TO and FROM codes are generated by calculating the latitude and longitude in decimal degrees for each node location. For headwater stream reaches, the upstream ID is assigned a value of -99999. If there is a potential topology error with an upstream reach, the upstream ID for that reach will be assigned a value of -11111.

The resulting output table, which will be named StreamNetwork, can serve as an input for the Find Network Features tool which can be used to find topology errors in the stream network.

If stream networks are not connected, stream reaches within the disconnected networks will not be included in the resulting network table. The Find Network Features tool can explicitly identify these disconnected networks.



Geoprocessing Environment

  • We recommend that the tool be run using 64-bit python geoprocessing.
  • Disable Z and M geometry in the stream network Shape field.


Input Parameters

Input Stream Network

Stream network polyline feature class. The output network topology table will store a record for each reach within this network. This dataset can be in a geodatabase feature class or shapefile format.

Downstream Reach Object ID

Object ID of the downstream reach feature (i.e. the outflow) in the stream network polyline feature class. This will be the first record in the output network topology table.



The resulting network topology table. This will be saved to the same workspace where the input stream network is stored. The table can be in a DBF or geodatabase table file format.


Point feature class representing beginning (“FROM”) and ending (“TO”) nodes for each reach within the input stream network feature class.

Output Stream Network Feature Class

A copy of the input stream network feature class, but with three new fields added: IsHeadwater, ReachID, and IsBraided. In addition, the output stream network feature class will have the same name as the input feature class, but with a suffix appended to the file name, with the format _runXX. Can be a geodatabase feature class or shapefile.

Technical Background

Troubleshooting and Potential Issues

Currently, as the tool loops upstream through each stream reach in the network, any potential topology errors associated with the upstream reach are flagged by adding a value of -11111 to the UpstreamID field for said reach. This code can then be subsequently used by the Find Network Features tool to identify potential topology errors. These errors include:

  • stream reaches with the same beginning node, but no upstream reach.
  • branches where either the beginning or ending node is not coincident with a node from the adjoining reach.