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)
+15 -15
View File
@@ -68,18 +68,8 @@ ui <- page_navbar(
card_body(
class = "p-1",
div(
div(tags$small(class = "text-muted", "MMH23 Loss")),
#div(textOutput("dt_mmh_loss"))
)
)
),
card(
class = "bg-light",
card_body(
class = "p-1",
div(
div(tags$small(class = "text-muted", "Direct Deaths")),
div("hi")
div(tags$small(class = "text-muted", "Track Observations")),
h6(strong(textOutput("dt_track_observations")))
)
)
),
@@ -89,7 +79,7 @@ ui <- page_navbar(
class = "p-1",
div(
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(
class = "p-1",
div(
div(tags$small(class = "text-muted", "Track Observations")),
div("hi")
div(tags$small(class = "text-muted", "Max Windspeed")),
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")))
)
)
)