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 |
37800 | Ice Mass | glacier | NULL | NULL | NULL | |
39000, 39004, 39009, 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
|
Example QGIS queries
Open the attribute table belonging to the target layer. Open the field calculator and create new columns and populate with the following. These may not be complete but should cover most of the OHM-relevant tags. Others can be entered manually.
For the "waterway" tag using NHD flowlines. NHD does not differ between stream and river. For spillways and irrigation canals and ditches, add "usage=spillway" or "usage=irrigation" upon uploading:
if(((fcode>=46000) AND (fcode<=46007)), 'stream', if((fcode=55800), 'stream', if(((fcode>=33600) AND (fcode<=33603)), 'canal', if((fcode=45500), 'canal', NULL))))
For the "natural" tag using NHD waterbodies or areas:
if(((fcode>=39000) AND (fcode<=39012)), 'water', if(((fcode>=46600) AND (fcode<=46602)), 'wetland', if((fcode=37800), 'glacier', if(((fcode>=43600) AND (fcode<=43626)), 'water', NULL))))
For the "water" tag. NHD does not differentiate between "lake" and "pond". If using this query, manually change larger bodies of water to "lake":
if(((fcode>=39000) AND (fcode<=39012)), 'pond', if(((fcode>=43600) AND (fcode<=43626)), 'reservoir', NULL))
Record of Imports
This is not a complete record of all NHD data imports and the import dates may be approximate. But please include any significant imports here; information can be used to help identify the original source of hydrology data. The geographic data may predate the NHD publication date by several years.
Dates of OHM Import | Area Description | NHD Dataset Name | NHD Publication Date | OHM Source tag |
---|---|---|---|---|
4/30/2024 - | Arkansas River drainage, south central Kansas | HU 4 - 1103 | 12/08/2023 | NHD_HR_import_HU4_1103_20180813 |
3/1/2024 - 4/15/2024 | Plate River drainage, Nebraska | HU 4 - 1020 | 04/20/2018 | NHD_HR_import_H_1020_HU4_20180420 |
2/15/2024 - 3/15/2024 | North Platte River drainage, Nebraska and southeastern Wyoming | HU 4 - 1018 | 5/1/2018 | NHD_HR_import_H_1018_HU4_20180501 |
5/9/2024 | Northern Glacier National Park east of the Continental Divide and Waterton Lakes area | HU 8 - 09040002 | 12/17/2023 | NHD_import_HU8_09040002_20231217 |
5/12/2024 | Southern Glacier National Park east of the Continental Divide | HU 8 - 09040001 | 12/17/2023 | NHD_import_HU8_09040001_20231217 |
5/13/2024 - 5/16/2024 | Southern Glacier National Park west of the Contnental Divide | HU 8 - 17010207 | 12/20/2023 | NHD_import_HU8_17010207_20231220 |
5/16/2024 - 5/19/2024 | Northern Glacier National Park west of the Contnental Divide | HU 8 - 17010206 | 12/20/2023 | NHD_import_HU8_17010206_20231220 |
6/1/2024 - 6/15/2024 | Blue River and tributaries near Dillon, Colorado | HU 8 - 14010002 | 12/20/2023 | NHD_import_HU8_14010002_20231220 |
6/15/2024 - 6/28/2024 | Colorado River tributaries, Glenwood Springs, Colorado to Utah state line | HU 8 - 14010005 | 12/20/2023 | NHD_import_HU8_14010005_20231220 |
10/10/2024 | Clear Creek and tributaries west of Denver | HU 8 - 10190004 | 10/21/2019 | NHD_import_HU8_10190004_20191021 |
10/15/2024 - 10/22/2024 | Boulder Creek and tributaries near Boulder, Colorado | HU 8 - 10190005 | 12/17/2023 | NHD_import_HU8_10190005_20231217 |
10/23/2024 - 10/28/2024 | Big Thompson River drainage near Loveland, Colorado | HU 8 - 10190006 | 12/17/2023 | NHD_HR_import_HU8_10190006_20231217 |
10/30/2024 - 11/3/2024 | Cache La Poudre River drainage near Fort Collins, Colorado | HU 8 - 10190007 | 12/17/2023 | NHD_HR_import_HU8_10190007_20231217 |
11/5/2024 | Lone Tree Creek near Greeley, Colorado | HU 8 - 10190008 | 12/17/2023 | NHD_import_HU8_10190007_20231217 |