Giter Club home page Giter Club logo

about-us's People

Contributors

btw19 avatar pattersonla avatar peytoncox18 avatar roywang00 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

btw19

about-us's Issues

Create map icons for water data points

We require icons to be displayed on our map for a variety of different

Icons should be:

  1. Differentiable by different types (stream gage, precipitation, reservoir level) - can differentiate them either by shape or color, etc
  2. When clicked/hovered, should display a tooltip that provides summary information about the relative performance of that particular water data point (stream gage, water level, etc). This can be a placeholder for now until we integrate the data.

Implement zipcode fallback for geolocation

If we can't geolocate a user's address, we should provide them an approximation based on their zipcode.

Task is complete when we've modified the website internals to:

  1. If geolocation fails, try and find the zipcode's centroid using Nominatim or other
  2. Provide geolocation to user on map, with warning that geolocation isn't completely precise

Integrate utility polygons with search endpoint on website

We want the website to be able to use our new interactive map with utilities.

The task is complete when:

  1. The interactive map with utility polygons is shown on the search endpoint
  2. The map automatically zooms to the correct location based on the original address
  3. Icon is displayed indicating the estimated location of user's address

Download USGS Streamgage data

In order to visualize data, we must first download it.

We will download all NWIS streamgage observations for the year of 2019 in the state of North Carolina, and output the results to a CSV. Recommended to use the HydroData Python library to successfully download this data.

Task is complete when data is successfully downloaded and file location specified in the Data Sources Wiki

Download streamgage data

We require historical streamgage data for every USGS streamgage in North Carolina from 1990 to 2020.

The task is complete when we possess a CSV or other database file that indicates streamgage-level data at a daily level at least. Higher time granularity is preferred, but not necessary if it takes too long to download.
Task should also include writing a function that will allow us to update the CSV with new data if we run it every day.

Determine user's utility based on geolocation

We need to efficiently determine a user's utility based on the lat/long coordinates of their address.

The required outcome from this issue is to create a function that accepts a latitude/longitude pair, and outputs the ID (PWSID) of the appropriate utility.

Utility Manager Needed Features

Needed features for utility manager include:

  • DONE Map that displays hydrological data points of interest (streams, reservoirs, etc) as markers
  • PARTIALLY DONE Graph that displays relevant information about water resource/utility
  • DONE Ability to filter map data based on: type of water resource
  • relationship with specific utilities
  • Ability to filter graph/map data based on date
  • Ability to recolor water resource markers and utility boundaries based on arbitrary features
  • Interactivity between map/graph - click on feature in map leads to loading graph
  • Link to information about water resource displayed when water resource is clicked
  • Link to utility/conservation plan displayed when utility is clicked
  • Ability to show/hide data based on checkboxes

Stretch goals:
Search bar to pan to location

Beautify utility polygons

We want the utility polygons to have the following behaviors:

  1. Zoom the map to the correct location based on the user-provided address
  2. Make the polygons slightly transparent so that we can view the map underneath
  3. Add a border to each of the polygons
  4. (Reach goal) Make each of the polygons a different color - it can be random, but it might help the viewer distinguish between polygons. We can either make them different colors, like this map https://www.amazon.in/India-Political-Wall-27-5x32-inches/dp/B00VJW1E4E or make them all one shade, like this https://www.muralswallpaper.com/shop-murals/shaded-blue-political-map-mural/

Identify computing resources

We require computing resources.

In particular, we will need shared computing resources to:

  1. Host a web service
  2. Store data files where they are accessible by all team members
  3. (Potentially) host a database
  4. (Potentially) run expensive computational tasks
  5. Ensure that we are able to synchronize code environments
  6. Install software as needed

This task will be complete when we have identified servers or shared file mounts that each team member can access via SSH at least.

Download PRISM temperature data

We will download all 30 year normals temperature and precipitation data for the year of 2019, identify which weather stations are in North Carolina, and save it as a CSV file.

Fix `GET` issue on search endpoint

Right now, if a user visits the search endpoint of the website without providing a geocoded address, a server error is thrown.

Task is complete when user can visit the /search endpoint directly, with reasonable behavior. Programmer to determine what reasonable behavior means - perhaps serve a more basic version of the page, without identifying the utility, etc

Create Website Skeleton

We need a website skeleton so we can begin pushing out results to our users. Initially, the website can be 'ugly' - i.e. no pretty formatting, to allow us to quickly iterate on gluing together the functional elements.

The website will:

  • Have a flask server that allows us to service HTTP requests
  • Have a homepage that displays all of the endpoints a user can visit
  • Endpoint 1: A page that allows users to input an address
  • Endpoint 2: A page that will display a map, zoomed to some lat/long coordinates

Fake Issue #1

The flux capacitor is not functioning as advertised - we need to fix this

Download census block data for North Carolina

We will require census data in order to visualize it.

This task is complete when block-level census data for North Carolina data is downloaded and written to a CSV. As many demographic characteristics should be recorded as possible, but at least race, ethnicity, age, education level, and income level should be included. It is recommended that we use the censusdata Python package to interface with the census API. If any API keys needed to be created, please attach them to this ticket.

Identify address geocoding solution

Users of the DroughtDashboard need to be able to determine which utility is providing their water, and this requires mapping a physical address to a geolocation (latitude/longitude coordinates).

This task will be complete when we have identified a feasible geocoding solution. Tests will be run regarding the selection criteria below using a few sample addresses. If this solution costs money, we will ensure that these costs are acceptable with client.

Selection criteria for a geocoding service will include:

  1. How much does it cost per use?
  2. How sensitive is it to error (i.e. if I fat-finger my address, will it help me correct it?)
  3. How fast/reliable is it?
  4. How correct is it?

Gather website, contact info for utilites

We need website, contact information for utilities in a tabular form so it can be displayed to the user. Ideally, this represents a table that contains the following columns:

  • PWSID
  • Phone number
  • Email
  • Website
  • Human Readable Utility Name

Contact @Peytoncox18 before starting - she has some of these fields gathered already

Create 'About-Us' writeup for website

Produce a write-up that includes information on project contributors, contact information, and description on what the project has set out to do.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.