A common digitising error is to snap the polyline to another polyline; but not to the end node.  These polylines intersect and visually appear to be a complete network.  The golden rule for networks is that polylines must join each other at their ends.  So a polyline intersecting another somewhere along it's length is break this rule and consequently the topology of the network. 


This can have severe effects on your river network.  Imagine the polyline that is causing this disconnection is the main course of a large tributary flowing into a much large river.  Any network processing (including stream ordering) will interpret this as a new catchment and not part of the whole network.  With regards to stream ordering, the order the tributary achieves when it joins the larger river is not added to the overall stream order of the river, as the GIS interprets it as a separate catchment. 


The sequence of images below demonstrate a disconnection. 


A river network; visually it appears to be an acceptable topologically correct network

The same network now displaying it's nodes. It still appears to be topologically correct.

The same network displaying it's nodes but now with each whole polyline uniquely coloured.

The red circle indicates the disconnection.  If this network was topologically correct then the polyline which is currently displaying as yellow would actually be two colours because there should be two polylines.  Thus the red circle indicates that the blue polyline is simply "touching" the yellow polyline and not actually snapped to a node.



The output of the quality control process is the ID number of the polyline which should be split into two polylines.  For example the ID of the yellow polyline in the example image above will be the ID number returned and not the ID number of the blue polyline. 


Having identified the polylines that are causing the disconnection you will want to split the polyline, snap the end of the intersecting polyline to the new node and rebuild the node ID values of the attribute table. 


Be aware that you don't simply snap the intersecting polyline node to a vertex very near the node you created by splitting the polyline.  This can happen if the snapping search tolerance is too big.  You will simply end up creating a new disconnection! 


This tool generates an error log file called Disconnected.txt


WarningOnce you have edited your data you must rebuild the node ID values of the attribute table.  You will want to use the newly created node fields for stream ordering.