diff --git a/dashboard.Rmd b/dashboard.Rmd index 0b56c6b..a46f8a0 100644 --- a/dashboard.Rmd +++ b/dashboard.Rmd @@ -219,13 +219,6 @@ observe({ unique_lfs <- get_unique_lf_ids(storm_selection) - #updateSelectInput( - # session, - # "storm_overview_cost_index_lf", - # choices = unique_lfs$full_lf_id, - # selected = unique_lfs$full_lf_id[1] - #) - updateVirtualSelect( session = session, "storm_overview_cost_index_lf_select", @@ -263,13 +256,36 @@ output$track_map <- renderLeaflet({ }) observe({ - req(storm_selection$is_selected) + req(storm_selection) storm_track <- storm_track() + + first_lf <- storm_track %>% + filter( + record_identifier == "L" + ) %>% + arrange( + desc(datetime) + ) + + if(nrow(first_lf) > 0) { + map_center <- first_lf %>% + head(1) + }else{ + map_center <- data.frame( + lon = c(-76), + lat = c(35) + ) + } leafletProxy("track_map", data = storm_track) %>% clearShapes() %>% clearMarkers() %>% + setView( + lng = map_center$lon, + lat = map_center$lat, + zoom = 4 + ) %>% addPolylines( data = storm_track, lng = ~lon, @@ -308,9 +324,9 @@ leafletOutput("track_map", height = "100%") output$track_data <- renderDT({ datatable( - storm_track() %>% select(datetime, lon, lat, rmw, pressure, windspeed, record_identifier), + storm_track() %>% select(datetime, storm_status, lon, lat, rmw, pressure, windspeed, record_identifier), rownames = F, - colnames = c("Date", "Longitude", "Latitude", "RMW (NM)", "Pressure (mb)", "Windpseed (KT)", "Identifier"), + colnames = c("Date", "Status", "Lon", "Lat", "RMW", "Pressure", "Windpseed", "Identifier"), selection = "none", options = list( pageLength = 1000, diff --git a/queries.R b/queries.R index 46a46bc..d8a1cdb 100644 --- a/queries.R +++ b/queries.R @@ -285,6 +285,7 @@ get_hurdat_track <- function(storm) { ) %>% select( datetime, + storm_status, lon, lat, rmw,