add storm metric summary in storm selector

This commit is contained in:
2026-04-08 13:55:25 -04:00
parent ae5fbcb0af
commit 93961e2a6c
2 changed files with 89 additions and 29 deletions
+74 -14
View File
@@ -20,7 +20,19 @@ server <- function(input, output, session) {
) )
)) ))
) %>% ) %>%
select(hurdatid, storm_name, storm_year, data, mmh, mmp, total) select(
hurdatid,
storm_name,
storm_year,
data,
mmh,
mmp,
total_direct_deaths,
total_observations,
max_category,
max_windspeed,
min_pressure
)
output$dt_storm_badges <- renderUI({ output$dt_storm_badges <- renderUI({
div(HTML(dt_storm_selected()$data)) div(HTML(dt_storm_selected()$data))
@@ -28,7 +40,16 @@ server <- function(input, output, session) {
output$storm_coverage_table <- renderDT({ output$storm_coverage_table <- renderDT({
datatable( datatable(
storm_coverage, storm_coverage %>%
select(
hurdatid,
storm_name,
storm_year,
data,
mmh,
mmp,
total_direct_deaths
),
fillContainer = TRUE, fillContainer = TRUE,
rownames = F, rownames = F,
escape = F, escape = F,
@@ -59,6 +80,57 @@ server <- function(input, output, session) {
storm_coverage[input$storm_coverage_table_rows_selected, ] storm_coverage[input$storm_coverage_table_rows_selected, ]
}) })
output$dt_max_category <- renderText({
if (!is.null(input$storm_coverage_table_rows_selected)) {
if (is.na(dt_storm_selected()$max_category)) {
"N/A"
} else {
paste(
"Cat ",
dt_storm_selected()$max_category
)
}
}
})
output$dt_track_observations <- renderText({
if (!is.null(input$storm_coverage_table_rows_selected)) {
if (is.na(dt_storm_selected()$total_observations)) {
"N/A"
} else {
paste0(
dt_storm_selected()$total_observations
)
}
}
})
output$dt_max_windspeed <- renderText({
if (!is.null(input$storm_coverage_table_rows_selected)) {
if (is.na(dt_storm_selected()$max_windspeed)) {
"N/A"
} else {
paste(
dt_storm_selected()$max_windspeed,
"kts"
)
}
}
})
output$dt_min_pressure <- renderText({
if (!is.null(input$storm_coverage_table_rows_selected)) {
if (is.na(dt_storm_selected()$min_pressure)) {
"N/A"
} else {
paste(
dt_storm_selected()$min_pressure,
"mb"
)
}
}
})
output$dt_storm_name_year <- renderText({ output$dt_storm_name_year <- renderText({
if (is.null(input$storm_coverage_table_rows_selected)) { if (is.null(input$storm_coverage_table_rows_selected)) {
"Select a storm" "Select a storm"
@@ -72,18 +144,6 @@ server <- function(input, output, session) {
} }
}) })
best_track_summary <- reactive({
req(input$storm_coverage_table_rows_selected)
storm <- list(
storm_basin = "AL",
storm_year = dt_storm_selected()$storm_year,
storm_name = dt_storm_selected()$storm_name
)
get_best_track_summary(storm)
})
normalized_loss_summary <- reactive({ normalized_loss_summary <- reactive({
req(input$storm_coverage_table_rows_selected) req(input$storm_coverage_table_rows_selected)
+15 -15
View File
@@ -68,18 +68,8 @@ ui <- page_navbar(
card_body( card_body(
class = "p-1", class = "p-1",
div( div(
div(tags$small(class = "text-muted", "MMH23 Loss")), div(tags$small(class = "text-muted", "Track Observations")),
#div(textOutput("dt_mmh_loss")) h6(strong(textOutput("dt_track_observations")))
)
)
),
card(
class = "bg-light",
card_body(
class = "p-1",
div(
div(tags$small(class = "text-muted", "Direct Deaths")),
div("hi")
) )
) )
), ),
@@ -89,7 +79,7 @@ ui <- page_navbar(
class = "p-1", class = "p-1",
div( div(
div(tags$small(class = "text-muted", "Max Category")), div(tags$small(class = "text-muted", "Max Category")),
div("hi") h6(strong(textOutput("dt_max_category")))
) )
) )
), ),
@@ -98,8 +88,18 @@ ui <- page_navbar(
card_body( card_body(
class = "p-1", class = "p-1",
div( div(
div(tags$small(class = "text-muted", "Track Observations")), div(tags$small(class = "text-muted", "Max Windspeed")),
div("hi") h6(strong(textOutput("dt_max_windspeed")))
)
)
),
card(
class = "bg-light",
card_body(
class = "p-1",
div(
div(tags$small(class = "text-muted", "Min Pressure")),
h6(strong(textOutput("dt_min_pressure")))
) )
) )
) )