OpenHistoricalMap/Projects/National Hydrography Dataset import

From OpenStreetMap Wiki
Jump to navigation Jump to search

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