NHD Flow Check
NHDFlowcheck is a utility for geometric network creation and validation of an NHD Flowline feature class that exists in a NHD dataset in the form of a personal geodatabase. It features tools that perform the following functions: generation of a geometric network on the NHDFlowline feature class, check for duplicate features, check arc frequency at junctions (nodes), identify flowline features that are not traversed in at least one sub-network with a pour point, flip one or more selected flowline features, and set the FlowDir field of one or more selected flowline features. It is recommended that this entire guide is read to efficiently use NHDFlowcheck. Comments about NHDFlowcheck can be sent to The geometric network is used for several checks performed with these tools, and a new geometric network on the NHDFlowline feature class may be generated. However, it has been noticed that existence of a topology class within the Hydrography dataset can cause the geometric network generation process to fail. Therefore, all topology layers should be deleted from the Hydrography dataset prior to generating a geometric network. Topology layers can be deleted through ArcCatalog. 1. Introduction
The Geometric Network Editing extension, which is a standard ArcMap extension, may be required to identify if the geometric network includes any invalid geometry features or inconsistent connectivity. The following four types of geometries are invalid for features in a geometric network: (1) empty geometry, (2) geometry with multiple parts, (3) begin and end vertices are the same, and (4) geometry has zero length. A geometric network must be built before the Geometric Network Editing extension may be used. The ‘verify network feature geometry’ command in this extension identifies and selects features having invalid network geometries. The type of error may be determined with the ‘network build errors’ tool in this extension. Use of this tool is required when Null values are found in the OrigAZ or OrigFD fields for all records of the NHDFlowline feature class (see command d: Check OrigAZ and OrigFD for Null Values).
2. Installation If an earlier version of the NHDFlowcheck has been installed then it should be uninstalled by double clicking on the flowcheck_unregister.bat file, which should reside in the NGTOC\NHDGCT\ subdirectory of the drive where the software was originally written. Installation of NHDFlowcheck is completed by unzipping the latest version of the flowcheck zip file and extracting the files directly to a root drive (e.g. D:) using the folder names included in the zip file. After extracting the files, flowcheck_install.bat and flowcheck_unregister.bat files should reside under the subdirectory NGTOC\NHDGCT\ of the root drive where the files were extracted (e.g. D:\NGTOC\NHDGCT\). Double click on the flowcheck_install.bat file to install and register the NHDFlowcheck dynamic-link library (dll). The flowcheck_unregister.bat file can be used to uninstall the software whenever a new version becomes available. Unzipping the files directly onto the root drive, as described, ensures easy access to the associated documentation. When using flowcheck to generate a geometric network, you may receive an error message that resembles the following: Automation Error: Increase MaxLocksPerFile registry. To overcome this problem, Solution: double click on the AdvancedArcMapSettings.exe in the Program Files/ArcGIS/Utilities folder, which will display a form menu similar to the one at the right. Select the editor tab and increase the jet engine max # of records to calculate to 2,000,000, and click ‘Apply’ button.
3. Processing Conditions Some of the checks performed by these tools implement Arc Info workstation commands which require an Info workspace. Therefore, the NHD personal geodatabase to be reviewed should be located in a folder that does not include any spaces or ‘#’ symbols in the path name. Existence of a space or # symbol in the path to the data will cause a processing error when an Arc Workstation command is issued by the tools. In addition, geodatabase names that are opened or edited with this application should not have a name that exceeds 28 characters. The geometric network is used by several checks performed with these tools. A new geometric network on the NHDFlowline feature class may be generated at any time. However, it has been noticed that the existence of a topology class within the Hydrography dataset can cause the geometric network generation process to fail. Therefore, all topology layers should be deleted from the Hydrography dataset prior to generating a geometric network. Topology layers can be deleted through ArcCatalog.
ArcMap: NHD NHD Flow Check> Using Database:
Choose DB…
Navigate to personal geodatabase Open
Use DB
NHD Flow Check will load: NHDFlowline, NHDArea and NHDWaterbody
NHD NHD Flow Check> Generate Geometric Network
Geometric Network Successfully compacted
Geometric network generation completed
NHD NHD Flow Check> Check OrigAZ and OrigFD for Null Values
If you added some new features to the network and they have negative comids then they will not be added to the status table with the 'write status records' command. So, you can calculate the origAZ value to 0 and calculate the origFD = Flowdir. You should be able to do selecting the records in the NHDFlowline attribute table and then calculating the fields (If a geom. network exists, then you'll need to start and edit session). Once you've populated all origAZ and origFD values, the 'write status records' command should generate the status records for any features that were flipped after the initial geometric netword was generated (These should have positive comids) (It will also write status records for features with modified the flowdir values.
NHD NHD Flow Check> Locate Duplicate Nodes
No duplicate nodes found in dataset
NHD NHD Flow Check> Locate Duplicate Arcs
Two duplicate features selected Loading into error queue
NHD NHD Flow Check> Zoom to feature
In this case the mid-point of the two features are within 10 meters and therefore are flagged as an error. This is a false positive
NHD NHD Flow Check> Next You can doc “Next” on the tool bar. See next slide.
Doc “Next” on the tool bar Click Tools Click Customize Select Commands Hold down left mouse button on “Next” and drag to tool bar
Second feature identified as error (false positive)
NHD NHD Flow Check> Generate Connection Tables
Connection table generation successful
NHD NHD Flow Check> Check for Degree Problems
Thirty five potential errors have been selected
NHD NHD Flow Check> Zoom to Feature
NHDFlowline Set symbology to arrow at end False positive
NHD NHD Flow Check> Next
False Positive
Missing linework?
Opposing flow Flip selected arc
NHD NHD Flow Check> Flip Arc
Arc has been flipped
Review all records in queue then move on to Find Network Ends
NHD NHD Flow Check> Find Network Ends
One hundred sixty seven ends selected OK
Export selected network ends to feature class for visual inspection NHDFlowline Data Export Data…
Export: Selected features This layers data source Browse to personal geodatabase
Select personal geodatabase Hydrography Name: network_ends Save
OK
Yes
Network ends feature class: Set symbology
Systematically check dataset to insure that network ends are valid In this case the network end is valid
Systematically check dataset to insure that network ends are valid In this case the network end is invalid
Notice that the StreamRiver below the dam is uninitialized and therefore the artificial path is treated as a network end
NHD NHD Flow Check> Set Direction: With Digitized
Review all records in queue then move on to Flow Check
NHD NHD Flow Check> Flow Check
Typically the selected set is correct however you do have the option to choose ‘No’ and add additional flowlines to selected set
Three hundred forty eight features were not traversed (Uninitialized features) OK
Export selected features not traversed to feature class for visual inspection NHDFlowline Data Export Data…
Export: Selected features This layers data source Browse to personal geodatabase
Select personal geodatabase Hydrography Name: ‘not traversed’ Save
OK
Yes
not traversed feature class: Set symbology
Systematically check dataset to insure that features not traversed are valid In this case the features are uninitialized and can be set to withdigitized
NHD NHD Flow Check Write Status Records
OK
This will avoid multiple metadata status records OK
Status entries have been populated in NHDStatus table
Delete Geometric Network This will delete the geometric network and other tables created in NHD_Flow_Check (conArc, conNode, NHDErrors, and NHDErrorState). All these files must be deleted before you reproject to geographic.