The HIS Central Catalog has an open API that we use in developing our search applications and is available to anyone who wishes to write their own software. The supported methods are listed on the HIS Central website and there is also a service description page.
The operations supported by the HIS Central API is listed below:
GetWaterOneFlowServiceInfo(): Provides a list of all the services registered with HIS Central.
- Required parameters: None
- Returns: (array of Service Info) a list of registered services with service metadata as available in the HIS Networks table
GetServicesInBox(): Provides a list of all the services which overlap a specific region.
- Required parameters: Geographic bounding box to search in.
- Returns: (array of Service Info) a list of registered services.
GetSitesInBox (): Provides the site information necessary to display sites on a map and request more information about series.
- Required parameters: Geography Bounding Box (box)- The geographic envelope in which to search; Concept Keyword (string) – Keyword passed must match an existing searchable keyword, or be an empty string that will search all time series; NetworkIDs (array of integers) - The HIS Central Network ID's that will be included in the search. Passing an empty array will search all registered networks.
- Returns: (array of sites) list of all sites that fall within the bounding box, have variables that are mapped to or fall under the Ontology Concept keyword, and are within the list of services)
GetSeriesCatalogForBox (): This is primary method for searching the catalog. It provides series record information, which is then used by the client to create data carts and obtain data values from the registered service.
- Required parameters: Geographic Bounding Box - The geographic envelope in which to search; Concept Keyword (string); NetworkIDs (array of integers)- The HIS Central Network ID's that will be included in the search. Passing an empty array will search all registered networks; BeginDate (string) – formatted ” 1/1/2000” or “ 01/01/2000”; EndDate (string)
- Returns: (array of seriesRecords) The series catalog within a specified Lat/Lon box which also match the keyword query.
GetSearchableConcepts(): Provides a list of all searchable keyword concepts. 26
- Required parameters: none.
- Returns: (array of strings) a list of all searchable concepts from the HIS ontology. Searchable concepts include “branch” concepts as well as “Leaf” concepts. Higher level branches are not included as they are too broad
GetOntologyTree(): Provides a portion of a the ontology tree, as a tree structure.
- Required parameters: Keyword (string) - must match existing keywords
- Returns: (OntologyNode) a tree of concepts in XML format, starting with the input concept as the root and including its child nodes. Passing in a “Branch” concept. (Passing “HydroSphere” returns then entire ontology).
GetWordList(): Provides a list of keywords which match a character sequence passed to it.
- Required parameters: PrefixText - (string) text to search on. May be prefix or a portion of text within the keyword (searching for “flow” will return “streamflow”); Count - (integer )max number of results to return
- Returns: (array of strings) a list of keywords which contain the passed in search text. This method would provide “intellisense” for keyword entry box, to steer clients towards the known keywords.