-
untergeekDE authoreduntergeekDE authored
aktualisiere_karten.R 2.61 KiB
#' aktualisiere_karten.R
# Diese Funktion schaltet zwischen den beiden Aggregier-Funktionen um:
# der mit Briefwahl und der ohne Briefwahl.
# Wenn alle Stimmbezirke ausgezählt sind, wird die Briefwähler-Stimmenzahl
# dazu gerechnet.
switcher_aggregiere <- function(stimmbezirke_df) {
if (sum(stimmbezirke_df$meldungen_anz) == sum(stimmbezirke_df$meldungen_max)) {
aggregiere_stadtteile_mit_briefwahl(stimmbezirke_df)
} else {
aggregiere_stadtteile(stimmbezirke_df)
}
}
aktualisiere_karten <- function(wl_url = stimmbezirke_url) {
# Lies Ortsteil-Daten ein und vergleiche
neue_orts_df <- lies_gebiet(wl_url) %>%
# aggregiere_stadtteile() %>%
switcher_aggregiere() %>%
mutate(quorum = ifelse(wahlberechtigt == 0,
0,
ja / wahlberechtigt * 100)) %>%
mutate(status = ifelse(meldungen_anz == 0,
"KEINE DATEN",
paste0(ifelse(meldungen_anz < meldungen_max,
"TREND ",""),
ifelse(ja < nein,
"NEIN",
ifelse(quorum < 30,
"JA",
"JA QUORUM")))
))
# alte_orts_df <- hole_letztes_df("daten/ortsteile")
# # Datenstand identisch? Dann brich ab.
# if(vergleiche_stand(alte_orts_df,neue_orts_df)) {
# return(FALSE)
# } else {
# Zeitstempel holen
archiviere(neue_orts_df,"daten/ortsteile")
ts <- neue_orts_df %>% pull(zeitstempel) %>% last()
# Datentabelle übertragen
dw_data_to_chart(neue_orts_df,choropleth_id)
dw_data_to_chart(neue_orts_df,symbol_id)
dw_data_to_chart(neue_orts_df,tabelle_id)
# Anmerkungen aktualisieren
wahlberechtigt <- neue_orts_df %>% pull(wahlberechtigt) %>% sum()
# Prozentsatz ausgezählte Stimmen: abgerundet auf ganze Prozent
ausgezählt <- floor(wahlberechtigt / ffm_waehler *100)
annotate_str <- generiere_auszählungsbalken(ausgezählt,
anz = neue_orts_df %>% pull(meldungen_anz) %>% sum(),
max = neue_orts_df %>% pull(meldungen_max) %>% sum(),
ts = ts)
dw_edit_chart(symbol_id,annotate=annotate_str)
dw_edit_chart(choropleth_id,annotate=annotate_str)
dw_edit_chart(tabelle_id,annotate=annotate_str)
dw_publish_chart(symbol_id)
dw_publish_chart(choropleth_id)
dw_publish_chart(tabelle_id)
return(TRUE)
#}
}