Project Description

Our waterways and wetlands have an important role in our everyday lives and the more knowledge we have about them, the better. Hydrological data is water height data, groundwater modeling, and stage gauging of rivers, reservoirs, lakes and other waterways. This data is important when it comes to flood prediction/prevention, water management, and public education/knowledge. If we have more data, we can more fully understand how rainfall fluctuation affects a specific area. Flooding is one of the most destructive aspects of increased amounts of rainfall and can result in loss of homes and even death. Although we can never fully predict how severe a flood will be, we can better understand how increased rainfall will affect that area if we have the data. Our project is a cost efficient crowd sourced mobile hydrology application to promote the collection of hydrological data. We also aim to educate our users on why the collection of this data is so important via data visualization. With our application a user will be able to submit water depth from a specific area and view on a graph the impact of their submission. More details on this are available on the solution overview.

The initial concept for this project was provided by our sponsor, in the form of a Capstone project proposal.


Right now the United States Geological Survey (USGS) collects most of the hydrological data in the U.S., but the problem with this is that they only collect data from large waterways and reservoirs. This is because the gauges they set up to collect this data are extremely expensive so they usually do not collect data on smaller waterways or ephemeral rivers, which are rivers without flowing water all the time. We need to understand how rainfall fluctuation affects certain areas not gauged by USGS. Without this knowledge, certain areas could be negatively affected by increased amounts of rainfall. Having more data is also important because then we can more fully educate the public on hydrological information and its importance. Having the public understand why we need to continue collecting this type of data is important, especially when it comes to our solution.

Solution Overview

We have built a mobile application that will use crowdsourcing data from citizen hydrologists to collect data in small and ephemeral waterways where the data isn’t currently being collected, as well as to educate the public on the data that they are collecting. This will be a faster and more efficient way to collect this data with image processing being done directly on the device and allowing the user to adjust the result of the initial image processing. It will also use caching to allow users to use the application while they don’t have an internet connection. We have six key modules: the image processor that takes an image and produces a result showing the top of the pole and the top of the water line. The notification manager is in control of informing the user on things such as if it is raining, if a gauge is flooding or if a gauge hasn’t had data collected from it in a while. The data visualizer is in charge of producing the graph that plots the users collected data, data collected by other users, as well as the flood line for that gauge. The user accounts is in charge of maintaining a database for the users email and password combinations that make their account and allows logged in users to access notification settings. Finally our database will hold not only the user accounts, but the data that is submitted by the user.

High Level Requirements

During the Fall 2017 semester, we worked with our client and mentor to develop the requirements document which outlined all of the functionalities and restrictions that our final product would have to adhere to. We had many meetings with our client and also developed a feasibility prototype to demonstrate that the core functionalities of the mobile application would be feasible.

Our High Level requirements include offline functionality, user adjustments to improve measurement accuracy, a database which must store both images and collected water data, data visualization to provide feedback to the user, gamification to retain continued user interest in the application, notifications to remind users to collect data, image processing to measure water depth, and the application must also run on modern Android devices.

If you would like a more detailed description of our requirements for this capstone project, please refer to our Requirements Document, which is available in the Archives section of this website.