Nels Frazier - A Hydrology Data (HydroData) plugin For QuantumGIS (QGIS)
-
Upload
consortium-of-universities-for-the-advancement-of-hydrologic-science-inc -
Category
Documents
-
view
33 -
download
0
description
Transcript of Nels Frazier - A Hydrology Data (HydroData) plugin For QuantumGIS (QGIS)
HydroQGIS
A Hydrology Data (HydroData) pluginFor QuantumGIS (QGIS)
Nels FrazierUniversity of Wyoming
Example Workflow● Flood Frequency Analysis using HEC-FQ:
− Find USGS Stations in Area of Interest− Download Peak Flow data from USGS for each
station− Convert each series to HEC-FQ input format− Run HEC-FQ (Requires DOS emulator!) for each
station− Parse output to use for analysis− Analyze results
Motivation● Problem:
− Hydrology produces data across space and time− Research hampered by complicated workflows
● Goal:− Reduce steps in data life cycle via automation− Develop tools for finding, displaying, and
processing hydrological data− Cross-Platform, easy to use, simplified workflow
HydroQGIS Workflow
● Flood Frequency Analysis using HydroQGIS:− Identify a watershed (Optional)− Find USGS Stations− Run Flood Frequency Analysis− Analyze results
HydroQGIS Watershed Delineation
● With one click:− Get coordinates from mouse click− Call the EPA Waters web service− Add polygon to map layer
Station Search
● With one click:− Get coordinates from mouse click− Call the USGS Water Services web service− Add NWIS stations, located within X miles of
clicked point, to the map
Flood Frequency Analysis
● Select one or more features, or an entire layer, containing USGS site codes
● With one click:− Download Peak Flow Data from USGS− Perform flood frequency analysis− Plot frequency curve− Save output
Frequency Curves
Numerical Outputs
● Numerical outputs saved in CSV format for easy re-use
− Frequency Curve− Confidence Intervals− Plotting Positions
Implementation Details● QGIS
− Full Python API− Plugin Framework
− Cross-platform, open source
− Qt-Designer for building GUI's
● Q-Threads− Tools are threaded for performance
− All network related tasks are threaded
− Keeps the QGIS application responsive and available to multi-task
Modularity● Services and Tools implemented independently● New tools can easily be added to the framework● Python Foo could allow for dynamic loading of new tools
− This would allow for simple drop-in of code directory to add features
● Rapid Development/Prototyping− Full use of Python Modules/Packages
− No compilation required
− Easily added to any QGIS installation
Benefits● Cross Platform, Open Source Solution
● Consistent, integrated environment
● Free GIS tools
● Community Support
● Development focuses on research and data
Future Development● Integration with Data Providers
● Precipitation interpolation tools
● User Selected Instantaneous Values Data Download and Plotting
● Integration with Climata − Python package for accessing hydrologically relevant data
from multiple public data sources
AcknowledgementsThis work was started in the Fall 2014 Hydroinformatics course as a class project at the University of Wyoming. The following people have contributed code and/or proofs of concept for utilities that are or will be integrated into HydroQGIS:
● Jason Regina− NWIS Station Search
● Yanyan Cheng− Rainfall Interpolation using IDW method
● Leticia Pureza− USGS Instantaneous Values Data Download
● Guy Litt− Interfacing with Climata
References● Climata
− http://github.com/heigeo/climata
● EPA WATERS− http://www.epa.gov/waters/
● NWIS− http://waterdata.usgs.gov/
● QGIS− http://www.qgis.org/