National Hydrography Data Set Feature Rules
These are the National Hydrography Dataset (NHD) Feature Rules from January 2011. These are for reference only and may not align to the NHD Feature Rules used by later versions of the NHD schema or NHD Update Tool.
Table of Contents
NHDFlowline
NHDFlowline Rules are applied when user selects "Apply Waterbody Rules" or "Apply Flowline Rules".
Artificial Path
Artificial Path is used to complete the stream network through NHDWaterbodies and NHDAreas where these is no obvious channel. Isolated LakePonds, Reservoirs, SwampMarshes will not contain artificial paths.
Requirements:
- Artificial Path must be within one of the following features:
- LakePond
- StreamRiver (NHDArea)
- SwampMarsh
- Estuary
- Playa
- CanalDitch (NHDArea)
- Reservoir
- IceMass
-
If Artificial Path exists outside one of these features, the tools will generate an error message: ERROR – Subtype ArtificialPath [PermID] is not within any NHDWaterbody subtype or NHDArea subtypes StreamRiver or CanalDitch.
-
If Artificial Path extends 1 meter outside the boundary of an appropriate NHDWaterbody or area feature the tools will generate an error message: ERROR – Subtype ArtificialPath [PermID] extends greater than 1M beyond polygon edge. Error must be fixed prior to submission!
-
If extent of the subtype ArtificialPath from the edge of Waterbody is less than 1 meter the tools will generate a warning message: WARNING – Subtype ArtificialPath [PermID] not within NHDWaterbody/NHDArea!
-
If any Artificial Path rules are violated the tools will not allow the user to save edits. A warning will appear: WARNING – Undo apply rules and review the error log. (have the error log pop up for the user to review). Please fix the errors and reapply the rules.
CanalDitch
Allowed Instances:
-
May be within or cross SwampMarsh.
-
May be within or cross Playa.
-
May overlap Bridge (NHDLine).
-
May overlap Lock Chamber (NHDPoint, NHDLine, and NHDArea).
-
May overlap Tunnel.
-
May touch but not cross Coastline (see below).
-
May overlap, touch, or cross the following NHDFlowline features:
-
StreamRiver
-
CanalDitch
-
Connector
-
Artificial Path - CanalDitch is always "over". The tools will automatically populate the vertical relationship table.
-
Pipeline
-
-
May be within Estuary, IceMass, LakePond, or Reservoir as long as the intersection of the two geometries (part of the Canal Ditch feature within the waterbody) must be within an NHDLine subtype Bridge, NHDLine subtype Tunnel, NHDArea subtype Bridge or NHDArea subtype Tunnel. The tools will warn the users with the following message: WARNING – CanalDitch [PermID] crossing NHDWaterbody MUST have subtype BRIDGE or TUNNEL overlapping portion within waterbody polygon!
Not Allowed:
-
CanalDitch cannot cross but may touch Coastline. If a CanalDitch crosses Coastline the tool will generate an error message: ERROR – NHDFlowline feature [PermID] CANNOT cross subtype Coastline!
Coastline
Allowed Instances
-
Coastline must touch SeaOcean, Estuary, or LakePond (Great Lakes only). There must not be any gaps or overlaps.
Not Allowed:
-
Coastline may not be within or cross any NHDWaterbody. The tools will generate the following error: ERROR – Subtype Coastline [PermID] cannot cross or be within any NHDWaterbody!
-
If a polygon extends beyond Coastline then it must be trimmed. The tools will generate the following error message: ERROR – NHDWaterbody [PermID] extends over coastline! Please redraw geometry so waterbody matches coastline edge. Error must be fixed prior to submission.
Connector
Allowed Instances:
-
Connector MAY contain or overlap Pipeline and CanalDitch (NHDFlowline).
If a new waterbody is created coincident with a connector, the user will be prompted to remove the connector, or change it to Artificial Path with the warning: A feature type of CONNECTOR exists in the NHDWaterbody delineated. Change FType on CONNECTOR to ARTIFICIAL PATH or trim CONNECTOR feature to edge of NHDWaterbody polygon.
Pipeline
Allowed Instances:
-
Pipeline may overlap, contain, be within, touch, or cross:
-
StreamRiver
-
CanalDitch
-
Connector
-
Pipeline
-
ArtificialPath - Pipeline is always "under". The tools will automatically populate the Vertical Relationship table.
-
-
May touch but not cross Coastline (See Below).
-
When a Pipeline overlaps, contains, is within, or crosses an NHDFlowline subtype StreamRiver or CanalDitch, the Pipeline is always “over”.
-
When a Pipeline crosses another Pipeline or Connector, the tool will ask the user: Do these pipelines exchange water?
-
If yes:
-
The tool creates an intersection between the two pipeline features.
-
-
If no:
-
The tool will ask the user: Is new feature is over or under? The tool populates the vertical relationship with the result.
-
-
Not Allowed:
-
Pipeline cannot cross but may touch Coastline. If a Pipeline crosses Coastline the tool will generate an error message: ERROR – NHDFlowline feature [PermID] CANNOT cross subtype Coastline!
StreamRiver
Allowed Instances:
-
MAY be within SwampMarsh. The tools will ask: Is there is a persistent channel visible and present in Swamp Marsh? If the answer is no, NHDflowlines within the NHDWaterbody will be changed to Artificial Path.
-
MAY be within Area of Complex Channels
-
MAY be within Inundation Area .
-
MAY intersect with CanalDitch (NHDFlowline).
-
MAY overlap BayInlet.
-
MAY overlap Lock Chamber NHDPoint, NHDLine, or NHDArea.
-
MAY overlap Wash.
-
MAY share geometry with Flume NHDLine.
-
MAY cover Tunnel.
-
MAY cover Rapids NHDPoint.
-
MAY cover Waterfall NHDPoint.
-
MAY touch the endpoint of SinkRise.
-
MAY touch the endpoint of SpringSeep.
-
MAY cross CanalDitch.
Not Allowed:
-
StreamRiver MUST NOT be within LakePond, StreamRiver, Wash, Estuary, Playa, or Reservoir. The tools will automatically convert StreamRiver to Artificial Path.
-
StreamRiver can intersect other NHDFlowline features but must not overlap Flowline features or self-overlap.
Underground Conduit
Allowed Instances:
- Underground Conduit may overlap, be within, contain, cross, or touch any NHDArea subtypes.
-
Must touch NHDPoint subtype SinkRise or the end nodes of one of the following features:
-
StreamRiver (NHDFlowline)
-
Connector
-
ArtificialPath
-
The tools will generate a warning any time Underground Conduit does not follow the rule: WARNING: Subtype UndergroundConduit [PermID] must touch one of these features; NHDPoint subtype SinkRise or NHDFlowline subtypes StreamRiver, Connector or ArtificialPath.
Not Allowed:
-
Subtype Underground Conduit cannot overlap, contain, be within, or crosses any other feature.
NHD Waterbody
NHD Waterbody Rules
Waterbodies of the same subtype cannot overlap, within, or contain.
Rules are applied when user selects "Apply Waterbody Rules".
The GeoEdit tools will prompt users with an error message: ERROR – Overlap between NHDWaterbody: [subtype] [PermID] with NHDWaterbody: [subtype] [PermID] not allowed!
Estuary
Allowed Instances:
-
Estuary may contain Artificial Path.
-
The edge of Estuary may touch the edge of Coastline.
-
Estuary may contain Hazard Zone.
-
Estuary may contain Sounding Datum Line.
-
Estuary may be within Foreshore
-
Estuary may overlap, be within, or contain SwampMarsh. Warning: Review to ensure this is the ground condition.
-
Estuary may contain Special Use Zone.
-
Estuary may contain Special Use Zone Limit.
-
Estuary may contain Sounding Datum Line.
-
Estuary may contain BayInlet.
Not Allowed:
-
Estuary cannot overlap with, be within, or contain Estuary, IceMass, LakePond, Playa, or Reservoir.
Ice Mass
Allowed Instances:
-
Ice Mass may overlap SeaOcean.
-
Ice Mass may contain Artificial Path.
Not Allowed:
-
IceMass cannot overlap with, be within, or contain any NHDWaterbody.
LakePond
Allowed Instances:
-
LakePond must touch an edge with Inundation Area if Inundation Area exists. There must not be any gaps or overlaps.
-
LakePond contain or overlap the following features:
-
LakePond may contain Submerged Stream.
-
LakePond may contain Artificial Path.
-
LakePond may overlap with SwampMarsh (Legacy features prior to NHD version 1.06 release)
-
LakePond may overlap Hazard Zone.
-
LakePond may overlap Foreshore.
-
LakePond may contain Special Use Zone.
-
LakePond may contain Special Use Zone Limit.
-
LakePond may contain Sounding Datum Line.
-
LakePond may contain BayInlet.
Not Allowed:
-
LakePond cannot overlap with or be within or contain LakePond, Estuary, IceMass, Playa, or Reservoir.
-
A newly created LakePond cannot overlap with, be within, or contain SwampMarsh.
Playa
Allowed Instances:
-
Playa may contain Artificial Path.
-
Playa may contain CanalDitch (NHDFlowline)
Not Allowed:
-
Playa must not overlap StreamRiver (NHDFlowline).
-
Playa cannot overlap, be within, or contain any NHDWaterbody.
Reservoir
Allowed Instances:
-
Reservoir may contain Artificial Path.
Not Allowed:
-
Reservoir cannot overlap, be within, or contain any NHDWaterbody.
SwampMarsh
Allowed Instances:
-
May overlap Estuary or SeaOcean.
-
May contain Artificial Path.
-
SwampMarsh (Legacy features prior to NHD version 1.06 release) may overlap with LakePond. When modifying exsiting SwampMarsh Tools will generate warning message: WARNING: Overlapping LakePond [PermID] and SwampMarsh [PermID].
Not Allowed: Tools will generate error message: ERROR – Feature added after the inclusion of perennial and intermittent SwampMarsh subtypes. SwampMarsh [PermID] and LakePond [PermID] must not overlap! Error must be fixed prior to submission.
-
A newly created SwampMarsh must not overlap with, be within, or contain SwampMarsh, LakePond, IceMass, Playa, or Reservoir.
-
Must not overlap, be within, or contain LakePond.
-
Must not overlap, be within, or contain Foreshore.
NHDArea
All NHDArea subtypes can overlap, be within, cross, touch, or contain, Underground Conduit.
Area of Complex Channels
Allowed Instances
-
May cross StreamRiver (NHDFlowline).
-
May cross Artificial Path.
-
May overlap, be within, or contain SwampMarsh.
-
May overlap, be within, or contain Artificial Path.
If the rules are not followed the tools will generate the following warning: WARNING– NHDArea: Area of Complex Channels [PermID] is overlapping NHDWaterbody: [subtype] [PermID] or NHDArea: [subtype] [PermID]! NHDArea: Area of Complex Channels may only overlap with the following subtypes: SwampMarsh or StreamRiver.
Area to be Submerged
Area to be Submerged may overlap StreamRiver (NHDFlowline or NHDArea).
BayInlet
Allowed Instances:
-
Must be within one of the following features:
-
LakePond.
-
Estuary.
-
SeaOcean.
-
StreamRiver (NHDArea).
-
If it does not the following warning will be generated: WARNING – NHDArea: BayInlet [PermID] is overlapping NHDWaterbody: [subtype] [PermID] or NHDArea: [subtype] [PermID]! NHDArea:BayInlet may only overlap with the following subtypes: Estuary, LakePond, SeaOcean, or StreamRiver.
Bridge
Allowed Instances:
-
Must overlap, be within, or contain CanalDitch (NHDArea), OR
-
Must cross or contain CanalDitch (NHDFlowline).
CanalDitch
Allowed Instances:
-
CanalDitch must cross or contain an Artificial Path or CanalDitch (NHDArea).
-
CanalDitch may overlap NHDArea subtypes Bridge or Flume.
-
CanalDitch may overlap or contain Lock Chamber (NHDPoint, NHDLine, or NHDArea).
-
CanalDitch may overlap Tunnel (NHDArea).
DamWeir
Allowed Instances:
-
May cross or contain or Nonearthen Shore.
-
May contain Connector
-
May contain Pipeline
-
May overlap, be within, or contain Spillway (NHDArea).
Flume
Allowed Instances:
-
Must overlap, be within, or contain CanalDitch (NHDArea), OR
-
Must cross or contain CanalDitch (NHDFlowline)
Foreshore
Allowed Instances:
-
Foreshore must be within, overlap, or contain one of the following features:
-
Estuary
-
LakePond
-
StreamRiver (NHDArea)
-
SeaOcean
-
Not Allowed:
-
Must not overlap, be within, or contain SwampMarsh or Hazard Zone (NHDArea).
Hazard Zone
Allowed Instances:
-
Hazard Zone must be within one of the following features:
-
SwampMarsh
-
Estuary
-
SeaOcean
-
StreamRiver (NHDArea)
-
LakePond
-
Foreshore
-
Special Use Zone
Not Allowed:
-
Must not overlap, be within, or contain Special Use Zone.
Inundation Area
-
The boundary of Inundation Area must touch the boundary of LakePond.
-
StreamRiver NHDFlowline may overlap Inundation Area.
Levee
Levee must not overlap any feature.
Lock Chamber
Allowed Instances:
-
Lock Chamber must be within, overlap, or contain one of the following features:
-
CanalDitch (NHDArea)
-
StreamRiver (NHDArea)
-
May overlap Special Use Zone (NHDArea).
Rapids
Rapids must be within StreamRiver (NHDArea) or cross or contain Artificial Path.
See Also:
Rapids NHDLine and Rapids NHDPoint.
Sea Ocean
Sea Ocean must touch an edge with Coastline or Foreshore. There cannot be any gaps or overlaps.
-
SeaOcean may contain:
-
Special Use Zone
-
Sounding Datum Line
-
Hazard Zone
-
Foreshore
-
BayInlet
-
Lock Chamber (NHDArea, NHDLine, or NHDPoint)
-
Ice Mass
-
SwampMarsh
-
Special Use Zone
Allowed Instances:
-
Special Use Zone must be within one of the following features:
-
StreamRiver (NHDArea)
-
SeaOcean
-
Estuary
-
LakePond
Not Allowed:
-
Must not overlap, be within, or contain Hazard Zone.
Spillway
Spillway may overlap DamWeir (NHDArea, or NHDPoint).
StreamRiver
Allowed Instances
-
StreamRiver must cross or contain Artificial Path.
-
StreamRiver may contain be within or overlap any of the following features:
-
Special Use Zone (NHDArea)
-
Hazard Zone
-
Foreshore
-
BayInlet
-
Lock Chamber (NHDPoint, NHDLine, or NHDArea)
-
SeaOcean
-
DamWeir
-
Sounding Datum Line
-
Bridge
-
LockChamber (NHDArea)
-
Rapids (NHDLine)
-
Wash (NHDArea)
-
Waterfall (NHDLine)
-
-
May overlap, be within, or contain SwampMarsh.
-
May overlap, be within, or contain Area of Complex Channels.
Submerged Stream
Submerged Stream must be within LakePond.
Tunnel
Tunnel must overlap one of the following features:
-
StreamRiver (NHDFlowline)
-
CanalDitch (NHDFlowline)
-
Pipeline (NHDFlowline)
Wash
Wash must do follow one of these rules:
-
Wash may cross or contain Artificial Path or StreamRiver (NHDFlowline).
-
Wash must be within StreamRiver (NHDArea).
Water Intake/Outflow
Water Intake/Outflow must be within one of the following features:
-
LakePond
-
Reservoir
-
StreamRiver (NHDArea).
NHDPoint
DamWeir
DamWeir may overlap Spillway or Nonearthen Shore.
Gate
Gate must be within or touch Lock Chamber (NHDArea) or Lock Chamber (NHDLine) .
Gauging Station
Gauging Station may touch StreamRiver (NHDFlowline).
Lock Chamber
Lock Chamber must be within or touch either CanalDitch (NHDFlowline) or StreamRiver (NHDFlowline).
Rapids
RapidsPoint must be within or touch StreamRiver (NHDFlowline).
See Also:
Rapids (NHDLine)and Rapids (NHDArea).
Reservoir
Reservoir may contain Artificial Path.
Rock
Rock may overlap any feature.
SinkRise
SinkRise must be within or touch the endpoint of StreamRiver (NHDFlowline) or Underground Conduit.
SpringSeep
SpringSeep may touch StreamRiver (NHDFlowline) or Underground Conduit.
Waterfall
Waterfall NHDPoint must be within or touch StreamRiver (NHDFlowline).
See Also:
Waterfall NHDLine.
Water Intake/Outflow
Water Intake/Outflow must be within one of the following features:
-
LakePond
-
Reservoir
-
StreamRiver (NHDArea)
Well
Well may overlap any feature.
NHDLine
Bridge
Bridge must be within or overlap with one of the following features:
-
StreamRiver (NHDFlowline)
-
CanalDitch (NHDFlowline)
If it does not the tools will generate the following error: ERROR – NHDLine: Bridge [PermID] must be within or overlap NHDFlowline: CanalDitch or StreamRiver!
DamWeir
Allowed Instances:
-
Must be within or overlap Nonearthen Shore or any NHDFlowline. If it does not the tools will generate the following error: ERROR – NHDLine: DamWeir [PermID] must be within or overlap NHDLine: NonEarthen Shore!, OR
-
Must be within or overlap Spillway or any NHDWaterbody.
Flume
Allowed Instances:
-
Flume must be within or overlap CanalDitch (NHDFlowline). If it does not the tools will generate the following error: ERROR – NHDLine: Flume [PermID] must be within or overlap NHDFlowline: CanalDitch!
Gate
Gate must be within or touch Lock Chamber (NHDArea) or not be disjoint from Lock Chamber (NHDLine)
Levee
Levee may overlap any feature.
Lock Chamber
Lock Chamber must be within or touch one of the following features:
-
CanalDitch (NHDFlowline)
-
StreamRiver (NHDFlowline or NHDArea)
Lock Chamber MAY contain Wall.
Nonearthen Shore
Nonearthen Shore may overlap DamWeir.
Non Earthen Shore touch an edge with one of the following features:
-
StreamRiver
-
DamWeir
-
CanalDitch
-
Estuary
-
Sea Ocean
Rapids
Rapids must be within or overlap StreamRiver (NHDArea). If they do not the tools will generate the following error: ERROR – NHDLine: [subtype] [PermID] must be within NHDArea: subtype StreamRiver!
See also:
Rapids (NHDPoint) and Rapids (NHDArea).
Reef
Reef may overlap any feature.
SinkRise
SinkRise must be within or overlap StreamRiver (NHDFlowline). If it does not the tools will generate the following error: ERROR – NHDLine: [subtype] [PermID] must be within NHDArea: subtype StreamRiver!
Sounding Datum Line
Sounding Datum Line must be within one of the following features
-
SeaOcean
-
StreamRiver (NHDArea)
-
LakePond
-
Estuary
Special Use Zone Limit
Special Use Zone Limit must be within one of the following features:
-
SeaOcean
-
StreamRiver (NHDArea)
-
LakePond
-
Estuary
Spillway
Spillway MAY overlap DamWeir.
Tunnel
Tunnel must be within or overlap one of the following features:
-
CanalDitch (NHDFlowline)
-
Pipeline (NHDFlowline)
If it does not the tools will generate the following error: ERROR – NHDLine: Tunnel [PermID] must be within or overlap NHDFlowline: CanalDitch or Pipeline! Error must be corrected.
Wall
Allowed Instances:
Wall must be within or touch Lock Chamber (NHDArea) or not be disjoint from Lock Chamber (NHDLine).
Waterfall
Waterfall must be within or overlap StreamRiver (NHDArea). If it does not, the tools will generate the following error: ERROR – NHDLine: [subtype] [PermID] must be within NHDArea: subtype StreamRiver!
See Also:
Waterfall (NHDPoint).
Terminology
Contains
Indicates when a geometry is completely enclosing another geometry. This means one is inside of the other, with or without the borders touching.
Within
Indicates when a geometry is completely enclosed by another geometry. This means one is inside of the other one, with or without the borders touching.
Overlaps
Indicates when two geometries occupy a portion of the same spatial area. This means that two lines lie on top of each other for part of their length. Two polygons overlap where their boundary lines cross.
Touches
Indicates when the boundaries of two geometries intersect. This means that a point lies on a line, or on the boundary line of a polygon. Two lines touch when they share a single point. A line touches a polygon when it shares one or more points. Two polygons touch when they share part of their boundary lines.
Crosses
Indicates when two geometries traverse each other. This means two lines cross like a plus sign, but at any angle. A line crosses a polygon when it crosses the boundary line at least once.
Disjoint
Indicates when the two geometries do not share common points. This means they are completely separate.