Skip to content

SwiftUI based app to view USGS Stream Gage stations locations and the National Weather Service's Advanced Hydrologic Prediction Service output for each station.

License

Notifications You must be signed in to change notification settings

FishheadNate/FloodNotice-iOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 

Repository files navigation

FloodNotice-iOS

Swift based iOS app to view stream gages with coverage by the National Weather Service's Advanced Hydrologic Prediction Service.

Overview

flowchart LR
    srcJSON[(<br>JSON of Stream Gages)]
    srcJSON --> mmv1(Interactive map<br>displaying all<br>stream gage locations)
    srcJSON --> lv1(Stream gages<br>ordered by state<br>then waterbody name)
    
    subgraph Main Map View
    mmv1
    end
    
    subgraph List View
    lv1
    end
    
    mmv1 -->|Select stream gage<br>by location|queryJSON{Query JSON for<br>stream gage data}
    lv1 -->|Select stream gage<br>by name|queryJSON
    
    queryJSON --> nwsID[(<br>NWS ID)]
    queryJSON --> gageGeo[(<br>Stream Gage<br>Geometry)]
    queryJSON --> gageWB[(<br>Waterbody Name)]
    queryJSON --> gageLoc[(<br>Location<br>Description)]
    
    gageGeo --> sgv1(Thumbnail map)
    gageWB --> sgv2(General description<br>of stream gage location)
    gageLoc --> sgv2
    nwsID --> parseXML{Retrieve & Parse<br>NWS AHPS data}
    
    parseXML --> floodStages[(<br>Flood Stages)]
    parseXML --> observations[(<br>Observations)]
    parseXML --> forecast[(<br>Forecast)]
    
    observations --> sgv3(Current Stream Flow Status)
    floodStages --> sgv4(Gage heights for Flood Stages)
    observations --> sgv5(Most recent observation)
    forecast --> sgv6(Stream flow forecast)
    
    subgraph Stream Gage View
    sgv1
    sgv2
    sgv3
    sgv4
    sgv5
    sgv6
    end
Loading

Demo

Simulator Screen Recording - iPhone 14 Pro - 2022-10-06 at 14 30 40


Current Coverage

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "id": 1,
      "properties": {
        "ID": 0
      },
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
              [-97.26691933,37.60076195],
              [-97.26691933,34.64466615],
              [-89.50761168,34.64466615],
              [-89.50761168,37.60076195],
              [-97.26691933,37.60076195]
          ]
        ]
      }
    }
  ]
}
Loading

License

FloodNotice is released under the MIT license. See LICENSE for details.

About

SwiftUI based app to view USGS Stream Gage stations locations and the National Weather Service's Advanced Hydrologic Prediction Service output for each station.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages