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

Add support for WaterML 2 #124

Open xhqiao89 opened 6 years ago

xhqiao89 commented 6 years ago

danames[CodePlex]
We need to add support for WaterML 2 end points.

Notes from David Valentine:

Can we again try a unit testable approach to code in HD? WaterML2 will be some different. Organizations will have quirks that meet the specification.

Attached are some files converted with an XSLT, and the mapping used.

The USGS presently says they will out in NWIS, but it needs to be vetted.

get sample WaterML2 files I have some. We will need to collect a few others write code to inject these files into the pipeline... since WaterML 1 files are downloaded, and then read it this is not a big change.

*** (service -gt download to disk -gt read from disk -gt parse -gt load to object -gt load to db )

Basically, we start doing waterML 2 from the read from disk format checking validate schematron validation? load to object need mapping objects/functions validate loading load to db ** validate loading for a file

Then whenever a quirk is identified, we add the quirk to the WML2 file repository, write tests for that files quirks, mapping code to handle quirks

hdObject fromWaterML2(stream wml2, bool validate, bool schematron, object/function processMapping, object/function VocabMapping)

WaterML2 Documentation page: http://www.waterml2.org

Rest Endpoint: http://water.sdsc.edu/lbrsdsc/WaterMl2.aspx

SOS endpoint from kisters: http://kiwis.kisters.de/KiWIS/KiWIS?datasource=3service=SOSversion=2.0request=GetCapabilities

http://kiwis.kisters.de/KiWIS/KiWIS?datasource=0service=SOSversion=1.0request=GetCapabilities

More WaterML2 examples: http://crwr-wisk03.austin.utexas.edu:8080/KiWIS/KiWIS?service=kisterstype=queryServicesrequest=gettimeseriesvaluesdatasource=0format=wml2ts_id=30559042period=P2W

WaterML2 New Zealand Example: http://hilltopserver.horizons.govt.nz/data.hts?service=SOSrequest=GetObservationfeatureOfInterest=Rangitikei%20at%20OnepuhiObservedProperty=FlowtemporalFilter=om:phenomenomTime,2013-10-01/2013-10-05

WaterML2 WFS example from Finnish Meteorological Institute: http://data.fmi.fi/fmi-apikey/1cb8a6f3-d8f4-4ae7-8fc3-0b9449683cfb/wfs?request=getFeaturestoredquery_id=fmi::observations::weather::daily::timevaluepairfmisid=101152starttime=2013-02-27T00:00:00Zendtime=2013-03-27T10:00:00Zparameters=snow

xhqiao89 commented 6 years ago

danames[CodePlex]
Let's focus on water ml 2 visa rest api. we will get the url from an attribute of a point feature obtained from a WFS service...

xhqiao89 commented 6 years ago

mogikanin[CodePlex]
Hi, how the HD should download data in WML2 format? For WML1.0/1.1 we are using WaterOneFlow services other SOAP protocol. Listed services uses various APIs for downloading WML2 with different parameters in GET requests.

If HD will use REST protocol for WaterML 2 end points, how we will distinguish SOAP services and REST services?

xhqiao89 commented 6 years ago

jacobean[CodePlex]
Does anyone know of any schematron libraries we could use? I was looking into it and it seems like most people have stopped using schematron.