Feedback on requests and responses
Geoconnex is a decentralized metadata catalog that incorporates information about data collected by any organization publishing water data, including the spatial, temporal, and topical subjects of that data.
We are developing an API to allow programmatic access to this catalog
for potential new data publishing organizations to enrich their own metadata
for data analysts and tool developers to discover water metadata, like a specialized Google search for water data.
What kind of water data do you work with?
How do you normally find water data?
What, if any, challenges do you have finding water data from particular or unfamiliar sources?
https://api.geoconnex.us
Services to discover and filter water datasets by:
Space/Geometry | Measurement/Modeling Method |
Organization/ data provider | Temporal resolution |
Site Type (eg stream, well, dam) | Temporal coverage |
Parameter/Variable/Observed Property | Feature of Interest |
https://api.geoconnex.us…
id | provider | name | description | methodType | url |
---|---|---|---|---|---|
noaa-ahps | ahps | ahps | NOAA Advanced Hydrological Prediction Service | forecast | https://water.weather.gov/ahps/about/about.php |
usgs-streamflow | nwis | WSP-2175 | Streamflow measurement and computation | in-situ observation | https://pubs.usgs.gov/wsp/wsp2175/wsp2175.pdf |
usgs-groundwater_level-tape | nwis | GWPD1 | Measuring water levels by use of a graduated steel tape | in-situ observation | https://pubs.usgs.gov/tm/1a1/pdf/GWPD1.pdf |
Data discovery tools will follow the OGC-API Processes standard, and thus we refer to them as processes. The following tools are proposed:
process name | description |
---|---|
referenceMyLocations | POST a geospatial dataset of your own locations, find candidate geoconnex reference locations that may correspond to them already |
findFeatures 10 | GET or POST query parameters to find features of relevance |
navigateFeatures 11 | GET all hydrologically relevant monitoring features for a given longitude and latitude or feature identifier |
findDatasets 12 | POST an array of feature identifiers and an array of query parameters to find relevant dataset metadata] |
referenceMyLocation Inputs:
input data: a geospatial dataset with at least an ID field
locationType: from /locationType codelist (eg “gage”, “well”, “dam”)
POST to /processes/referenceMyLocations
Input:
locationType: “gage”
input data:
POST to /processes/referenceMyLocations
Output:
use findFeatures discover locations within a bounding box, radius around a point, or arbitrary spatial polygon, or relevant to reference feature (eg a river or aquifer) or cataloging feature (eg a an administrative boundary or HUC)
If desired, use navigateFeatures to find all sites downstream and/or upstream of a site identified by a geoconnex http URI or a latitude/longitude
use findDatasets, given a list of URIs and query parameters for provider, observedProperty, period of record, etc., be given links to datasets relevant to your question that are about the locations found by findFeatures and/or navigateFeatures calls
input | number of elements | example or description |
---|---|---|
locationTypes | min:0, max: inf | ["gages", "wells"] |
providers | min:0, max: inf | NULL 13, or ["nwis","rise"] |
catalogingFeatures | min:1, max: inf | {"hu02:"14", "state":["CA","AZ"]} |
hydrologicFeature | min:0, max: inf | ["https://geoconnex.us/ref/mainstems/1"] |
polygon | min:0, max:1 | any multipolygon or polygon geometry |
bbox | min:0, max:1 | xmin, xmax, ymin, ymax |
radius | min: 0, max: 1 | lat, lon, distance in km |
geospatial dataset of all locations meeting input field criteria, with fields:
uri eg https://geoconnex.us/foo
name (by provider) eg
name: "colorado river at bridge x"
, provider: "nwis"
name: "station WQX1234"
, provider: "storet"
locationType (eg "stream"
)
Cataloging Features uri for every catalogingFeatureCollection eg:
all relevant Hydrologic Features eg: mainstem: https://geoconnex.us/ref/mainstems/29559
Learn more: geoconnex.us
hydro_relation:
“upstream mainstem/tributary” or “downstream mainstem/diversion”
distance_km: integer
all attributes as from findFeatures
inputs:
lat: 35.45
lon: -105.14
upstream: tributaries
downstream: mainstem
distance: 3000 catalogingFeatures: https://geoconnex.us/ref/states/35
outputs:
As a data user, I would use findDatasets to discover all datasets about topics I am interested about, that are relevant to sites a set of sites in the geoconnex system that I am already interested in.
Inputs: a list of geoconnex URIs from findFeatures and/or navigateFeatures, and query parameters to filter datasets relevant to my topic of interest
Outputs: a table or array of dataset metadata, including which geoconnex URI datasets are relevant to.
null
(all) or array of 1 or more providersnull
(all) or array of 1 or more observed Property codesAn table of dataset metadata with the following fields
Feel free to continue to peruse this presentation
Send any additional feedback to konda@lincolninst.edu
an array of API endpoints in the OGC-API Processes standard for more specific queries that may use the below as query parameters
a nested json array of types of locations available and their definition for each (e.g. [{“id”:“dam”, “name”:“dam”, “description”: “a structure creating an impounded body of water on a stream”)},{“name”:“stream”, “description”: “a flowing body of water on the surface”}])
types of hydrologic (eg river, aquifer) and cataloging (e.g. HUC, catchment, county, state, municipality) features that data may be about or relevant to
an array of the names and identifiers the reference features of a given type
an array of identifiers, names, and URLs for data publication systems and their parent organizations (eg, nwis, National Water Information System, waterdata.usgs.gov, usgs.gov)
an array of identfiers, names, and provider identifiers for observed properties (also often known as parameters, variables, data types) eg {“id”:“inflow_lake”, “name”:“Lake/Reservoir Inflow”,“provider”:“nwis”}.
an array of identifiers, names, and definitions for broad categories of methods and their definitions (eg “id”:“obs”,“name”:“in-situ observation”,“definition”:“observation from an in-situ sensor or sample from a site visit”). Also include “remote sensing”, “estimation”, “simulation model”, “forecast”, “statistical summary”.
an array id ids, names, descriptions, and links to documentation for specific data production methods/sensor eg {“id”:“noaa-ahps” ,“provider”:“noaa”, “name”:“ahps”, “description”:“NOAA Advanced Hydrologic Prediction Service River Forecast Model”,“methodType”:“forecast”, “url”: “https://water.weather.gov/ahps/about/about.php”}
an array of time spacings of datasets available from sites eg [“unknown”,“intermittent”,“discrete”,“event”,“1 second”, “15 minute”, “1 day”, “1 year”]
similar to NWIS Site Service
similar to NLDI or upstream/downstream EPA RAD/WATERS
similar to whatNWISdata function from dataRetrieval
retrieves from all providers
to pre-filter results by location type
to pre-filter results by provider
useful if you want to restrict hydrologic navigation to certain non-hydrologic boundaries
to avoid conflicts between specifying a certain in-situ method and the methodType ’forecast”, for example