Karte & Geometrie

Die Kartenfunktionalität basiert auf flutter_map und latlong2.

FullscreenMapScreen (lib/screens/fullscreen_map_screen.dart)

Dieser Screen zeigt die interaktive Hauptkarte an.

Layer-Architektur

Die Karte besteht aus mehreren Schichten (Layers), die übereinander gezeichnet werden:

  1. TileLayer: Das Kartenmaterial (Satellit oder OSM), verwaltet durch MapConfig und flutter_map_tile_caching.
  2. PolygonLayer (Events): Aktionsgebiete (Lila).
  3. PolygonLayer (Zones): Sperrzonen (Rot) und Befallsgebiete (Grün).
  4. PolygonLayer (Sectors): Arbeitsbereiche der Teams (Transparent/Blau).
  5. MarkerLayer: Die Bäume (Punkte), farbcodiert nach Befallsstärke.

Geometrie-Tools

  • AreaJsonUtils: Hilfsklasse zum Konvertieren zwischen GeoJSON-Strings und List<LatLng> für Flutter Map.
  • GeometryUtils: Berechnungen wie “Punkt in Polygon” oder Flächeninhalt (genutzt für Statistiken).