diff --git a/app/server.R b/app/server.R index fb55592..1aa97cc 100644 --- a/app/server.R +++ b/app/server.R @@ -20,6 +20,7 @@ server <- function(input, output, session) { ) )) ) %>% + mutate(total_direct_deaths = as.integer(total_direct_deaths)) %>% select( hurdatid, storm_name, @@ -65,7 +66,7 @@ server <- function(input, output, session) { selection = "single", options = list( pageLength = 1000, - order = list(0, 'desc'), + order = list(4, 'desc'), searching = F, paging = F, info = F, @@ -842,13 +843,13 @@ server <- function(input, output, session) { fatalities <- get_fatality_map(storm_selection) category_colors <- c( - "Wind" = "#cd2626", - "Surf" = "#4f94cd", - "Offshore" = "#5cacee", - "Storm Surge" = "#4682b4", + "Wind" = "#cd2626", + "Surf" = "#4f94cd", + "Offshore" = "#5cacee", + "Storm Surge" = "#4682b4", "Freshwater Flood" = "#36648b", - "Tornado" = "#8b1a1a", - "Unknown" = "#ffa500" + "Tornado" = "#8b1a1a", + "Unknown" = "#ffa500" ) state_geoms <- fatalities %>% distinct(state_fips, name, geom_wkt) @@ -872,30 +873,40 @@ server <- function(input, output, session) { left_join(state_geoms, by = "state_fips") %>% st_as_sf(wkt = "geom_wkt", crs = 4326) - active_categories <- intersect(names(category_colors), unique(fatalities_mapped$category)) + active_categories <- intersect( + names(category_colors), + unique(fatalities_mapped$category) + ) map <- leaflet() %>% addProviderTiles("Stadia.AlidadeSmooth") tint <- function(hex, factor = 0.8) { v <- col2rgb(hex) / 255 - rgb(v[1] + (1 - v[1]) * factor, v[2] + (1 - v[2]) * factor, v[3] + (1 - v[3]) * factor) + rgb( + v[1] + (1 - v[1]) * factor, + v[2] + (1 - v[2]) * factor, + v[3] + (1 - v[3]) * factor + ) } for (cat in active_categories) { cat_data <- fatalities_mapped %>% filter(category == cat) cat_color <- category_colors[[cat]] - pal <- colorNumeric(c(tint(cat_color), cat_color), domain = cat_data$fatality_count) + pal <- colorNumeric( + c(tint(cat_color), cat_color), + domain = cat_data$fatality_count + ) map <- map %>% addPolygons( data = cat_data, group = cat, - fillColor = ~pal(fatality_count), + fillColor = ~ pal(fatality_count), fillOpacity = 0.7, color = cat_color, weight = 1, - popup = ~paste0(name, ": ", fatality_count) + popup = ~ paste0(name, ": ", fatality_count) ) } @@ -952,7 +963,15 @@ server <- function(input, output, session) { mutate( category = factor( category, - levels = c("Freshwater Flood", "Offshore", "Storm Surge", "Surf", "Tornado", "Wind", "Unknown") + levels = c( + "Freshwater Flood", + "Offshore", + "Storm Surge", + "Surf", + "Tornado", + "Wind", + "Unknown" + ) ), state_label = factor( state_label, @@ -1002,13 +1021,13 @@ server <- function(input, output, session) { filter(n > 0) category_colors <- c( - "Wind" = "#cd2626", - "Surf" = "#4f94cd", - "Offshore" = "#5cacee", - "Storm Surge" = "#4682b4", + "Wind" = "#cd2626", + "Surf" = "#4f94cd", + "Offshore" = "#5cacee", + "Storm Surge" = "#4682b4", "Freshwater Flood" = "#36648b", - "Tornado" = "#8b1a1a", - "Unknown" = "#ffa500" + "Tornado" = "#8b1a1a", + "Unknown" = "#ffa500" ) plot_ly( diff --git a/app/ui.R b/app/ui.R index 1cadb50..eee874f 100644 --- a/app/ui.R +++ b/app/ui.R @@ -10,7 +10,6 @@ ui <- page_navbar( nav_panel( "Home", card( - "Welcome to the Tropical Cyclone Database", HTML( '

Welcome to the Hurricane Cost Normalization Web App

@@ -104,7 +103,7 @@ ui <- page_navbar( ) ) ), - actionButton("load_storm", "Load Storm") + actionButton(class = "btn-primary", "load_storm", "Load Storm") ), card( height = 700,