CUAHSI / HydroDesktop

HydroDesktop is a free and open source GIS enabled desktop application that helps you search for, download, visualize, and analyze hydrologic and climate data registered with the CUAHSI Hydrologic Information System. HydroDesktop is part of the legacy CUAHSI toolkit and is not under active development. Click the "releases" link below to download the latest installer for Microsoft Windows.
73 stars 20 forks source link

Integrate Metadata Fetcher with Search #40

Open xhqiao89 opened 7 years ago

xhqiao89 commented 7 years ago

jirikadlec2[CodePlex]
The general goal of this re-design is to simplify the management and discovery of data sources that are not registered at HIS Central.

Add a button 'Add data source' to the Data Sources dialog in the search tab. This clicking this button launches the existing quotService Managementquot dialog for adding an unpublished WaterOneFlow service URL (currently this dialog can be launched from the 'table' tab in the Metadata Fetcher extension) after downloading metadata from the service, the quotKeywordquot list and keyword tree is updated by adding an extra node 'Other Keywords' to the tree view and adding all variable names from the newly added service as child nodes of the 'Other Keywords' node. after downloading metadata from the service, the 'Data Sources' list is expanded by adding a section 'User Data Sources' and adding the user-defined service in this section. When user runs search, then the search also searches across series from the user-defined service(s). The searcher should only try to search across user-defined services in the metadata cache DB if the bounding box of the user-defined service overlaps the search area and if the selected keyword is one of the keywords provided by the user defined service.

(Note: if the variable names in the registered service follow the ODM controlled vocabulary convention, then no extra keywords need to be added to the tree view. This would require that HydroDesktop has a lookup between HIS Central concept keywords and controlled vocabulary variable names)

xhqiao89 commented 7 years ago

cuylerfris[CodePlex]
Discussion required - leaving marked as proposed.

xhqiao89 commented 7 years ago

jirikadlec2[CodePlex]
Items 1. and 2. are already implemented. Item 3. requires populating the OntologyConcepts table in HydroDesktop's database and retrieving the list of keywords from this table instead of the ontologyTree.xml file.

We must ask: If the users search on a local data source, do they really want to see all keywords, or only the keywords that are associated with the local data source? (the same applies to restricting data sources to sources that have data in the specified area and time range...)

xhqiao89 commented 7 years ago

twhitvine[CodePlex]
Without a means of associating ontology keywords with variables from an unregistered source, I think this approach is good. But I recommend implementing a way of mapping the variables to keywords. Otherwise, I see these potential causes of confusion, for which we'll have to devise workarounds:

Suppose unregistered service has variable Total Nitrogen. User selects Nutrients in the keyword tree and adds that keyword. Search will not return Total Nitrogen series b/c Total Nitrogen hasn't been tagged to anything under Nutrients, namely, Nitrogen, total. Suppose unregistered service has variable Temperature, air. This also happens to be a keyword. Ideally, the keyword wouldn't appear twice in the list of keywords. But we also need to make sure the unregistered service returns results if the user selects the parent Temperature keyword in the tree view. (I don't know if you can even search on Temperature but the point is, we need to figure out what to do if a variable name is the same as an existing keyword.) Maybe the solution here is to go ahead and map the variable to the keyword with the same name. This requires that HydroDesktop support local ontology mapping.