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({
div(HTML(dt_storm_selected()$data))
@@ -28,7 +40,16 @@ server <- function(input, output, session) {
output$storm_coverage_table <- renderDT({
datatable(
storm_coverage,
storm_coverage %>%
select(
hurdatid,
storm_name,
storm_year,
data,
mmh,
mmp,
total_direct_deaths
),
fillContainer = TRUE,
rownames = F,
escape = F,
@@ -59,6 +80,57 @@ server <- function(input, output, session) {
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({
if (is.null(input$storm_coverage_table_rows_selected)) {
"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({
req(input$storm_coverage_table_rows_selected)