Architektur der FeverMap-Shiny-App
FeverMap verbindet eine schlanke Website mit einer gehosteten R/Shiny-Anwendung. Dokumentiert werden Architektur, Datenfluss, Visualisierung und die unmittelbar im App-Code verwendeten R-Pakete.
Systemarchitektur
Vier klar getrennte Ebenen bilden den öffentlichen Anwendungsweg.
- FeverMap.de Die Landingpage erklärt das Projekt, zeigt Vorschauen und führt in die Anwendung.
-
Lokaler App-Rahmen
/app/stellt die Einbettung und den Ladeübergang zur eigentlichen App bereit. - R/Shiny auf shinyapps.io Eine serverseitige Shiny-Sitzung verarbeitet Filter, Aggregationen und Ausgaben reaktiv.
- Browserdarstellung Leaflet-Karten, Datentabelle, Kennzahlen und Diagramme werden interaktiv aktualisiert.
Die Website und die Shiny-Laufzeit sind getrennt deployt. Beim Öffnen der Karte lädt der lokale Rahmen die Anwendung von neuropsy17.shinyapps.io/FeverMap in einem eingebetteten Frame.
Datenfluss und reaktive Verarbeitung
Die Rohobjekte bleiben auf der Serverseite; die Oberfläche erhält daraus abgeleitete Darstellungen.
-
1
Laden
Beim Start liest R die bereinigten Fieberdaten und die vereinfachten PLZ-Geometrien aus zwei RDS-Dateien ein.
-
2
Räumliche Vorbereitung
sfermittelt für die PLZ-Flächen Mittelpunkte und Koordinaten, die anschließend mit den Fieberdaten verbunden werden. -
3
Filtern
Geschlecht und Alter in Lebensmonaten begrenzen reaktiv die Datensätze der aktuellen Sitzung.
-
4
Aggregieren
Die App gruppiert nach Postleitzahl und berechnet Fallzahl sowie mittlere Durchschnitts-, Minimal- und Maximaltemperatur.
-
5
Visualisieren
Nur die für die aktuelle Ansicht benötigten aggregierten Ergebnisse fließen in Karte, Tabelle, Kennzahlen und Diagramme.
Datenkompression und Geometrieoptimierung
Beide Laufzeitobjekte sind als gzip-komprimierte RDS-Dateien abgelegt.
| Datenobjekt | Verwendung | Komprimiert | Entpackt | Reduktion |
|---|---|---|---|---|
feverapp_cleaned.rds |
Bereinigte Fieberbeobachtungen | 146.623 Bytes | 1.136.913 Bytes | 87,1 % |
zip_filtered_simplified.rds |
Vereinfachte PLZ-Flächen | 1.844.053 Bytes | 2.873.983 Bytes | 35,8 % |
Die Reduktionswerte ergeben sich aus den komprimierten Dateien und den in ihren gzip-Headern ausgewiesenen Originalgrößen. Die App lädt bereits räumlich vereinfachte PLZ-Geometrien; dadurch müssen zur Laufzeit weniger Geometriedaten verarbeitet werden.
Interaktive Eingaben und Ausgaben
Die Oberfläche kombiniert räumliche Exploration mit tabellarischen und statistischen Ansichten.
Filter und Darstellung
Geschlecht, Altersbereich, Temperaturkennwert, Deckkraft, Kartenmodus und Grundkarte steuern die aktuelle Ansicht.
Karten
Leaflet rendert eine Bubble- oder Choroplethenkarte mit Legende, Miniaturkarte, Standort-, Reset- und Messwerkzeugen.
Tabelle und Export
DT stellt die PLZ-Aggregate durchsuchbar, responsiv und mit Exportoptionen für Kopie, CSV, Excel, PDF und Druck bereit.
Statistische Ansichten
Fallzahlen, Temperaturverteilungen, Altersverteilung und eine Korrelationsmatrix ergänzen die räumliche Darstellung.
Direkt verwendete R-Pakete
Die Versionsstände stammen aus dem Deployment-Manifest; jeder Paketname führt zur offiziellen CRAN-Dokumentation.
Anwendung und Benutzeroberfläche
- shiny1.10.0
Reaktives Webframework und Sitzungslogik
- shinydashboard0.7.2
Dashboard-Grundlayout
- shinydashboardPlus2.0.4
Erweiterte Dashboard-Komponenten
- shinyWidgets0.8.6
Zusätzliche Eingabeelemente
- shinyjs2.1.0
Dynamische UI-Zustände und JavaScript-Brücke
- shinycssloaders1.1.0
Ladeanzeigen für reaktive Ausgaben
- waiter0.2.5
Lade- und Wartezustände
- htmltools0.5.8.1
Erzeugung eingebetteter HTML-Inhalte
Daten, Geodaten und Hilfslogik
Karten, Tabellen und Statistik
- leaflet2.2.2
Interaktive Karten und Ebenen
- leaflet.extras2.0.1
Miniaturkarte, Messung und Kartenwerkzeuge
- DT0.33
Interaktive Datentabelle und Exporte
- corrplot0.92
Visualisierung der Korrelationsmatrix
Das Deployment-Manifest löst insgesamt 105 R-Pakete auf. Diese Zahl enthält die 17 oben aufgeführten, im App-Code direkt referenzierten Pakete sowie deren transitive Laufzeitabhängigkeiten.
Hosting- und Dienstgrenzen
Für eine vollständige technische Einordnung gehören auch die externen Laufzeitdienste zum Systembild.
- FeverMap.deliefert Landingpage, App-Rahmen, lokale Medien und diese Dokumentation.
- shinyapps.iohostet die reaktive R/Shiny-Laufzeit und verarbeitet die Sitzungseingaben.
- Kartenanbieterliefern je nach Auswahl Grundkarten von OpenStreetMap.DE, CartoDB oder Esri.
- Fachliche Datenwerden als vorbereitete, anonymisierte Laufzeitobjekte in der Shiny-Anwendung bereitgestellt.
Hinweise zur Verarbeitung beim Websitebesuch stehen in der Datenschutzerklärung.