OpenHistoricalMap/Projects/National Hydrography Dataset import
About
Data from the US National Hydrography Dataset (NHD) can be used for adding waterways or water bodies to the map. NHD datasets are of varying detail and frequently outdated; so they should be used to supplement, not replace, existing map water data. Much of the difference between NHD data and imagery is the result of normal geologic processes (e.g. meandering rivers). If the imagery dates differ from a particular NHD dataset and the date can be determined, the time changes can be mapped. Otherwise, for mapping purposes, the data can be assumed to be current and static.
Adding NHD to OHM
Information about the National Hydrography Dataset is available on the USGS National Hydrography Dataset page. To download data, access National Hydrography Products. From there, the National Map Downloader can be accessed through the "Go there" button. Zoom in to the area of interest and then select the Hydrography (HNDPlus HR, NHD, WBD) checkbox. Select NHDPlus HR or NHD or both. Then select the extent, usually HU-4 Subregion or HU-8 Subregion, and the download File Format. Press the blue "Search Products" button to bring up a list of datasets and hovering over these will highlight their extent. Click on "Download Link (ZIP)" to download the dataset. Choosing the FileGDB format works well with the remainder of the import process.
Loading into QGIS
The GDB file or Geopackage downloaded data can be added to QGIS by simply dragging the file object into the main window. For OHM mapping, only the NHDFlowline (streams), NHDWaterbody (lakes, ponds, reservoirs) and NHDArea (riverbanks) layers are usually needed. NHDPoint data can be used for springs. Each of these layers should be reprojected and their tables edited.
Reformatting Data
Reprojection
Reformatting NHD data can be done using QGIS. NHD data must be transformed to match the OSM/OHM WGS84 projection. Also, field data should be reformatted to fit tags and values. See How to transform data from NAD83 to WGS84 for a recommended method to reproject the data. This method works well in QGIS 3.34, but not 3.36. Use the Processing Toolbox and then Vector general -> Reproject layer. Several steps are required and each one creates a new layer labeled "Reprojected". Right click to bring up the Properties Panel and verify the projection.
Editing Table Data
Start by right-clicking on a layer and selecting "Open Attribute Table". From there new fields can be created and populated. Data should be traceable to its source. Use the permanent_identifier column or the NHDPlus ID column if present.and using NHD Plus data. Create a new field labeled NHD:permanent_identifier or NHD:PlusID. A new source tag should be created with a value showing that it is from an NHD import and the area name and publication date of the dataset included. E.g. source=NHD_HR_import_HU4_1021_20231125
indicates that this is a NHD high resolution import form the HU4 1021 dataset, with a publication date of November 25, 2023. The NHD FDate field shows the last date a particular object was edited. This can be long before the publication date. This can be added as NHD:FDate to provide some indication as to the vintage. Keep in mind that survey data is often older than the FDate would indicate.
FCode mapping
These are common values in NHD data, and the equivalent OHM fields. These can be set using the QGIS table editor; and the values can be changed using OSM tools upon loading.
FCode | NHD meaning | natural | water | waterway | intermittent | notes |
---|---|---|---|---|---|---|
34300, 34305, 34306 | DamWeir | NULL | NULL
|
dam or weir
|
NULL
|
|
33600-33603 | CanalDitch | NULL | NULL
|
canal
|
NULL
|
usage tag can be used to purpose; e.g., irrigation |
39000, 39004, 39010, 39011, 39012 | water | lake or pond
|
NULL
|
NULL
|
||
39001, 39005, 39006 | water | lake or pond
|
NULL
|
yes
|
||
43100 | NULL | NULL
|
rapids
|
NULL
|
||
43600-43626 | water | reservoir
|
NULL
|
NULL
|
||
45500 | Spillway | NULL | NULL | canal
|
NULL
|
usage=spillway
|
46000, 46006 | StreamRiver | NIULL | NULL | stream or river
|
NULL
|
Might be efficient to use waterway=stream upon import and manually change larger streams to waterway=river
|
46003, 46007 | StreamRiver | NULL | NULL | stream or river
|
yes
|
|
46600, 46602 | SwampMarsh | wetland | NULL | NULL
|
NULL
|
|
46601 | SwampMarsh | wetland | NULL | NULL
|
yes
|