What is the Network-Linked Data Index?
The Network-Linked Data Index (NLDI) is a system that can index spatial and river network-linked data and navigate the river network to allow discovery of indexed information. The NLDI is a core product of the Open Water Data Initiative, coordinated through the Advisory Committee on Water Information (ACWI) Subcommittee on Spatial Water Data.
Four components make up the system:
- A core river network and inter-node catchment dataset from the NHDPlus.
- A network navigation capability that traverses the river network data.
- Multiple indexing capabilities that can crawl registered sources and add them to the index.
- Navigation services that provide programmers access to the navigation capabilities and indexed content.
The public face of the NLDI is a search service that takes a watershed identifier as a starting point, a navigation mode to perform, and the type of data desired in response to the request.
- The watershed identifier starting point can be an NHDPlus comid or an identifier of one of the indexed data sources.
- Navigation modes include upstream with tributaries, downstream with diversions, and up or downstream on the main stem. The navigation mode can also be limited with a distance to navigate.
- River network flow line data or sites or other data from indexed sources that were found on the network can be requested.
The search service has been developed using a generally RESTful design.
See the swagger documentation here: https://cida.usgs.gov/nldi/swagger-ui.html
- A query to the base of the NLDI services returns the identifier types that are available as navigation starting points.
- A query for an identifier type and identifier from that source returns the navigation options available from that starting point.
- A query to navigate with one of the options returns the response types available for that navigation mode
- A fully qualified query returns a GeoJSON representation of the resource and may include other optional representations in the future.
Development methodology and issue tracking:
The NLDI is being developed as an open source project on github. Most of the project code and open issues are housed in the NLDI-Services repository at: https://github.com/ACWI-SSWD/nldi-services The crawler code and database code is housed in other repositories in the ACWI-SSWD group here: https://github.com/ACWI-SSWD The project is built and tested using the Travis continuous integration service here: https://travis-ci.org/ACWI-SSWD/nldi-services. Anyone interested in adding new functionality is encouraged to fork the repository, let others who follow the repository know you are working on one of the existing issues or a new one, and submit new functionality via pull request.
Example service requests:
https://cida.usgs.gov/nldi/ returns a list of data sources available from the NLDI.
A feature source ID needs to be found via other means, such as a map of known features.
For our example, we’ll use a USGS stream gage: http://waterdata.usgs.gov/usa/nwis/uv?05430175
Once a feature source id is found, it can be retrieved like:
This response includes a navigation url like:
This URL returns navigation options. Choosing one, we can get the associated flow lines like:
https://cida.usgs.gov/nldi/nwissite/USGS-05429700/navigate/UT for upstream with tributaries.
If another source feature type is desired, it can be accessed like:
https://cida.usgs.gov/nldi/nwissite/USGS-05429700/navigate/UT/wqp for water quality portal sites.
A new function that is available on NLDI is basin boundaries. They are only enabled for NHDPlus COMIDs which can be found at the main source feature page like:
If we navigate for the comid associated with that nwissite and add ‘basin’ to the upstream with tributaries navigation, we get a basin boundary.
Example using the demo app:
A simple demo application is available at: http://cida.usgs.gov/nldi/about/demo
Select huc12pp as a source and paste the HUC 180201251003 into the identifier field. This is a HUC where the Yuba river flows into the Feather river at Yuba City, CA.
Select a query type and check what data you want to display and click submit. The corresponding data is then shown on the map.
Any HUC12, comid, or water quality portal site can be used as the starting point and these can be discovered through navigation by clicking on returned features to get their identifier.
This demo app may be improved in the future, but gives a good basic interface to test the NLDI.
How to contribute network-linked content
Content to be added to the NLDI needs to be available as a shapefile, which can be served to the NLDI crawler via https://sciencebase.gov, or as a web-accessible file containing geojson points. Required attributes include: 1) an ID suitable for use in a url, 2) a descriptive name, and 3) a url that can be used to access information about each feature. The url is not explicitly required but is strongly recommended. Given this information, the NLDI crawler code will match each point to an NHDPlus catchment and the data will be available via NLDI search services. Contact email@example.com to coordinate addition of data sources.