diff --git a/.gitignore b/.gitignore
index 5cc2df59b7f1e078c4a262222b7765c6a85c236d..cfd68a0abd9d8889a556aab251dcea54d85b54f6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+.gitignore
 # History files
 .Rhistory
 .Rapp.history
@@ -47,4 +48,4 @@ vignettes/*.pdf
 /vorlagen/
 /daten/
 /png/
-/R/Vorbereitung/
+/R/Vorbereitung/jugend-forscht.Rmd
diff --git a/CORS-Daten-Test.md b/CORS-Daten-Test.md
new file mode 100644
index 0000000000000000000000000000000000000000..ee8bc48ef0e22d1194d6caa2b384bef687062033
--- /dev/null
+++ b/CORS-Daten-Test.md
@@ -0,0 +1,52 @@
+# CORS-Livedaten und Metadaten einsetzen
+
+(Stand: 17.9.2023., vor dem Livetest bei der OB-Wahl Offenbach)
+
+## Daten live anzeigen...
+
+...müssen einfach als CSV auf dem Google-Bucket liegen (CSV mit Komma und UTF-(); 
+ich kopiere sie mit
+
+```
+system('gsutil -h "Cache-Control:no-cache, max_age=0" cp daten/test.csv gs://d.data.gcp.cloud.hr.de/obwahl_test.csv')
+```
+
+auf den Bucket. (Eine einzelne Kopieraktion dauert etwa 2s; das scheint aber vor allem der Overhead
+zum Schlüsseltausch zu sein: ob ich eine oder zwei Dateien über stadtteile* kopiere, macht keinen
+Unterschied.)
+
+## Metadaten live verändern
+
+https://academy.datawrapper.de/article/328-how-to-create-a-chart-with-live-updating-metadata
+
+Anscheinend ist das eine Routine, die die abgespeicherten Metadaten live verändert anstatt sie
+alle einzulesen - sie funktioniert um so besser, je weniger in dem JSON drin ist. Am Anfang hatte ich eine komplette Kopie der Metadaten-Liste, die ich über die API ausgelesen hatte - ging nicht. Reduziert auf den [["content"]][["metadata"]]-Zweig-der Liste ging es so halbwegs - aber erst, als ich auf die einzelnen Einträge aus dem [["content"]][["metadata"]][["describe"]]-Zweig reduziert hatte, ging's. 
+
+Deshalb: die Liste für das JSON sollte nur die Keys enthalten, die man wirklich ändern will!
+
+Also setzt man z.B. einen Eintrag für die Byline (Ersteller) und eine Erklärung in R so: 
+
+```
+json <- list() # Leere Liste
+json[["describe"]][["byline"]][[1]] <- "Kilroy was here"
+json[["describe"]][["intro"]][[1]] <- "Diese Grafik zeigt live modifizierte Grafiken."
+json[["annotate"]][["notes"]][[1]] <- "Anmerkungsdaten wurden über CORS in einem JSON-File übergeben"
+```
+
+Für jeden Key, den die Routine im JSON findet, legt sie im Metadatensatz unter [[content]][["readonlyKeys"]] einen Eintrag an. (Verrückter Bug: wenn man den Key [["describe"]][["hide-title"]]) anlegt, wird der Titel der Grafik IMMER versteckt, auch wenn dieser Key auf FALSE gesetzt wird. Wie gesagt: nur anlegen, was man braucht!
+
+Kleine Regelverletzung der Import-Routine: Der Titel der Grafik - der in den Datawrapper-Daten unter [["content"]][["title"]] liegt, wird einfach über einen Eintrag ```json[["title"]] <- "Titel"``` angelegt. Der Logik der Metadaten zufolge müsste er dann unter [["content"]][["metadata"]][["title"]] liegen, tut er aber nicht. 
+
+## Eine Datawrapper-Grafik auf CORS-Metadatenlieferung umschalten 
+
+Wenn man die externe Datenanlieferung einschaltet, werden folgende Keys gesetzt: 
+
+- json[["content"]][["externalData"]] = <URL CSV>
+- json[["content"]][["metadata"]][["data"]][["upload-method"]] = "external-data"
+- json[["content"]][["metadata"]][["data"]][["external-data"]] = <URL CSV>
+- json[["content"]][["metadata"]][["data"]][["external-metadata"]] = <URL JSON>
+- json[["content"]][["metadata"]][["data"]][["use-datawrapper-cdn"]] = FALSE
+
+Leider kommt man über die Funktion dw_edit_chart() an diese Keys nicht ran - da 
+kann man nur den visualize-Zweig verändern. Also muss ich eine Funktion dw_write_metadata()
+dazubasteln - das muss ich noch lösen...
diff --git a/R/Analyse/Auswertung_stichwahl.R b/R/Analyse/Auswertung_stichwahl.R
new file mode 100644
index 0000000000000000000000000000000000000000..0b3751e29a2b2249e43af72b6e8f9927b871cc6a
--- /dev/null
+++ b/R/Analyse/Auswertung_stichwahl.R
@@ -0,0 +1,161 @@
+# Auswertung nach Stadtteilen: 
+# Stichwahlergebnis vs. erste Runde 
+
+# Setzt voraus, dass die Funktionen und Daten im Environment liegen
+stimmbezirksdaten_df <<- lies_stimmbezirke(stimmbezirke_url)
+gezaehlt <<- stimmbezirksdaten_df %>% pull(meldungen_anz) %>% sum(.)
+archiviere(stimmbezirksdaten_df,paste0("daten/",wahl_name,"/"))
+kand_tabelle_df <<- berechne_kand_tabelle(stimmbezirksdaten_df)
+stadtteildaten_df <<- aggregiere_stadtteildaten(stimmbezirksdaten_df)
+ergänzt_df <<- berechne_ergänzt(stadtteildaten_df,top)
+hochburgen_df <<- berechne_hochburgen(stadtteildaten_df)
+
+# Kandidatenliste Runde 1
+alle_kandidaten_df <- read.xlsx("index/obwahl_da_2023/da-kandidaten.xlsx")
+
+# Kommunaldaten: Stadtverordnetenwahl
+runde1_url <- "https://votemanager-da.ekom21cdn.de/2023-03-19/06411000/daten/opendata/Open-Data-06411000-Oberbuergermeisterwahl-Wahlbezirk.csv?ts=1680457544366"
+r1_stimm_df <- lies_stimmbezirke(runde1_url) %>% 
+  # Die Spalten D1-D20 enthalten die Stimm-Gesamtergebnisse der Kandidaten aus der 1. Runde
+  select(zeitstempel,
+         nr,
+         name,
+         meldungen_anz,
+         meldungen_max,
+         wahlberechtigt,
+         waehler_regulaer,
+         waehler_wahlschein,
+         waehler_nv,
+         stimmen,
+         stimmen_wahlschein,
+         ungueltig,
+         gueltig,
+         matches("D[0-9]+$")) %>% 
+  mutate(nr = as.integer(str_extract(nr,"[0-9]+")))
+
+
+r1_stadtteile_df <- r1_stimm_df %>% 
+  left_join(stimmbezirke_df %>% select(nr,ortsteilnr,stadtteil),
+            by="nr") %>% 
+  group_by(ortsteilnr)   %>% 
+  # Fasse alle Spalten von meldungen_anz bis Ende der Tabelle zusammen - 
+  # mit der sum()-Funktion (NA wird wie null behandelt)
+  summarize(zeitstempel = last(zeitstempel),
+            nr = first(ortsteilnr), 
+            meldungen_anz = sum(meldungen_anz,na.rm =T),
+            meldungen_max = sum(meldungen_max,na.rm = T),
+            wahlberechtigt = sum(wahlberechtigt, na.rm = T),
+            waehler_regulaer = sum(waehler_regulaer, na.rm = T),
+            waehler_wahlschein = sum(waehler_wahlschein, na.rm = T),
+            waehler_nv = sum(waehler_nv, na.rm = T),
+            stimmen = sum(stimmen, na.rm = T),
+            stimmen_wahlschein = sum(stimmen_wahlschein, na.rm = T),
+            ungueltig = sum(ungueltig, na.rm = T),
+            gueltig = sum(gueltig, na.rm = T),
+            across(starts_with("D"), ~ sum(.,na.rm = T))) %>%
+  mutate(across(where(is.numeric), ~ifelse(is.na(.), 0, .))) %>% 
+  # Stadtteilnamen, Geokoordinaten dazuholen
+  left_join(stadtteile_df, by="nr") %>% 
+  # Wichtige Daten für bessere Lesbarkeit nach vorn
+  relocate(zeitstempel,nr,name,lon,lat)
+
+# Sicherheitscheck: Warnen, wenn nicht alle Ortsteile zugeordnet
+if (nrow(stadtteildaten_df) != nrow(stadtteile_df)) teams_warnung("Nicht alle Stadtteile zugeordnet")
+if (nrow(stimmbezirke_df) != length(unique(stimmbezirke_df$nr))) teams_warnung("Nicht alle Stimmbezirke zugeordnet")
+
+  tmp_long_df <- r1_stadtteile_df %>%
+    pivot_longer(cols = starts_with("D"), names_to = "kand_nr", values_to = "kand_stimmen") %>% 
+    mutate(kand_nr = as.integer(str_extract(kand_nr,"[0-9]+"))) %>% 
+    # Ortsteil- bzw. Stimmbezirks-Gruppen, um dort nach Stimmen zu sortieren
+    group_by(nr,name) %>% 
+    arrange(desc(kand_stimmen)) %>% 
+    mutate(Platz = row_number()) %>%
+    left_join(alle_kandidaten_df %>% select(kand_nr = Nummer, 
+                                       kand = Name,
+                                       farbe= Farbwert), by="kand_nr") %>% 
+    mutate(prozent = if_else(gueltig != 0,kand_stimmen / gueltig * 100, 0)) 
+  r1_ergänzt_df <- tmp_long_df %>% 
+    # Ist noch nach Stadtteil (name, nr) sortiert
+    arrange(kand_nr) %>% 
+    # Alles weg, was verhindert, was individuell auf den Kand ist - außer
+    #  kand und Prozentwert
+    select(-kand_stimmen, -kand_nr, -Platz, -farbe) %>% 
+    # Kandidatennamen in die Spalten zurückverteilen
+    pivot_wider(names_from = kand, values_from = prozent) %>% 
+    ungroup() %>% 
+    # und die zweite Hälfte dazu: 
+    left_join(
+      tst <- tmp_long_df %>% 
+        # Brauchen nur die Kand-Ergebnisse - und den (Stadtteil-)name
+        select(name, Platz,kand,prozent,farbe) %>% 
+        # Nur die ersten (top) Plätze
+        filter(Platz <= (3)) %>% 
+        #The Big Pivot: Breite die ersten (3) aus. 
+        pivot_wider(names_from = Platz,
+                    values_from = c(kand,prozent,farbe),
+                    names_glue = "{.value}{Platz}") %>% 
+        ungroup() %>% 
+        select(-nr),   
+      by="name") %>% 
+    # Jetzt auswählen und umbenennen
+    select(nr, # ortsteilnr
+           k_wahlberechtigt = wahlberechtigt,
+           k_stimmen = stimmen, 
+           k_stimmen_wahlschein = stimmen_wahlschein,
+           k_gueltig = gueltig, 
+           ungueltig:kand3) %>% 
+    rename(k_ungueltig = ungueltig) 
+
+ergänzt3_df <- berechne_ergänzt(stadtteildaten_df,3)  %>% 
+  mutate(wahlbeteiligung = stimmen / wahlberechtigt * 100) 
+
+vergleichstabelle_df <- ergänzt3_df %>% 
+  left_join(r1_ergänzt_df,by="nr") %>% 
+  select(-zeitstempel,
+         -ortsteilnr,
+         -meldungen_anz,
+         -meldungen_max,
+         -waehler_regulaer,
+         -waehler_wahlschein,
+         -waehler_nv) 
+  # Gesamt-Ergebnisse ergänzen
+
+write.xlsx(vergleichstabelle_df,"daten/obwahl_da_stichwahl_2023/vergleichstabelle.xlsx", overwrite=T)
+
+
+# Briefwahlergebnis
+urnenwahl_df <- stimmbezirksdaten_df %>% 
+  # Achtung: Prüfen, ob die Benennung der Briefwahllokale hierzu passt.
+  filter(nr < 9999) %>% 
+  summarize(gueltig = sum(gueltig),
+            across(starts_with("D"),~ sum(.))) %>% 
+  pivot_longer(cols = starts_with("D"), names_to = "kand_nr", 
+               values_to = "kand_stimmen") %>% 
+  mutate(kand_nr = as.integer(str_extract(kand_nr,"[0-9]+"))) %>% 
+  left_join(kandidaten_df %>% select(kand_nr=Nummer,
+                                     Parteikürzel,
+                                     kand_name=Name),by="kand_nr") %>% 
+  mutate(`Kandidat/in` = paste0(kand_name," (",Parteikürzel,")")) %>% 
+  mutate(Prozent = kand_stimmen / gueltig *100) %>% 
+  select(`Kandidat/in`, Urnenwahl = Prozent)
+
+briefwahl_df <- stimmbezirksdaten_df %>% 
+  filter(nr > 9999) %>% 
+  summarize(gueltig = sum(gueltig),
+                  across(starts_with("D"),~ sum(.))) %>% 
+  pivot_longer(cols = starts_with("D"), names_to = "kand_nr", 
+               values_to = "kand_stimmen") %>% 
+  mutate(kand_nr = as.integer(str_extract(kand_nr,"[0-9]+"))) %>% 
+  left_join(kandidaten_df %>% select(kand_nr=Nummer,
+                                     Parteikürzel,
+                                     kand_name=Name),by="kand_nr") %>% 
+  mutate(`Kandidat/in` = paste0(kand_name," (",Parteikürzel,")")) %>% 
+  mutate(Prozent = kand_stimmen / gueltig *100) %>% 
+  select(`Kandidat/in`, Briefwahl = Prozent) %>% 
+  left_join(urnenwahl_df,by = "Kandidat/in")
+
+
+
+write.xlsx(briefwahl_df,"daten/briefwahl_ergebnis.xlsx", overwrite = T)  
+
+            
\ No newline at end of file
diff --git a/R/Vorbereitung/CORS_metadaten_erzeugen.R b/R/Vorbereitung/CORS_metadaten_erzeugen.R
new file mode 100644
index 0000000000000000000000000000000000000000..2daa71c2810016b1f75bc1ebb6c9af8ecaa9ca4a
--- /dev/null
+++ b/R/Vorbereitung/CORS_metadaten_erzeugen.R
@@ -0,0 +1,101 @@
+# Kurzes Testprogramm: 
+# Holt JSON-Daten, 
+library(pacman)
+#devtools::install_github("munichrocker/DatawRappr")
+library(DatawRappr)
+p_load(jsonlite)
+p_load(lubridate)
+p_load(tidyr)
+p_load(dplyr)
+
+
+# Aktueller Stand: 17.9. morgens
+# Lege derzeit komplettes JSON an, müsste aber nur die readonlyKeys anlegen
+# siehe Dokumentation
+# deshalb temp auf Zweig [["content"]][["metadata"]] reduziert
+#
+# Problem: Die datawRappr-Library erlaubt nur den Zweig [["content"]][["metadata"]][["visualize"]]
+# direkt zu ändern. Da muss ich sie wohl umgehen. 
+
+# Aktuelles Verzeichnis als workdir
+setwd(this.path::this.dir())
+# Aus dem R/Vorbereitung-Verzeichnis zwei Ebenen rauf
+setwd("../..")
+
+
+test_id <- "EehUB" 
+# Metadaten holen: Tabelle OBwahl OF Ergebnisse nach Stadtteil
+
+if (file.exists("daten/test.json")) {
+  temp <- read_json("daten/test.json")
+} else {
+  # File neu anlegen
+  temp <- dw_retrieve_chart_metadata(test_id)
+#  temp[["content"]][["metadata"]][["data"]][["upload-method"]] = "external-data"
+#  temp[["content"]][["externalData"]] = "https://d.data.gcp.cloud.hr.de/obwahl_test.csv"
+#  temp[["content"]][["metadata"]][["data"]][["external-data"]] = "https://d.data.gcp.cloud.hr.de/obwahl_test.csv"
+#  temp[["content"]][["metadata"]][["data"]][["external-metadata"]] = "https://d.data.gcp.cloud.hr.de/obwahl_test.json"
+#  temp[["content"]][["metadata"]][["data"]][["use-datawrapper-cdn"]] = TRUE
+  
+  temp <- temp[["content"]][["metadata"]]
+  # Pfade löschen
+  # nur die Überschreibungen anlegen
+  temp[["title"]] <- "TESTTITEL BLANK CORS"
+  temp[["data"]] <- NULL
+  temp[["axes"]] <- NULL
+  temp[["custom"]] <- NULL
+  temp[["publish"]] <- NULL
+  temp[["json_error"]] <- NULL
+  # Bleiben die Keys für den Titel, describe, visualize, annotate
+  temp[["visualize"]] <- NULL
+  temp[["title"]] <- NULL
+  
+  temp[["describe"]][["hide-title"]] <- NULL
+
+  temp_json <- toJSON(temp,force=T)
+  write(temp_json,"daten/test.json")
+  
+  
+}
+
+
+
+# Auf blöd irgendwas verändern
+temp[["title"]] = paste0("DEMO Live-Veränderung ",now())
+temp[["describe"]][["byline"]] = paste0("Cors-Daten um ",now())
+
+# auch in den Daten
+data_df <- read.csv("https://d.data.gcp.cloud.hr.de/obwahl_stadtteile.csv")
+data_df$Stadtteil[1] = now()
+write.csv(data_df,"daten/test.csv")
+system('gsutil -h "Cache-Control:no-cache, max_age=0" cp daten/test.csv gs://d.data.gcp.cloud.hr.de/obwahl_test.csv')
+
+
+
+# Liste in JSON - der force-Parameter ist nötig, weil R sonst darauf
+# beharrt, dass es mit der S3-Klasse dw_chart nichts anfangen kann
+# (obwohl die eine ganz normale Liste ist)
+temp_json <- toJSON(temp,force=T)
+# temp_list <- list(temp)
+write(temp_json,"daten/test.json")
+# 
+n <- now()
+system('gsutil -h "Cache-Control:no-cache, max_age=0" cp daten/test.json gs://d.data.gcp.cloud.hr.de/obwahl_test.json')
+cat("gsutil-Operation took ",now()-n)
+
+
+#
+temp2 <- dw_retrieve_chart_metadata(test_id)
+# Der Key für die externe Daten-URL ist [["content"]][["externalData"]]
+# Außerdem
+# temp2[["content"]][["metadata"]][["data"]][["upload-method"]] = "external-data"
+# temp2[["content"]][["metadata"]][["data"]][["external-data"]] = URL CSV
+# temp2[["content"]][["metadata"]][["data"]][["external-metadata"]] = URL JSON
+# temp2[["content"]][["metadata"]][["data"]][["use-datawrapper-cdn"]] = F
+
+dw_edit_chart(test_id, title="TEST NEU")
+# M;öglicher Bug?
+# Datawrapper scheint bei JSON-Import hide-title zu setzen - kann es von Hand nicht
+# ausschalten
+# Deshalb: temp[["describe"]][["hide-title"]] <- NULL - dann geht's!
+
diff --git a/R/Vorbereitung/argtest.R b/R/Vorbereitung/argtest.R
new file mode 100644
index 0000000000000000000000000000000000000000..0a5ea1a78156e1d98a88235a7509454d5b8cc116
--- /dev/null
+++ b/R/Vorbereitung/argtest.R
@@ -0,0 +1,38 @@
+library(pacman)
+
+# Laden und ggf. installieren
+p_load(this.path)
+p_load(R.utils)
+rm(list=ls())
+
+# Lies Parameter: 
+# - Verzeichnis (aus dem auch die )
+
+# Argumente werden in einem String-Vektor namens args übergeben,
+# wenn ein Argument übergeben wurde, dort suchen, sonst Unterverzeichnis "src"
+
+cat("Parameter: --TEST für Test, ",
+    "--DO_PREPARE_MAPS für Switcher-Generierung, ",
+    "wahl_name=<Verzeichnisname>\n\n")
+
+#   list(R=NA, DATAPATH="../data" args=TRUE, root="do da",
+#        foo="bar", details=TRUE, a="2")
+
+args = commandArgs(asValues = TRUE)
+if (length(args)!=0) { 
+  TEST <- "TEST" %in% names(args)
+  DO_PREPARE_MAPS <- "DO_PREPARE_MAPS" %in% names(args)
+  if ("wahl_name" %in% names(args)) {
+    wahl_name <- args[["wahl_name"]]
+    if (!dir.exists(paste0("index/",wahl_name))) stop("Kein Index-Verzeichnis für ",wahl_name)
+  }
+} 
+
+
+if (!exists("TEST")) TEST = FALSE
+if (!exists("DO_PREPARE_MAPS")) DO_PREPARE_MAPS = FALSE
+
+print(args)
+print(TEST)
+print(DO_PREPARE_MAPS)
+print(wahl_name)
diff --git a/R/Vorbereitung/generiere_testdaten.R b/R/Vorbereitung/generiere_testdaten.R
new file mode 100644
index 0000000000000000000000000000000000000000..44af29ca42a3ec5a9348839bfadd168dd32511da
--- /dev/null
+++ b/R/Vorbereitung/generiere_testdaten.R
@@ -0,0 +1,163 @@
+#' generiere_testdaten.R
+#' 
+#' Macht aus den Templates für Wahllokal-Ergebnisse
+#' jeweils eine Serie von fiktiven Livedaten, um das Befüllen der
+#' Grafiken testen zu können. 
+#' 
+
+require(tidyr)
+require(dplyr)
+require(readr)
+require(stringr)
+require(openxlsx)
+
+# Alles weg, was noch im Speicher rumliegt
+rm(list=ls())
+TEST = TRUE
+
+# Aktuelles Verzeichnis als workdir
+setwd(this.path::this.dir())
+# Aus dem R/Vorbereitung-Verzeichnis zwei Ebenen rauf
+setwd("../..")
+
+source("R/lies_konfiguration.R")
+source("R/lies_aktuellen_stand.R")
+
+#---- Funktion zum Testdaten-Löschen ----
+lösche_testdaten <- function(){
+  q <- tolower(readline(prompt = "Testdaten löschen - sicher? "))
+  if (!(q %in% c("j","y","ja"))) { return() }
+  # Datenarchiv weg
+  if (file.exists("daten/fom_df.rds")){
+    file.remove("daten/fom_df.rds")
+  }
+  # Testdaten
+  testdaten_files <- list.files("testdaten", full.names=TRUE) 
+  for (f in testdaten_files) {
+    # Grausam, I know. 
+    if (str_detect(f,"ortsteile[0-9]+\\.csv") |
+        str_detect(f,"wahllokale[0-9]+\\.csv")) {
+      file.remove(f)
+    }
+  }
+}
+
+vorlage_url = "testdaten/muster.csv"
+# Vorlagen laden
+# Leider geht mein Skript von Daten auf Wahllokal-Ebene aus, die Daten hier
+# sind aber auf Orts-Ebene. 
+vorlage_wahllokale_df <- read_delim(vorlage_url, 
+                                   delim = ";", escape_double = FALSE, 
+                                   locale = locale(date_names = "de", 
+                                                   decimal_mark = ",", 
+                                                   grouping_mark = "."), 
+                                   trim_ws = TRUE) %>% 
+  # Alle Schnellmeldungen aus der Vorlage löschen
+  mutate(`anz-schnellmeldungen` = 0)
+
+
+wahllokale_max <- sum(vorlage_wahllokale_df$`max-schnellmeldungen`)
+
+# Konstanten für die Simulation - werden jeweils um bis zu +/-25% variiert
+c_wahlberechtigt = wahlberechtigt / wahllokale_max # Gleich große Wahlbezirke
+c_wahlbeteiligung = 0.3 # Wahlbeteiligung um 30%, wird im Lauf der "Wahl" erhöht (kleinere WL sind schneller ausgezählt)
+c_wahlschein = 0.4 # 25% Briefwähler
+c_nv = 0.05 # 0,5% wählen "spontan" und sind nicht verzeichnet (nv) im Wählerverzeichnis
+c_ungültig = 0.01 # 1% Ungültige
+c_nein = 0.15 # unter den gültigen: 85% Ja-Stimmen (Varianz also von ca 81-89%)
+
+variiere <- function(x = 1) {
+  # Variiert den übergebenen Wert zufällig um -25% bis +25%:
+  # Zufallswerte zwischen 0,75 und 1,25 erstellen und multiplizieren
+  #
+  # Die Length-Funktion ist wichtig - sonst erstellt runif() nur einen 
+  # Zufallswert, mit dem alle Werte von x multipliziert werden. 
+  return(floor(x * (runif(length(x),0.75,1.25))))
+}
+
+
+
+i = 1
+# Schleife für die Wahllokale: Solange noch nicht alle "ausgezählt" sind...
+while(sum(vorlage_wahllokale_df$`anz-schnellmeldungen`) < wahllokale_max) {
+  # ...splitte das df in die gemeldeten (meldungen_anz == 1) und nicht gemeldeten Zeilen
+  tmp_gemeldet_df <- vorlage_wahllokale_df %>% filter(`anz-schnellmeldungen` == 1)
+  # Die Variable rand wird als Anteil von 20 Meldungen an den noch offenen Wahllokale berechnet
+  rand <- 20 / (nrow(vorlage_wahllokale_df) - nrow(tmp_gemeldet_df)) 
+  tmp_sample_df <- vorlage_wahllokale_df %>% 
+    filter(`anz-schnellmeldungen` == 0) %>% 
+    # Bei den noch nicht ausgefüllten "Meldungen" mit einer Wahrscheinlichkeit
+    # von rand in die Gruppe sortieren, die neu "gemeldet" wird
+    mutate(sample = (runif(nrow(.)) < rand))
+  tmp_offen_df <- tmp_sample_df %>% 
+    filter(sample == 0) %>%
+    # sample-Variable wieder raus
+    select(-sample)
+  tmp_neu_df <- tmp_sample_df %>% 
+    filter(sample == 1) %>% 
+  select(-sample) %>% 
+    # Alle als gemeldet markieren
+    mutate(`anz-schnellmeldungen` = 1) %>%
+    # Und jetzt der Reihe nach (weil die Werte z.T. aufeinander aufbauen)
+    # Wahlberechtigte
+    mutate(A = floor(c_wahlberechtigt * runif(nrow(.),0.75,1.25))) %>% 
+    # Wahlschein
+    mutate(A2 = floor(A * c_wahlschein * runif(nrow(.),0.75,1.25))) %>% 
+    # Nicht verzeichnet
+    mutate(A3 = floor(A * c_nv * runif(nrow(.),0.75,1.25))) %>% 
+    # Regulär Wahlberechtigte (ohne Wahlschein oder nv)
+    mutate(A1 = A - A2 - A3) %>% 
+    # Abgegebene Stimmen
+    mutate(B = floor(A * c_wahlbeteiligung * runif(nrow(.),0.75,1.25))) %>% 
+    # davon mit Wahlschein
+    mutate(B1 = floor(B * c_wahlschein * runif(nrow(.),0.75,1.25))) %>% 
+    # davon ungültig
+    mutate(C = floor(B * c_ungültig * runif(nrow(.),0.75,1.25))) %>% 
+    # gültig
+    rename(stimmen = D, a_datum = datum) %>% 
+    mutate(stimmen = B - C) %>% 
+    # Jetzt die Zufallswerte eintragen
+    mutate(across(starts_with("D"), ~ runif(length(.), 0, 1)))   %>%
+    # Normalisiere so, dass Summe = stimmen
+    mutate(summe = D1+D2+D3+D4) %>%  
+    mutate(across(starts_with("D"), ~ . / summe  * stimmen)) %>% 
+    mutate(across(starts_with("D"), ~ round(.))) %>% 
+    select(-summe) %>% 
+    # die Spalte stimmen in D umbenennen (so hätte sie vorher gestört)
+    rename(D = stimmen, datum = a_datum)
+  
+  # Kurze Statusmeldung
+  cat("Neu gemeldet:",nrow(tmp_neu_df),"noch offen:",nrow(tmp_offen_df),"\n")
+  # Phew. Aktualisierte Testdatei zusammenführen und anlegen. 
+  vorlage_wahllokale_df <- tmp_gemeldet_df %>% 
+    bind_rows(tmp_neu_df) %>% 
+    bind_rows(tmp_offen_df) %>%
+    # wieder in die Reihenfolge nach Wahllokal-Nummer
+    arrange(`gebiet-nr`)
+  
+  write_csv2(vorlage_wahllokale_df,
+             paste0("testdaten/wahllokale",
+                    sprintf("%02i",i),
+                    ".csv"),
+             escape = "backslash")
+  # Generiere die passende Ortsteil-Meldung
+  # Geht aus irgeneindem Grund nicht, aber wir brauchens ja auch nicht. 
+  # ortsteile_df <- zuordnung_wahllokale_df %>% 
+  #   select(`gebiet-name` = name,ortsteilnr) %>% 
+  #   left_join(vorlage_wahllokale_df,by="gebiet-name") %>% 
+  #   # Zuordnung der Wahllokale
+  #   group_by(ortsteilnr) %>% 
+  #   # Das crasht - WTF???
+  #   summarize(across(7:18, ~ sum(.,na.rm = T))) %>%
+  #   left_join(stadtteile_df %>% select(ortsteilnr = nr,name),by="ortsteilnr") %>% 
+  #   rename(`gebiet-nr` = ortsteilnr) %>% 
+  #   mutate(`gebiet-name` = name) %>% 
+  #   select(-ortsteilnr) 
+    
+  i <- i+1
+  # Wahlbeteiligung schrittweise ein wenig anheben - um zu simulieren, 
+  # dass "kleinere" Wahllokale zuerst ausgezählt werden
+  c_wahlbeteiligung <- c_wahlbeteiligung + 0.002
+}
+cat("DONE.")
+
diff --git a/R/Vorbereitung/kartentest.R b/R/Vorbereitung/kartentest.R
new file mode 100644
index 0000000000000000000000000000000000000000..b8f513f8bf941f4deb290807be0b8d15a45e2006
--- /dev/null
+++ b/R/Vorbereitung/kartentest.R
@@ -0,0 +1,37 @@
+require(lubridate)
+require(DatawRappr)
+require(tidyr)
+require(dplyr)
+require(readr)
+
+test_id <- "llDXC"
+
+
+# Aktuelles Verzeichnis als workdir
+setwd(this.path::this.dir())
+# testdaten <- read_csv(paste0("data-",test_id,".csv")) %>% 
+#     mutate(kand1 = runif(nrow(.),1,30))
+
+# Wird alle 15min aufgerufen
+# dw_data_to_chart(testdaten,test_id)
+# dw_edit_chart(test_id,title=paste0("TEST ",now()))
+# dw_publish_chart(test_id)
+# cat("Testdaten erfolgreich auf ",test_id," geschrieben")
+# 
+kandnamen <- c("Becker (CDU)",
+               "Josef (SPD)",
+               "Rottmann (Grüne)",
+               "Wirth (unabh.)",
+               "Mehler-Würzbach (Linke)")
+
+testdaten2 <- tibble(`Kandidat/in` = kandnamen, 
+                     Stimmenanteil = round(runif(5,5,30),5))
+
+test_id <- "Gsg8E"
+
+write_csv(testdaten2,"testdaten2.csv")
+# dw_data_to_chart(testdaten2,test_id)
+system('gsutil -h "Cache-Control:no-cache, max_age=0" cp testdaten2.csv gs://d.data.gcp.cloud.hr.de/testdaten2.csv')
+dw_edit_chart(test_id,title=paste0("TEST ",now()))
+dw_publish_chart(test_id)
+cat("Testdaten erfolgreich auf ",test_id," geschrieben")
diff --git a/R/Vorbereitung/socialmedia_test.R b/R/Vorbereitung/socialmedia_test.R
new file mode 100644
index 0000000000000000000000000000000000000000..fdd7deba5883b73bbd77b38072110a277624c996
--- /dev/null
+++ b/R/Vorbereitung/socialmedia_test.R
@@ -0,0 +1,51 @@
+# socialmedia_test.R
+#
+# Schickt mit der Funktion generiere_socialmedia() aus der Datei aktualisiere_karten
+# eine Teams-Nachricht
+
+library(pacman)
+
+# Laden und ggf. installieren
+p_load(this.path)
+p_load(readr)
+p_load(lubridate)
+p_load(tidyr)
+p_load(stringr)
+p_load(dplyr)
+p_load(DatawRappr)
+p_load(curl)
+p_load(magick)
+p_load(openxlsx)
+
+rm(list=ls())
+
+# Lies Test-Config, falls aktiviert
+TEST = TRUE
+
+# Aktuelles Verzeichnis als workdir
+setwd(this.path::this.dir())
+# Aus dem R-Verzeichnis eine Ebene rauf
+setwd("..")
+
+# Messaging-Funktionen einbinden
+source("R/messaging.R")
+
+
+# Hole die Konfiguration und die Index-Daten
+check = tryCatch(
+  { 
+    source("R/lies_konfiguration.R")
+  },
+  warning = function(w) {teams_warning(w,title="OBWAHL: Warnung beim Lesen der Konfigurationsdatei")},
+  error = function(e) {teams_error(e,title="OBWAHL: Konfigurationsdatei nicht gelesen!")})
+
+# Funktionen einbinden
+# Das könnte man auch alles hier in diese Datei schreiben, aber ist es übersichtlicher.
+# source("R/lies_aktuellen_stand.R")
+source("R/aktualisiere_karten.R")
+
+ts = now()
+# String generieren
+some_linktext <- generiere_socialmedia()
+
+teams_meldung("<h2>Socialmedia-Test</h2>",some_linktext,title = wahl_name)
diff --git a/R/Vorbereitung/teste-curl-polling.R b/R/Vorbereitung/teste-curl-polling.R
new file mode 100644
index 0000000000000000000000000000000000000000..e026a379624f6265c2e6d1f30cebd98155834ac7
--- /dev/null
+++ b/R/Vorbereitung/teste-curl-polling.R
@@ -0,0 +1,54 @@
+my_url1 <- "https://www.untergeek.de/files/test.csv"
+my_url2 <- "https://www.eggers-elektronik.de/files/test.csv"
+my_url3 <- "https://votemanager-ffm.ekom21cdn.de/2022-11-06/06412000/praesentation/opendata-wahllokale.csv"
+
+library(curl)
+library(tidyr)
+library(dplyr)
+library(lubridate)
+
+# library(readr)
+tst <- read_csv2(my_url3,skip=1)
+
+# Base R: 
+# Das funktioniert, wenn es keinen Redirect gibt
+tmp <- curlGetHeaders(my_url2, redirect = T, verify = F)
+t <- tmp[stringr::str_detect(tmp,"last-modified")] %>% 
+  stringr::str_replace("last-modified: ","") %>% 
+  parse_date_time("%a, %d %m %Y %H:%M:%S", tz = "GMT")
+
+# Library(curl)
+h <- new_handle()
+# Das funktioniert, holt aber alle Daten -> hohe Last
+tmp2 <- curl_fetch_memory(my_url3,
+                          handle=h)$modified %>% 
+  as_datetime()
+# Das richtige Argument im handle, um nur den Header zu holen? KA. 
+
+# Das funktioniert
+library(RCurl)
+if(url.exists(my_url)) {
+  h = RCurl::basicHeaderGatherer()
+  RCurl::getURI(my_url,
+         headerfunction = h$update)
+  names(h$value())
+  t <-tibble(n=names(h$value()),v=h$value()) %>% 
+    filter(n=="last-modified") %>% 
+    pull(v) %>% parse_date_time("%a, %d %m %Y %H:%M:%S", tz = "GMT")
+}
+
+tmp <- curl_fetch_memory(my_url)$modified
+for (i in 0:1000) {
+  
+  tmp2 <- curl_fetch_memory(my_url)$modified
+  if (tmp != tmp2) {
+    tmp <- tmp2
+    cat("Timestamp: ",tmp,"\n")
+  }
+  Sys.sleep(5)
+  cat(".")
+  
+}
+
+library(openxlsx)
+curl_options("header")
diff --git a/R/Vorbereitung/wahllokal-geocoding.R b/R/Vorbereitung/wahllokal-geocoding.R
new file mode 100644
index 0000000000000000000000000000000000000000..b7410f4a6e61a564e65f24b4f1cbb80cd74783e5
--- /dev/null
+++ b/R/Vorbereitung/wahllokal-geocoding.R
@@ -0,0 +1,23 @@
+# Geocoding der Wahllokale in OF
+
+# One-off, könnte man sicher auch mit der config.csv steuern
+
+library(pacman)
+p_load(dplyr)
+p_load(tidyr)
+p_load(tidygeocoder)
+p_load(readr)
+
+
+# Lies die Datei mit den Wahllokalen
+wl_df <- read_csv2("index/obwahl_of_2023/shapefiles/opendata-wahllokale.csv") %>% 
+  select(name = `Wahlraum-Bezeichnung`,
+         street = `Wahlraum-Adresse`) %>% 
+  distinct(name,street)
+
+geo_df <- wl_df %>% 
+  mutate(country = "Germany",
+         city = "Offenbach am Main") %>% 
+  geocode(address = street)
+
+write_csv(geo_df,"index/obwahl_of_2023/shapefiles/wahllokale_geocodiert.csv")
diff --git a/R/aktualisiere_karten.R b/R/aktualisiere_karten.R
index c3e641f753ff9292348ec23ee08af70b5b6f6f5c..d9f110fb55b9ac88170f81df4ec03dc54e2ba47e 100644
--- a/R/aktualisiere_karten.R
+++ b/R/aktualisiere_karten.R
@@ -3,6 +3,23 @@
 #' Die Funktionen, um die Grafiken zu aktualisieren - und Hilfsfunktionen
 #' 
 
+
+# Sonderbehandlung für OF: 
+#
+# Hier sind die Stimmbezirke leider überhaupt nicht an den Stadtteilen
+# ausgerichtet - deshalb wird nach Wahllokal gruppiert. 
+# Und es gibt ein "Wahllokal" mit allen Briefwahl-Ergebnissen, weil
+# die Briefwahl-Bezirke leider auch komplett quer zugeordnet sind - 
+# und nicht etwa so, dass man sie klar einem Wahllokal zuordnen könnte.
+# 'Historische Gründe' schulterzuckt die Offenbacher Stadtverwaltung.
+#
+# Also brauchen wir eine Möglichkeit, den String "Stadtteil" durch "Ortsteil"
+# oder "Wahllokal" zu ersetzen. 
+#---- String "Stadtteil" ggf. ersetzen ----
+if (!exists("stadtteil_str")) {
+  stadtteil_str <- "Stadtteil"
+}
+
 #---- Generiere den Fortschrittsbalken ----
 
 
@@ -95,9 +112,12 @@ link_text <- function(id,id_colour,text) {
 generiere_switcher <- function(switcher_df,selected = 0) {
   # Ist der Switcher auf 0 - der Stärkste-Kandidaten-Übersichtskarte?
   if (selected == 0) {
-    text <- link_text(karte_sieger_id,"#F0F0FF","<strong>Sieger nach Stadtteil</strong>")
+    text <- link_text(karte_sieger_id,"#F0F0FF",
+                      paste0("<strong>Sieger nach ",
+                             stadtteil_str,"</strong>"))
   } else {
-    text <- link_text(karte_sieger_id,"#333333","Sieger nach Stadtteil")
+    text <- link_text(karte_sieger_id,"#333333",
+                      paste0("Sieger nach ",stadtteil_str))
   }
   for (i in 1:nrow(switcher_df)) {
     if (i == selected) {
@@ -127,9 +147,24 @@ karten_titel_html <- function(kandidat_s) {
   # TBD
 }
 
+variablerize <- function(name,partei) {
+  # Formt aus Namen und Parteikürzel einen Datawrapper-
+  # Variablennamen.
+  # Aus Leerzeichen und Bindestrichen werden Unterstriche
+  # Aus Großbuchstaben werden Kleinbuchstaben
+  # Aus Sonderzeichen wird nix
+  name <- gsub("[ \\-]","_",name) %>% 
+    tolower(.) %>% 
+    iconv("latin1", "ASCII", sub="")
+  partei <- gsub("[ \\-]","_",partei) %>% 
+    tolower(.) %>% 
+    iconv("latin1", "ASCII", sub="")
+  return(paste0(name,"_",partei))
+}
+
 karten_body_html <- function(top = 5) {
   # TBD
-  text <- "<p style='font-weight: 700;'>Ausgezählt: {{ meldungen_anz }} von {{ meldungen_max }} Wahllokalen{{ meldungen_max != meldungen_anz ? ' - Trendergebnis' : ''}}</p>"
+  text <- "<p style='font-weight: 700;'>Ausgezählt: {{ meldungen_anz }} von {{ meldungen_max }} Stimmbezirken{{ meldungen_max != meldungen_anz ? ' - Trendergebnis' : ''}}</p>"
   # Generiere String mit allen Prozent-Variablen
   prozent_s <- paste0(paste0("prozent",1:top),collapse=",")
   # Tabellenöffnung
@@ -156,7 +191,7 @@ karten_body_html <- function(top = 5) {
 # Schreibe die Switcher und die Farbtabellen in alle betroffenen Datawrapper-Karten
 vorbereitung_alle_karten <- function() {
   # Vorbereiten: df mit Kandidierenden und Datawrapper-ids
-  # Alle Datawrapper-IDs in einen Vektor extrahieren
+  # Alle Datawrapper-IDs  der Kandidaten-Karten in einen Vektor extrahieren
   id_df <- config_df %>% 
     filter(str_detect(name,"_kand[0-9]+")) %>% 
     mutate(Nummer = as.integer(str_extract(name,"[0-9]+"))) %>% 
@@ -166,7 +201,7 @@ vorbereitung_alle_karten <- function() {
     select(Nummer, Vorname, Name, Parteikürzel, Farbwert) %>% 
     left_join(id_df, by="Nummer")
   text_pre <- "<strong>Wählen Sie eine Karte über die Felder:</strong><br>"
-  text_post <- "<br><br>Klick auf den Stadtteil zeigt, wer dort führt"
+  text_post <- "<br><br>Klick auf einzelnes Gebiet zeigt, wer dort führt"
   balken_text <- generiere_auszählungsbalken(gezaehlt,stimmbezirke_n,ts)
   dw_intro=paste0(text_pre,generiere_switcher(switcher_df,0),text_post)
   # Farbskala und Mouseover anpassen
@@ -178,10 +213,19 @@ vorbereitung_alle_karten <- function() {
   visualize[["colorscale"]][["map"]] <- setNames(as.list(kandidaten_df$Farbwert),
                                                  kandidaten_df$Name)
   # Karten-Tooltipp anpassen
-  # visualize[["tooltip"]][["title"]] <- karten_title_html(kandidat_s)
+  visualize[["tooltip"]][["title"]] <- "{{ name }} - {{ meldungen_anz < meldungen_max ? (meldungen_anz == 0 ? \"KEINE DATEN\" : \"TREND\") : \"\" }}"
   visualize[["tooltip"]][["body"]] <- karten_body_html(top)
+  # Orte löschen
+  visualize[["labels"]][["places"]] <- NULL
   
-  dw_edit_chart(karte_sieger_id,intro = dw_intro, annotate = balken_text, visualize = visualize)
+  # Karten-Titel und Metadaten anpassen
+  dw_edit_chart(karte_sieger_id,
+                title = paste0("Trend: Ergebnis nach ",stadtteil_str),
+                intro = dw_intro, 
+                annotate = balken_text, 
+                visualize = visualize,
+                source_name = obwahl_q_name,
+                source_url = obwahl_q_url)
   # dw_data_to_chart()
   # dw_publish_chart(karte_sieger_id)
   
@@ -192,8 +236,8 @@ vorbereitung_alle_karten <- function() {
     titel_s <- paste0(switcher_df$Vorname[i]," ",
                      switcher_df$Name[i]," (",
                      switcher_df$Parteikürzel[i],") - ",
-                     "Ergebnis nach Stadtteil")
-    kandidat_s <- paste0(switcher_df$name[i],
+                     "Ergebnis nach ",stadtteil_str)
+    kandidat_s <- paste0(switcher_df$Name[i],
                          " (",
                          switcher_df$Parteikürzel[i])
     metadata_chart <- dw_retrieve_chart_metadata(switcher_df$dw_id[i])
@@ -205,13 +249,23 @@ vorbereitung_alle_karten <- function() {
     visualize[["colorscale"]][["colors"]][[1]]$color <- aufhellen(switcher_df$Farbwert[i])
     visualize[["colorscale"]][["colors"]][[1]]$position <- 0
     # Karten-Tooltipp anpassen
-    # visualize[["tooltip"]][["title"]] <- karten_title_html(kandidat_s)
+    visualize[["tooltip"]][["title"]] <- paste0(
+      "{{ name }} - ",
+      switcher_df$Name[i]," (",
+      switcher_df$Parteikürzel[i],"): {{ FORMAT(",
+      variablerize(switcher_df$Name[i],switcher_df$Parteikürzel[i]), 
+      "\"0.0%\") }}"
+    )
+    # Orte löschen
+    visualize[["labels"]][["places"]] <- NULL
     visualize[["tooltip"]][["body"]] <- karten_body_html(top)
     dw_edit_chart(switcher_df$dw_id[i],
                   title = titel_s,
                   intro = dw_intro,
                   visualize = visualize,
-                  annotate = balken_text)
+                  annotate = balken_text,
+                  source_name = obwahl_q_name,
+                  source_url = obwahl_q_url)
     # dw_data_to_chart()
     # dw_publish_chart(switcher_df$dw_id)
   }
@@ -246,7 +300,9 @@ generiere_socialmedia <- function() {
     setNames(as.list(kandidaten_df$Farbwert), 
              paste0(kandidaten_df$Name," (",
                     kandidaten_df$Parteikürzel,")"))
-  dw_edit_chart(chart_id = social2_id, visualize = visualize)
+  dw_edit_chart(chart_id = social2_id, visualize = visualize,
+                source_name = obwahl_q_name,
+                source_url = obwahl_q_url)
   dw_data_to_chart(kand_tabelle_df, chart_id = social2_id)
   social2_png <- dw_export_chart(social2_id,type = "png",unit="px",mode="rgb", scale = 1, 
                   width = 640, height = 640, plain = TRUE, transparent = T)
@@ -258,13 +314,13 @@ generiere_socialmedia <- function() {
   #...und auf den Bucket schieben. 
   if (SERVER) {
     system(paste0('gsutil -h "Cache-Control:no-cache, max_age=0" ',
-                  'cp ',social1_fname,' gs://d.data.gcp.cloud.hr.de/', social1_fname))
+                  'cp ',social1_fname,' gs://d.data.gcp.cloud.hr.de/obwahl/', social1_fname))
     system(paste0('gsutil -h "Cache-Control:no-cache, max_age=0" ',
-                  'cp ',social2_fname,' gs://d.data.gcp.cloud.hr.de/', social2_fname))
+                  'cp ',social2_fname,' gs://d.data.gcp.cloud.hr.de/obwahl/', social2_fname))
   }
-  linktext <- paste0("<a href='https://d.data.gcp.cloud.hr.de/",social1_fname,
+  linktext <- paste0("<a href='https://d.data.gcp.cloud.hr.de/obwahl/",social1_fname,
                      "'>Download Social-Grafik 1 (5 stärkste)</a><br/>",
-                     "<a href='https://d.data.gcp.cloud.hr.de/",social2_fname,
+                     "<a href='https://d.data.gcp.cloud.hr.de/obwahl/",social2_fname,
                      "'>Download Social-Grafik 2 (alle Stimmen)</a><br/>")
   return(linktext)
 }
@@ -280,7 +336,7 @@ aktualisiere_top <- function(kand_tabelle_df,top=5) {
   # Daten aufs Google Bucket (für CORS-Aktualisierung)
   if (SERVER) {
     write.csv(daten_df,"daten/top.csv")
-    system('gsutil -h "Cache-Control:no-cache, max_age=0" cp daten/top.csv gs://d.data.gcp.cloud.hr.de/obwahl_top.csv')
+    system('gsutil -h "Cache-Control:no-cache, max_age=0" cp daten/top.csv gs://d.data.gcp.cloud.hr.de/obwahl/top.csv')
   }
   # Intro_Text nicht anpassen. 
   # Balken reinrendern
@@ -294,7 +350,9 @@ aktualisiere_top <- function(kand_tabelle_df,top=5) {
     setNames(as.list(kandidaten_df$Farbwert), 
              paste0(kandidaten_df$Name," (",
                     kandidaten_df$Parteikürzel,")"))
-  dw_edit_chart(chart_id = top_id,annotate = balken_text, visualize=visualize)
+  dw_edit_chart(chart_id = top_id,annotate = balken_text, visualize=visualize,
+                source_name = obwahl_q_name,
+                source_url = obwahl_q_url)
   dw <- dw_publish_chart(chart_id = top_id)
 }
 
@@ -304,7 +362,7 @@ aktualisiere_tabelle_alle <- function(kand_tabelle_df) {
   dw_data_to_chart(kand_tabelle_df, chart_id = tabelle_alle_id)
   if (SERVER) {
     write.csv(kand_tabelle_df,"daten/kand_tabelle.csv")
-    system('gsutil -h "Cache-Control:no-cache, max_age=0" cp daten/kand_tabelle.csv gs://d.data.gcp.cloud.hr.de/obwahl_kand_tabelle.csv')
+    system('gsutil -h "Cache-Control:no-cache, max_age=0" cp daten/kand_tabelle.csv gs://d.data.gcp.cloud.hr.de/obwahl/kand_tabelle.csv')
   }
   balken_text <- generiere_auszählung_nurtext(gezaehlt,stimmbezirke_n,ts)
   # Metadaten anpassen: Farbcodes für Parteien
@@ -318,7 +376,9 @@ aktualisiere_tabelle_alle <- function(kand_tabelle_df) {
   # Irrtümlich waren die Werte auch noch in visualize[["custom-color"]] gespeichert.
   visualize[["custom-colors"]] <- NULL
   visualize[["color-category"]] <- NULL
-  dw_edit_chart(chart_id = tabelle_alle_id, annotate = balken_text, visualize = visualize)
+  dw_edit_chart(chart_id = tabelle_alle_id, annotate = balken_text, visualize = visualize,                  
+                source_name = obwahl_q_name,
+                source_url = obwahl_q_url)
   dw_publish_chart(chart_id = tabelle_alle_id)
 }
 
@@ -328,17 +388,21 @@ aktualisiere_karten <- function(ergänzt_df) {
   # Die noch überhaupt nicht gezählten Bezirke ausfiltern
   ergänzt_f_df <- ergänzt_df %>% filter(meldungen_anz > 0)
   balken_text = generiere_auszählungsbalken(gezaehlt,stimmbezirke_n,ts)
-  dw_edit_chart(chart_id = karte_sieger_id, annotate = balken_text)
+  dw_edit_chart(chart_id = karte_sieger_id, annotate = balken_text,
+                source_name = obwahl_q_name,
+                source_url = obwahl_q_url)
   # Daten pushen
   dw_data_to_chart(ergänzt_f_df,chart_id = karte_sieger_id)
   if (SERVER) {
     write.csv(ergänzt_f_df,"daten/ergaenzt.csv")
-    system('gsutil -h "Cache-Control:no-cache, max_age=0" cp daten/ergaenzt.csv gs://d.data.gcp.cloud.hr.de/obwahl_ergaenzt.csv')
+    system('gsutil -h "Cache-Control:no-cache, max_age=0" cp daten/ergaenzt.csv gs://d.data.gcp.cloud.hr.de/obwahl/ergaenzt.csv')
   }
   dw <- dw_publish_chart(karte_sieger_id)
   # Jetzt die Choropleth-Karten für alle Kandidierenden
   for (i in 1:nrow(switcher_df)) {
-    dw_edit_chart(chart_id=switcher_df$dw_id[i],annotate = balken_text)
+    dw_edit_chart(chart_id=switcher_df$dw_id[i],annotate = balken_text,
+                  source_name = obwahl_q_name,
+                  source_url = obwahl_q_url)
     dw_data_to_chart(ergänzt_f_df, chart_id = switcher_df$dw_id[i])
     dw <- dw_publish_chart(switcher_df$dw_id[i])
   }
@@ -351,7 +415,7 @@ aktualisiere_hochburgen <- function(hochburgen_df) {
   dw_data_to_chart(hochburgen_df, chart_id = hochburgen_id)
   if (SERVER) {
     write.csv(hochburgen_df,"daten/hochburgen.csv")
-    system('gsutil -h "Cache-Control:no-cache, max_age=0" cp daten/hochburgen.csv gs://d.data.gcp.cloud.hr.de/obwahl_hochburgen.csv')
+    system('gsutil -h "Cache-Control:no-cache, max_age=0" cp daten/hochburgen.csv gs://d.data.gcp.cloud.hr.de/obwahl/hochburgen.csv')
   }
   balken_text <- generiere_auszählung_nurtext(gezaehlt,stimmbezirke_n,ts)
   # Metadaten anpassen: Farbcodes für Parteien
@@ -370,6 +434,9 @@ aktualisiere_hochburgen <- function(hochburgen_df) {
   cat("Hochburgen-Grafik neu publiziert\n")
 }
 
+
+# Experiment: Die Ergebnistabellen-Daten und -Metadaten bei Server-Betrieb live anlegen und auf den 
+# google bucket ausspielen. 
 aktualisiere_ergebnistabelle <- function(stadtteildaten_df) {
   # Nr des Stadtteils, Stadtteil, Wahlbeteiligung (Info), Ergebnis
   # Wahlbeteiligung und Ergebnis sind jeweils HTML-Text mit den Daten
@@ -449,21 +516,42 @@ aktualisiere_ergebnistabelle <- function(stadtteildaten_df) {
     ungroup() %>% 
     arrange(sort) %>% 
     select(-name,-sort)
-  # Daten pushen
-  dw_data_to_chart(ergebnistabelle_df %>% select(-nr), chart_id = tabelle_stadtteile_id)
-  if (SERVER) {
-    write.csv(ergebnistabelle_df,"daten/stadtteile.csv")
-    system('gsutil -h "Cache-Control:no-cache, max_age=0" cp daten/stadtteile.csv gs://d.data.gcp.cloud.hr.de/obwahl_stadtteile.csv')
-  }
-    # Trendergebnis? Schreibe "Trend" oder "Endergebnis" in den Titel
   gezählt <- e_tmp_df %>% pull(meldungen_anz) %>% sum(.)
   stimmbezirke_n <- e_tmp_df %>% pull(meldungen_max) %>% sum(.)
   ts <- stadtteildaten_df %>% pull(zeitstempel) %>% first()
   titel_s <- paste0(ifelse(gezählt < stimmbezirke_n,"TREND: ",""),
-                    "Ergebnisse nach Stadtteil")
-  dw_edit_chart(chart_id = tabelle_stadtteile_id,title = titel_s,
-                annotate=generiere_auszählung_nurtext(gezählt,stimmbezirke_n,ts))
-  dw_publish_chart(tabelle_stadtteile_id)
-  cat("Ergebnistabelle nach Stadtteil publiziert\n")
+                    "Ergebnisse nach ",stadtteil_str)
+  # Daten pushen
+  #
+  # CODE FÜR DEN TEST: Lege eine alternative Stadtteile-Grafik an und pushe auf die
+  test_stadtteile_id = "tV59P"
+  # In dieser Datawrapper-Tabelle trage ich von Hand die CSV- und JSON-Quellen übers Backend ein.
+  # Sollte etwas schief gehen, liegt die Standard-Tabellengrafik tabelle_stadtteile_id 
+  # (Offenbach: "PNtz1") bereit und kann in Sophora eingetragen werden. 
+  if (SERVER) {
+    # Wenn Server: CSV auf den Google Bucket
+    write.csv(ergebnistabelle_df,"daten/stadtteile.csv")
+    # Leere Liste (für das JSON mit den Metadaten-Änderungen)
+    metadata <- list()
+    metadata[["describe"]][["intro"]][[1]] <- "Ergebnisse aufgeschlüsselt nach Wahllokal bzw. Briefwahl"
+    metadata[["annotate"]][["notes"]][[1]] <- generiere_auszählung_nurtext(gezählt,stimmbezirke_n,ts)
+    metadata[["title"]] <- paste0(titel_s,".")
+    # JSON-File anlegen...
+    metadata_json <- toJSON(metadata,force=T)
+    write(metadata_json,"daten/stadtteile.json")
+    # ...und auf den Bucket kopieren
+    n <- now()
+    system('gsutil -h "Cache-Control:no-cache, max_age=0" cp daten/stadtteile.* gs://d.data.gcp.cloud.hr.de/obwahl/')
+    # Gib die Zeitdifferenz in die Logdatei/auf die Konsole aus
+    print(now()-n)
+  } # else {
+  { # Code für den Test immer ausführen, um alternativ eine normal 
+    dw_data_to_chart(ergebnistabelle_df %>% select(-nr), chart_id = tabelle_stadtteile_id)
+    # Trendergebnis? Schreibe "Trend" oder "Endergebnis" in den Titel
+    dw_edit_chart(chart_id = tabelle_stadtteile_id,title = titel_s,
+                  annotate=generiere_auszählung_nurtext(gezählt,stimmbezirke_n,ts))
+    dw_publish_chart(tabelle_stadtteile_id)
+  }
+  cat("Ergebnistabelle nach",stadtteil_str,"publiziert\n")
   return(ergebnistabelle_df)
 }
diff --git a/R/lies_aktuellen_stand.R b/R/lies_aktuellen_stand.R
index 685c7c669ddc578d6ef72b689568a92cbd43bdd1..370210c82a0d05dd956d7fdf02c172e3d166b300 100644
--- a/R/lies_aktuellen_stand.R
+++ b/R/lies_aktuellen_stand.R
@@ -81,14 +81,15 @@ check_for_timestamp <- function(my_url) {
       h <- new_handle()
       # Das funktioniert, holt aber alle Daten -> hohe Last
       t <- curl_fetch_memory(my_url,handle=h)$modified %>% 
-        as_datetime()
+        as_datetime() + hours(1)
     # } else {
     #   t <- tmp[stringr::str_detect(tmp,"last-modified")] %>% 
     #     stringr::str_replace("last-modified: ","") %>% 
     #     parse_date_time("%a, %d %m %Y %H:%M:%S",tz = "CET") 
     # }
   } else { # lokale Datei
-    t = file.info(my_url)$mtime %>%  as_datetime
+    t = file.info(my_url)$ctime %>%  as_datetime
+    print(t)
   }
   return(t)
 }
@@ -293,7 +294,7 @@ berechne_hochburgen <- function(stadtteildaten_df = stadtteildaten_df) {
 hole_wahldaten <- function() {
       # Hole und archiviere die Stimmbezirks-Daten; 
       # erzeuge ein df mit den Stimmen nach Stadtteil. 
-      stimmbezirksdaten_df <<- lies_stimmbezirke(stimmbezirke_url)
+      stimmbezirksdaten_df <<- lies_stimmbezirke(stimmbezirke_url) 
       gezaehlt <<- stimmbezirksdaten_df %>% pull(meldungen_anz) %>% sum(.)
       archiviere(stimmbezirksdaten_df,paste0("daten/",wahl_name,"/"))
       kand_tabelle_df <<- berechne_kand_tabelle(stimmbezirksdaten_df)
diff --git a/R/lies_konfiguration.R b/R/lies_konfiguration.R
index 4c4d629148e81b2f3cb2fc2bd64c447a48a5b779..5318b1c16aaeff83683b8929f201f37f9e8c91bd 100644
--- a/R/lies_konfiguration.R
+++ b/R/lies_konfiguration.R
@@ -29,8 +29,11 @@
 # setze ihn erst mal auf das derzeitige Verzeichnis. 
 if (exists("wahl_name")) {
   index_pfad = paste0("index/",wahl_name,"/")
+  if (!dir.exists(index_pfad)) {
+    index_pfad <- "index/"
+  }
 } else {
-  index_pfad = paste0("index/")
+  index_pfad <- "index/"
 }
 
 # Lies die Indexdatei aus dem Verzeichnis wahl_name. 
@@ -95,3 +98,8 @@ kandidaten_df <- lies_daten(paste0("index/",wahl_name,"/",kandidaten_fname))
 # Läufst du auf dem Server?
 SERVER <- dir.exists("/home/jan_eggers_hr_de") 
 
+# Keine Quell-URL?
+if (!exists("obwahl_q_url")) {
+  obwahl_q_url <- stimmbezirke_url
+}
+
diff --git a/R/main.R b/R/main.R
index a4cb93c50b14b68d58608fa24ea1ee0b6ec8b1f7..85b4f71a323bf1ad31eee283d08893aaabae0dc1 100644
--- a/R/main.R
+++ b/R/main.R
@@ -12,18 +12,42 @@ p_load(curl)
 p_load(magick)
 p_load(openxlsx)
 p_load(R.utils)
+p_load(jsonlite)
 
 rm(list=ls())
 
+# Aktuelles Verzeichnis als workdir
+setwd(this.path::this.dir())
+# Aus dem R-Verzeichnis eine Ebene rauf
+setwd("..")
+
+# Lies Kommandozeilen-Parameter: 
+# (Erweiterte Funktion aus dem R.utils-Paket)
 TEST = FALSE
 DO_PREPARE_MAPS = FALSE
+NO_SOCIAL = TRUE
+args = R.utils::commandArgs(asValues = TRUE)
+if (length(args)!=0) { 
+  if (any(c("h","help","HELP") %in% names(args))) {
+    cat("Parameter: \n",
+        "--TEST schaltet Testbetrieb ein\n",
+        "--DO_PREPARE_MAPS schaltet Generierung der Switcher ein\n",
+        "wahl_name=<name> holt Index-Dateien aus dem Verzeichnis ./index/<name>\n\n")
+  }
+  TEST <- "TEST" %in% names(args)
+  DO_PREPARE_MAPS <- "DO_PREPARE_MAPS" %in% names(args)
+  if ("wahl_name" %in% names(args)) {
+    wahl_name <- args[["wahl_name"]]
+    if (!dir.exists(paste0("index/",wahl_name))) stop("Kein Index-Verzeichnis für ",wahl_name)
+  }
+} 
+
+# Defaults
+if (!exists("wahl_name")) wahl_name = "obwahl"
+
 
 
 
-# Aktuelles Verzeichnis als workdir
-setwd(this.path::this.dir())
-# Aus dem R-Verzeichnis eine Ebene rauf
-setwd("..")
 
 # Logfile anlegen, wenn kein Test
 if (!TEST) {
@@ -85,7 +109,7 @@ if (DO_PREPARE_MAPS) {
 while (gezaehlt < stimmbezirke_n) {
   check = tryCatch(
     { # Zeitstempel der Daten holen
-      ts_daten <- check_for_timestamp(stimmbezirke_url) + hours(1)
+      ts_daten <- check_for_timestamp(stimmbezirke_url)
     },
     warning = function(w) {teams_warning(w,title=paste0(wahl_name,": CURL-Polling"))},
     error = function(e) {teams_warning(e,title=paste0(wahl_name,": CURL-Polling"))}
diff --git a/R/main_oneshot.R b/R/main_oneshot.R
index b23dd48f9ce2fa37bb0acc0e0107d469fe5496e0..c1f5052dfce903ed5329c3f4dd5b51c433d69ed3 100644
--- a/R/main_oneshot.R
+++ b/R/main_oneshot.R
@@ -12,6 +12,8 @@ p_load(curl)
 p_load(magick)
 p_load(openxlsx)
 p_load(R.utils)
+p_load(teamr)
+p_load(jsonlite)
 
 rm(list=ls())
 
@@ -39,9 +41,9 @@ if (length(args)!=0) {
 } 
 
 # Defaults
-if (!exists("wahl_name")) wahl_name = "obwahl_ffm_stichwahl_2023"
-if (!exists("TEST")) TEST = FALSE
-if (!exists("DO_PREPARE_MAPS")) DO_PREPARE_MAPS = FALSE
+if (!exists("wahl_name")) wahl_name = "obwahl"
+TEST = TRUE
+DO_PREPARE_MAPS = TRUE
 NO_SOCIAL = TRUE
 
 
diff --git a/README.md b/README.md
index 906c26dbcc3e019c9b2a9698cd79d2a4526ed24a..dbaa4038dfa08d9ae8225b2ba1baf553965df45b 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,7 @@
 # obwahlen
 
+(Stand: 9.9.2023)
+
 R-Code, um den Auszählungsstand hessischer Bürgermeisterwahlen in Echtzeit abzurufen und mit Datawrapper darzustellen (Frankfurt, Kassel Darmstadt)
 
 Benötigt: 
@@ -20,6 +22,8 @@ Wir setzen Datawrapper zur Ausgabe der Grafiken ein, das auch unter Last äußer
 
 Die Datawrapper-Darstellungen müssen derzeit noch von Hand angelegt werden - im Fall der Karten mit einem korrekten Shapefile als .geojson. Mehr bei [Datawrapper](https://academy.datawrapper.de/article/145-how-to-upload-your-own-map); wie man mit QGIS aus einem .shp-File ein .geojson mit Zentrierpunkten und Tabellen erstellt, [ist stichpunktartig hier dokumentiert](howto_shapefile.md)
 
+Wenn die Datawrapper-Karten einmal angelegt sind, werden sie vom Vorbereitungs-Skript in die richtige Form gebracht - Parteifarben, Fortschrittsbalken, Beschriftung wird alles vom Code generiert. 
+
 ## Ordnerstruktur
 
 - **R** enthält den Code
@@ -77,7 +81,7 @@ tabelle_stadtteile_id | Die Datawrapper-ID für die Tabelle mit den Gesamtergebn
 social1_id | Für Social Media: ID der Top-Säulengrafik
 social2_id | Für Social Media: ID einer Kopie der Gesamt-Tabelle/Balkengrafik
 
-- Tabelle kandidaten.xlsx (im Unterordner mit dem Wahlnamen) enthält folgende Spalten: 
+- Tabelle ```index/wahlname/kandidaten.csv``` (also z.B. index/obwahl_of_2023/kandidaten.csv) enthält folgende Spalten: 
 Spalte | Wert
 ---- | ----
 Nummer | laufende Nr. des Kandidierenden nach Wahlzettel als ID
@@ -88,7 +92,7 @@ Partei | Vollständiger Parteiname (derzeit nicht verwendet)
 Farbwert | Die Kampagnenfarbe bzw. die Farbe für die Darstellungen des Kandidierenden als Hex-RGB-String, also z.B. "#B92837"
 URL | Verlinkung auf den Hintergrundartikel zum Kandidaten (derzeit nicht verwendet)
 
-- Die Stadtteil-Datei kann man aus QGIS exportieren, wenn man das Shapefile erstellt (CSV oder XLSX):
+```index/wahlname/stadtteile.csv```- Die Stadtteil-Datei kann man aus QGIS exportieren, wenn man das Shapefile erstellt (CSV oder XLSX):
 
 Spalte | Wert
 ---- | ----
@@ -97,7 +101,7 @@ name | Name des Stadtteils (dient auch als ID, also auf Tippfehler achten!)
 lon | Längengrad des Zentrierpunkts für den Stadtteil
 lat | Breitengrad des Zentrierpunkts für den Stadtteil
 
-- Die Stimmbezirks-Datei enthält die Zuordnungen für die Wahlbezirke zu Stadtteilen und wird aus der Open-Data-Beispieldatei des votemanagers erstellt: 
+```index/wahlname/zuordnung_wahllokale.csv```- Die Stimmbezirks-Datei enthält die Zuordnungen für die Wahlbezirke zu Stadtteilen und wird aus der Open-Data-Beispieldatei des votemanagers erstellt: 
 
 Spalte | Wert
 ---- | ----
@@ -138,14 +142,9 @@ Aggregation auf Stadtebene
 
 ## TODO
 
-- Analyse: Weshalb hängt das Polling manchmal hinterher?
 - Aufruf mit Parametern ermöglichen ("main.R obwahl_ffm_2023")
-- Oneshot-Variante für Kassel
-
-- Auswertung Briefwahldaten
 
 ## Nice-To-Have 
 
 - Zusatzfeature: Briefwahlprognostik - wieviele Stimmen fehlen vermutlich noch?
-- Shapefiles KS, DA verbessern
-- Vergleich letzte Kommunalwahl regulär
\ No newline at end of file
+- Vergleich letzte Kommunalwahl regulär
diff --git a/howto_obwahl.docx b/howto_obwahl.docx
new file mode 100644
index 0000000000000000000000000000000000000000..0cf1b02d97254cfdbb3296aa2896bc08cc43809f
Binary files /dev/null and b/howto_obwahl.docx differ
diff --git a/howto_shapefiles.md b/howto_shapefiles.md
index 981477235c0847ce22de40831048abf1f51ea235..39c12481974ce7d8d34310807f9af40e3a3287a6 100644
--- a/howto_shapefiles.md
+++ b/howto_shapefiles.md
@@ -3,7 +3,7 @@ Notizen: Erstellen eines .geojson-Shapefiles in WGS84 aus einem Standard-Shapefi
 1. Shapefile in QGIS importieren 
 
 2. GEOJSON im richtigen Koordinatensystem erstellen
-Dazu Rechtsklick auf den Layer; Koordinatensystem WGS84, exportieren
+Dazu Rechtsklick auf den Layer; Export/Objekte speichern als... Format GeoJSON, KBS (Koordinatensystem): EPSG:4326 - WGS 84, exportieren.
 
 3. Stadtteile generieren
 Menü "Vektor", "Geometrieverarbeitungswerkzeuge", "Auflösen" - und dann in der Dialogbox auswählen "Felder auflösen [optional]", und dann die Attribute hinzufügen, nach denen zusammengeführt werden soll. 
@@ -32,4 +32,4 @@ Dann noch Geokoordinaten der Zentroidpunkte: Rechte Seite die Toolbox, dort "Vek
 - Laden (falsche Geometrie - das erst zum Schluss fixen!)
 - Vereinfachen: Fläche
 - Auflösen
-- Löcher löschen
\ No newline at end of file
+- Löcher löschen
diff --git a/index/config.csv b/index/config.csv
index 45880e515f46a13f9512ce861df01a77b3ac9e85..af9f3c8b5b8c457d6f4d59e055cd2f9d18963dd6 100644
--- a/index/config.csv
+++ b/index/config.csv
@@ -1,23 +1,24 @@
 name,value,comment
-wahl_name,obwahl_ks_2023,Welche Wahl?
-stimmbezirke_url,https://votemanager-ks.ekom21cdn.de/2023-03-12/06611000/daten/opendata/Open-Data-06611000-Direktwahl-zur-Oberbuergermeisterin-zum-Oberbuergermeister-Wahlbezirk.csv?ts=1678486050153,URL Daten-CSV Stimmbezirke
-wahlberechtigt,147463,Anzahl Wahlberechtigte lt. Wahlamt (kommt Sonntag)
-briefwahl,39092,Anzahl Briefwahlstimmen lt. Wahlamt (kommt Sonntag)
-top,6,Anzahl der Top-Kandidaten in den Darstellungen
-kandidaten_fname,kandidaten.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
-zuordnung_fname,wahlbezirke.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
-stadtteile_fname,stadtteile.csv,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
-startdatum,2023-03-12 16:00:00,Beginn der Auszählung
-top_id,Ts1oS,
-karte_sieger_id,O9wPT,
-karte_kand1_id,hM9SE,Schöller
-karte_kand2_id,07CR4,Carqueville
-karte_kand3_id,whgzp,Kühne-Hörmann
-karte_kand4_id,5CpYu,Bock
-karte_kand5_id,pc6vH,Käufler
-karte_kand6_id,sEJhl,Geselle
-tabelle_alle_id,EQ4dd,
-hochburgen_id,GMTSJ,
-tabelle_stadtteile_id,q7yjs,
-social1_id,Ts1oS,5 stärkste
+wahl_name,obwahl_of_2023,Welche Wahl?
+stimmbezirke_url,https://votemanager-da.ekom21cdn.de/2023-09-17O/06413000/daten/opendata/Open-Data-06413000-Wahl-zur-Oberbuergermeisterin---zum-Oberbuergermeister-Wahlbezirk.csv?ts=1694690494234,URL Daten-CSV Stimmbezirke
+wahlberechtigt,,Anzahl Wahlberechtigte lt. Wahlamt (kommt Sonntag)
+briefwahl,,Anzahl Briefwahlstimmen lt. Wahlamt (kommt Sonntag)
+top,4,Anzahl der Top-Kandidaten in den Darstellungen
+kandidaten_fname,of_kandidaten.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+zuordnung_fname,of_zuordnung.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+stadtteile_fname,of_stadtteile.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+startdatum,2023-09-17 16:00:00,Beginn der Auszählung
+top_id,uNQX6,„Toptorte“
+karte_sieger_id,08FFZ,
+karte_kand1_id,FSFX1,Schwenke (SPD)
+karte_kand2_id,j3E4e,Bruszynski (CDU)
+karte_kand3_id,yf9Z3,Erinç-Çiftçi (LINKE)
+karte_kand4_id,XAnsE,Schaper-Herget (Ofa)
+tabelle_alle_id,rack2,Alle Stimmen mit Balken
+hochburgen_id,ZnhAX,"Tabelle stärkste, schwächste"
+tabelle_stadtteile_id,PNtz1,
+social1_id,8Fckl,5 stärkste
 social2_id,S9BbQ,Alle Stimmen angepasst
+stadtteil_str,Wahllokal,ggf. Ersatz für die Bezeichnung „Stadtteil“
+obwahl_q_name,Wahlamt der Stadt Offenbach,
+obwahl_q_url,https://votemanager-da.ekom21cdn.de/2021-03-14/06413000/html5/OpenDataInfo.html,
diff --git a/index/config_test.csv b/index/config_test.csv
index 8c2e436731078e59a1d0619b113f72e81e26311d..62ec19ebd02e5f8208032ef62e940bdae282eccd 100644
--- a/index/config_test.csv
+++ b/index/config_test.csv
@@ -1,23 +1,24 @@
 name,value,comment
-wahl_name,obwahl_ks_2023,Welche Wahl?
-stimmbezirke_url,https://www.eggers-elektronik.de/files/test.csv,URL Daten-CSV Stimmbezirke
-wahlberechtigt,147463,Anzahl Wahlberechtigte lt. Wahlamt (kommt Sonntag)
-briefwahl,39092,Anzahl Briefwahlstimmen lt. Wahlamt (kommt Sonntag)
-kandidaten_fname,kandidaten.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
-zuordnung_fname,wahlbezirke.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
-stadtteile_fname,ks-stadtteile.csv,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
-startdatum,2023-01-01 18:00:00 CET,Beginn der Auszählung
-top,6,
-top_id,028Fp,
-karte_sieger_id,7gscI,
-karte_kand1_id,hM9SE,Schöller
-karte_kand2_id,07CR4,Carqueville
-karte_kand3_id,whgzp,Kühne-Hörmann
-karte_kand4_id,5CpYu,Bock
-karte_kand5_id,pc6vH,Käufler
-karte_kand6_id,sEJhl,Geselle
-tabelle_alle_id,PLwHI,
-hochburgen_id,Im2PX,
-tabelle_stadtteile_id,BM8kD,
-social1_id,028Fp,5 stärkste
+wahl_name,obwahl_of_2023,Welche Wahl?
+stimmbezirke_url,./testdaten/test.csv,URL Daten-CSV Stimmbezirke
+wahlberechtigt,74279,Anzahl Wahlberechtigte lt. Wahlamt (kommt Sonntag)
+briefwahl,30000,Anzahl Briefwahlstimmen lt. Wahlamt (kommt Sonntag)
+top,4,Anzahl der Top-Kandidaten in den Darstellungen
+kandidaten_fname,of_kandidaten.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+zuordnung_fname,of_zuordnung.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+stadtteile_fname,of_stadtteile.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+startdatum,2023-09-15 16:00:00,Beginn der Auszählung
+top_id,uNQX6,„Toptorte“
+karte_sieger_id,08FFZ,
+karte_kand1_id,FSFX1,Schwenke (SPD)
+karte_kand2_id,j3E4e,Bruszynski (CDU)
+karte_kand3_id,yf9Z3,Erinç-Çiftçi (LINKE)
+karte_kand4_id,XAnsE,Schaper-Herget (Ofa)
+tabelle_alle_id,rack2,Alle Stimmen mit Balken
+hochburgen_id,ZnhAX,"Tabelle stärkste, schwächste"
+tabelle_stadtteile_id,PNtz1,
+social1_id,8Fckl,5 stärkste
 social2_id,S9BbQ,Alle Stimmen angepasst
+stadtteil_str,Wahllokal,ggf. Ersatz für die Bezeichnung „Stadtteil“
+obwahl_q_name,Wahlamt der Stadt Offenbach,
+obwahl_q_url,https://votemanager-da.ekom21cdn.de/2021-03-14/06413000/html5/OpenDataInfo.html,
diff --git a/index/ffm_config.csv b/index/ffm_config.csv
deleted file mode 100644
index 2f97d66ece55a4ae2800db52ad5c9972853d3f90..0000000000000000000000000000000000000000
--- a/index/ffm_config.csv
+++ /dev/null
@@ -1,37 +0,0 @@
-name,value,comment
-wahl_name,obwahl_ffm_2023,Welche Wahl?
-stimmbezirke_url,https://votemanager-ffm.ekom21cdn.de/2023-03-05/06412000/daten/opendata/Open-Data-06412000-OB-Wahl-Wahlbezirk.csv?ts=1677904123448,URL Daten-CSV Stimmbezirke
-wahlberechtigt,508182,Anzahl Wahlberechtigte lt. Wahlamt (kommt Sonntag)
-briefwahl,250000,Anzahl Briefwahlstimmen lt. Wahlamt (kommt Sonntag)
-kandidaten_fname,kandidaten.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
-datawrapper_fname,datawrapper.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
-zuordnung_fname,zuordnung_wahllokale.csv,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
-stadtteile_fname,stadtteile.csv,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
-startdatum,2023-03-05 16:00:00,Beginn der Auszählung
-top5_id,2DYBQ,
-karte_sieger_id,ANKmx,
-karte_kand1_id,RcvQp,Rottmann (Grüne)
-karte_kand2_id,jrm2v,Becker (CDU)
-karte_kand3_id,bKR8r,Josef (SPD)
-karte_kand4_id,etN3J,Mehler-Würzbach (Linke)
-karte_kand5_id,3mydT,Pürsün (FDP)
-karte_kand6_id,K3aCw,Lobenstein (AfD)
-karte_kand7_id,vtG4Y,Pfeiffer (BFF)
-karte_kand8_id,tRHeI,Tanczos (PARTEI)
-karte_kand9_id,v4Y5m,Schwichtenberg (Gartenpartei)
-karte_kand10_id,g3iBN,Wirth (unabh.)
-karte_kand11_id,4LxcN,Camara (FPF)
-karte_kand12_id,RZDF7,Pauli (unabh.)
-karte_kand13_id,F86gf,Junghans (unabh.)
-karte_kand14_id,bLPXL,Xu (unabh.)
-karte_kand15_id,Ktufa,Wolff (unabh.)
-karte_kand16_id,MO41j,Akhtar (Todenhöfer)
-karte_kand17_id,ccrfL,Großenbach (Basis)
-karte_kand18_id,q2S6m,Pawelski (unabh.)
-karte_kand19_id,697CL,Schulte (unabh.)
-karte_kand20_id,3lMmu,Eulig (unabh.)
-tabelle_alle_id,7kRPR,
-hochburgen_id,oB3KH,
-tabelle_stadtteile_id,LiXnz,
-social1_id,2DYBQ,5 stärkste
-social2_id,S9BbQ,Alle Stimmen angepasst
diff --git a/index/ffm_config_test.csv b/index/ffm_config_test.csv
deleted file mode 100644
index 07d5d1ab78591ee0f2e7376fb6d28c043eb752fa..0000000000000000000000000000000000000000
--- a/index/ffm_config_test.csv
+++ /dev/null
@@ -1,37 +0,0 @@
-name,value,comment
-wahl_name,obwahl_ffm_2023,Welche Wahl?
-stimmbezirke_url,testdaten/dummy.csv,URL Daten-CSV Stimmbezirke
-wahlberechtigt,508182,Anzahl Wahlberechtigte lt. Wahlamt (kommt Sonntag)
-briefwahl,250000,Anzahl Briefwahlstimmen lt. Wahlamt (kommt Sonntag)
-kandidaten_fname,kandidaten.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
-datawrapper_fname,datawrapper.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
-zuordnung_fname,zuordnung_wahllokale.csv,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
-stadtteile_fname,stadtteile.csv,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
-startdatum,2023-01-01 18:00:00 CET,Beginn der Auszählung
-top5_id,028Fp,
-karte_sieger_id,7gscI,
-karte_kand1_id,hM9SE,Rottmann (Grüne)
-karte_kand2_id,hM9SE,Becker (CDU)
-karte_kand3_id,07CR4,Josef (SPD)
-karte_kand4_id,07CR4,Mehler-Würzbach (Linke)
-karte_kand5_id,07CR4,Pürsün (FDP)
-karte_kand6_id,07CR4,Lobenstein (AfD)
-karte_kand7_id,07CR4,Pfeiffer (BFF)
-karte_kand8_id,07CR4,Tanczos (PARTEI)
-karte_kand9_id,07CR4,Schwichtenberg (Gartenpartei)
-karte_kand10_id,07CR4,Wirth (unabh.)
-karte_kand11_id,07CR4,Camara (FPF)
-karte_kand12_id,07CR4,Pauli (unabh.)
-karte_kand13_id,07CR4,Junghans (unabh.)
-karte_kand14_id,07CR4,Xu (unabh.)
-karte_kand15_id,07CR4,Wolff (unabh.)
-karte_kand16_id,07CR4,Akhtar (Todenhöfer)
-karte_kand17_id,07CR4,Großenbach (Basis)
-karte_kand18_id,07CR4,Pawelski (unabh.)
-karte_kand19_id,07CR4,Schulte (unabh.)
-karte_kand20_id,07CR4,Eulig (unabh.)
-tabelle_alle_id,PLwHI,
-hochburgen_id,Im2PX,
-tabelle_stadtteile_id,BM8kD,
-social1_id,028Fp,5 stärkste
-social2_id,S9BbQ,Alle Stimmen angepasst
diff --git a/index/obwahl.log b/index/obwahl.log
new file mode 100644
index 0000000000000000000000000000000000000000..c871a50c931f27df9d77745c764edf8e626a1bd4
--- /dev/null
+++ b/index/obwahl.log
@@ -0,0 +1,15 @@
+Rows: 20 Columns: 3
+── Column specification ──────────────────────────────────────────────────────────────────────────────
+Delimiter: ","
+chr (3): name, value, comment
+
+ℹ Use `spec()` to retrieve the full column specification for this data.
+ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
+Card: 
+  hookurl: https://hrhessen.webhook.office.com/webhookb2/7cea83e5-54d9-4ef1-b745-29a8c632ad00@daaae532-0750-4b35-8f3f-fdd6ba4c86f0/IncomingWebhook/6eb6aff123924c86ae18d9609fcbb589/65018185-ecc0-43b6-8af5-ebdb423a1ab7
+  payload:  {"title":"OBWAHL: Konfigurationsdatei nicht gelesen! - 2023-09-14 10:32:14.365388","text":"***FEHLER: Error in read.xlsx.default(fname): File does not exist.\n"}
+Fehler in teams_error(e, title = "OBWAHL: Konfigurationsdatei nicht gelesen!") : 
+  Error in read.xlsx.default(fname): File does not exist.
+OBWAHL: Konfigurationsdatei nicht gelesen!
+Ruft auf: tryCatch ... tryCatchList -> tryCatchOne -> <Anonymous> -> teams_error
+Ausführung angehalten
diff --git a/index/obwahl_da_2023/Open-Data-06411000-Stadtverordnetenwahl-Wahlbezirk.xlsx b/index/obwahl_da_2023/Open-Data-06411000-Stadtverordnetenwahl-Wahlbezirk.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..a65f753b81cff00236ffe6f63bddc69edbd81691
Binary files /dev/null and b/index/obwahl_da_2023/Open-Data-06411000-Stadtverordnetenwahl-Wahlbezirk.xlsx differ
diff --git a/index/obwahl_da_2023/Wahlbezirke Zuordnung_Stadtteil.xlsx b/index/obwahl_da_2023/Wahlbezirke Zuordnung_Stadtteil.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..df01bbd0dced438b59fc3b3e1ae1bb06b51a0e05
Binary files /dev/null and b/index/obwahl_da_2023/Wahlbezirke Zuordnung_Stadtteil.xlsx differ
diff --git a/index/obwahl_da_2023/config.csv b/index/obwahl_da_2023/config.csv
new file mode 100644
index 0000000000000000000000000000000000000000..ccacbdabf69235a057edd69b11c73b54236e5447
--- /dev/null
+++ b/index/obwahl_da_2023/config.csv
@@ -0,0 +1,27 @@
+name,value,comment
+wahl_name,obwahl_da_2023,Welche Wahl?
+stimmbezirke_url,https://votemanager-da.ekom21cdn.de/2023-03-19/06411000/daten/opendata/Open-Data-06411000-Oberbuergermeisterwahl-Wahlbezirk.csv?ts=1679046358908,URL Daten-CSV Stimmbezirke
+wahlberechtigt,114535,Anzahl Wahlberechtigte lt. Wahlamt (kommt Sonntag)
+briefwahl,24000,Anzahl Briefwahlstimmen lt. Wahlamt (kommt Sonntag)
+top,5,Anzahl der Top-Kandidaten in den Darstellungen
+kandidaten_fname,da-kandidaten.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+zuordnung_fname,da-zuordnung.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+stadtteile_fname,da-stadtteile.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+startdatum,2023-03-19 16:00:00,Beginn der Auszählung
+top_id,QP1bJ,
+karte_sieger_id,l5K3r,
+karte_kand1_id,tNKgk,Kolmer (Grüne)
+karte_kand2_id,ixI8a,Benz (SPD)
+karte_kand3_id,Ka71G,Wandrey (CDU)
+karte_kand4_id,iP90C,Franke (Linke)
+karte_kand5_id,Jxvok,Klötzner (Volt)
+karte_kand6_id,nTqG8,Lau (UFFBASSE)
+karte_kand7_id,ELm25,Hesse-Hanbuch (FDP)
+karte_kand8_id,XG3Fk,Steiner (PARTEI)
+karte_kand9_id,xjq0s,Ziemek (WGD)
+karte_kand10_id,noqpW,Uhl (FW)
+tabelle_alle_id,rTsdq,
+hochburgen_id,floHv,
+tabelle_stadtteile_id,D9r7V,
+social1_id,Ts1oS,5 stärkste
+social2_id,S9BbQ,Alle Stimmen angepasst
diff --git a/index/obwahl_da_2023/config_test.csv b/index/obwahl_da_2023/config_test.csv
new file mode 100644
index 0000000000000000000000000000000000000000..0d1f972475fb72fc42fe3d41a359e0de4e382bc9
--- /dev/null
+++ b/index/obwahl_da_2023/config_test.csv
@@ -0,0 +1,27 @@
+name,value,comment
+wahl_name,obwahl_da_2023,Welche Wahl?
+stimmbezirke_url,https://www.eggers-elektronik.de/files/test.csv,URL Daten-CSV Stimmbezirke
+wahlberechtigt,115316,Anzahl Wahlberechtigte lt. Wahlamt (kommt Sonntag)
+briefwahl,10589,Anzahl Briefwahlstimmen lt. Wahlamt (kommt Sonntag)
+top,5,Anzahl der Top-Kandidaten in den Darstellungen
+kandidaten_fname,da-kandidaten.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+zuordnung_fname,da-zuordnung.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+stadtteile_fname,da-stadtteile.csv,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+startdatum,2023-03-12 16:00:00,Beginn der Auszählung
+top_id,028Fp,
+karte_sieger_id,7gscI,
+karte_kand1_id,6h5Sq,Kolmer (Grüne)
+karte_kand2_id,DLFKL,Benz (SPD)
+karte_kand3_id,DLFKL,Wandrey (CDU)
+karte_kand4_id,DLFKL,Franke (Linke)
+karte_kand5_id,DLFKL,Klötzner (Volt)
+karte_kand6_id,DLFKL,Lau (UFFBASSE)
+karte_kand7_id,DLFKL,Hesse-Hanbuch (FDP)
+karte_kand8_id,DLFKL,Steiner (PARTEI)
+karte_kand9_id,DLFKL,Ziemek (WGD)
+karte_kand10_id,DLFKL,Uhl (FW)
+tabelle_alle_id,PLwHI,
+hochburgen_id,Im2PX,
+tabelle_stadtteile_id,BM8kD,
+social1_id,028Fp,5 stärkste
+social2_id,S9BbQ,Alle Stimmen angepasst
diff --git a/index/obwahl_da_2023/da-freitag.geojson b/index/obwahl_da_2023/da-freitag.geojson
new file mode 100644
index 0000000000000000000000000000000000000000..5b48492ddbda2e8591f981a9ef53fe68d30f16cb
--- /dev/null
+++ b/index/obwahl_da_2023/da-freitag.geojson
@@ -0,0 +1,11 @@
+{"type":"FeatureCollection", "features": [
+{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[8.644631548425874,49.860419080967276],[8.647048760347845,49.86035226214967],[8.647124602807361,49.86140077857851],[8.647185433880269,49.86164515890842],[8.65366056435298,49.861192482576215],[8.654605202085033,49.8615946474842],[8.65433859778915,49.86298212245808],[8.655439911523926,49.86395678448497],[8.657369657158927,49.86319214232321],[8.660339277649532,49.86472676214754],[8.664956813429153,49.86613116492046],[8.664284156921624,49.86711679186899],[8.662215921022742,49.869176322254084],[8.662237007984636,49.869744372680735],[8.662588968554035,49.87285651908801],[8.661185279406569,49.872981943275775],[8.661507658697834,49.87464502722947],[8.660903807216393,49.87591415374595],[8.660795610801937,49.87586256990354],[8.658855911632463,49.87767956832552],[8.65756411360104,49.8776083033104],[8.656871224183432,49.87757522463347],[8.655854322953564,49.87877564422909],[8.655314338382492,49.87925703251426],[8.652772595582073,49.879964493055034],[8.65062928830695,49.88013074470962],[8.650290267398477,49.876771711514316],[8.649280113689539,49.87586743402228],[8.643388632405127,49.87503593103403],[8.641257280502478,49.874740639721104],[8.641651444285236,49.873665243397355],[8.641546416252792,49.87149684710725],[8.642416298673442,49.86903195105341],[8.643148197537322,49.86913539179068],[8.642418445739674,49.869023862816896],[8.64415579005035,49.86381881532718],[8.644332002049195,49.86312859414379],[8.644631548425874,49.860419080967276]]]},"properties":{"ID":2,"SYMBOL":1,"ANGLE":0,"WAHLBEZIRK":"710","ID1":2,"ortsteil":"Mitte","ortsteilnr":1}},
+{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[8.620979036396482,49.85037532153692],[8.622679823088461,49.84653809454217],[8.61849103289927,49.84570989948941],[8.614903823976869,49.844231512999976],[8.615023484277494,49.84361265077026],[8.620817992902394,49.84375587115707],[8.624031687647292,49.84337778352838],[8.631525144462369,49.842051346037415],[8.633283435343511,49.84210009449278],[8.637696638695957,49.84225833058977],[8.638982761087753,49.84548276184548],[8.641914605628727,49.850211175085256],[8.643158282431598,49.85359867078214],[8.64419321893491,49.85673322026738],[8.644340780703578,49.857383961340936],[8.644579588034414,49.859251911113596],[8.644332002049195,49.86312859414379],[8.64415579005035,49.86381881532718],[8.641573522651882,49.871500978335206],[8.630233765406983,49.869948931122394],[8.619059677918653,49.868390921585224],[8.616246520970003,49.86779341758822],[8.613060579541044,49.86762228037339],[8.605751150409137,49.86656286144463],[8.605847219871888,49.865273405705665],[8.602558498744843,49.864934336169064],[8.602357004033264,49.866088513326815],[8.59745633665225,49.86506648845088],[8.598387099648214,49.86281529440214],[8.598024326573398,49.86050564841941],[8.594589122196458,49.86025893526841],[8.591204771340253,49.85943081742325],[8.591500070788715,49.856832052112786],[8.589781555227663,49.85597062450361],[8.585146937420708,49.8569282169178],[8.582560278088991,49.856568153522],[8.582667518452274,49.85453537386287],[8.58179091545297,49.854072155379896],[8.57253715847582,49.85256108589695],[8.573249157949759,49.85179874165611],[8.574130757930599,49.84906725809371],[8.563227213656237,49.84785562745743],[8.562739755128714,49.84823290101694],[8.558159078484904,49.848102203964686],[8.563220185706692,49.83404703248714],[8.563599176931538,49.83064049751154],[8.56556962935854,49.83070051633597],[8.576164092248693,49.83390890051041],[8.582715743382717,49.83463423042331],[8.584035051379209,49.8354862400744],[8.589768497678033,49.83581832684655],[8.590204121057573,49.83709211808477],[8.595142035562242,49.83754389642816],[8.596761474055036,49.83796103242827],[8.598705495455587,49.83671846429906],[8.601580129072628,49.83847418233341],[8.607365091930882,49.84203409264747],[8.610269158109691,49.84150423247502],[8.613648396088136,49.84364315386442],[8.618503486968681,49.84571803537014],[8.622673931358284,49.846543872589024],[8.620979036396482,49.85037532153692]]]},"properties":{"ID":1,"SYMBOL":1,"ANGLE":0,"WAHLBEZIRK":"840","ID1":1,"ortsteil":"West","ortsteilnr":5}},
+{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[8.613430225078867,49.83044907623101],[8.617169314489304,49.82312074121951],[8.620837795074044,49.81641130899348],[8.621714070495798,49.81441192239663],[8.622052529212896,49.81090127386295],[8.624121075369173,49.81166083051512],[8.630039621519156,49.807616212420065],[8.627787560742375,49.80470021679151],[8.63986402859265,49.80295208703831],[8.640402179886822,49.80149801583256],[8.645350779579722,49.80005482409264],[8.6470005759789,49.798477297220856],[8.647988491988029,49.795896661352316],[8.650380725744043,49.795667800027886],[8.650862499260542,49.79678230933346],[8.656148399897127,49.79733507890909],[8.658021385060021,49.798924533936244],[8.657891384531471,49.7996257129156],[8.659929128085306,49.802413675194664],[8.662112264362475,49.803214714756145],[8.663483109104435,49.80452873550484],[8.66946394249186,49.80695149454437],[8.67141520246018,49.805719866081525],[8.675341565860856,49.804945721970874],[8.676482498756284,49.80547238542262],[8.677144924854437,49.80711210912511],[8.67332074163072,49.80971875660227],[8.673225679126137,49.810832891516476],[8.670087936316525,49.81206657486952],[8.669145837789099,49.813860964505885],[8.670395165283617,49.814412281121754],[8.672535182665454,49.81398391921205],[8.677411910295978,49.818382347490385],[8.679837719718918,49.819216104979255],[8.67917276876604,49.821073399993864],[8.676475958625332,49.82084059530701],[8.672337227879261,49.822303593942735],[8.672017894677907,49.824812115322175],[8.67449545899574,49.82635848239045],[8.673096927710956,49.827470295403856],[8.672206491158649,49.82992458609703],[8.673448674219417,49.830674172945386],[8.672491110746263,49.834186893327235],[8.67363571867644,49.83573266569727],[8.673989900389214,49.836416332260626],[8.67222138460033,49.83790485379312],[8.672107820107678,49.83896631328171],[8.67070560109548,49.8393306562433],[8.666692319675324,49.8417112276615],[8.665269492563427,49.84141706087383],[8.664018661162165,49.84129201885704],[8.662232890213783,49.840995413092024],[8.65819862866285,49.84124262463446],[8.655956767420506,49.84084204108997],[8.65587432907894,49.84070013570998],[8.65043778830589,49.84186842228998],[8.647066836110705,49.841824479416566],[8.645605353679155,49.84226793815725],[8.640412158421729,49.84235448061194],[8.633283435343511,49.84210009449278],[8.631525144462369,49.842051346037415],[8.624031687647292,49.84337778352838],[8.620817992902394,49.84375587115707],[8.615023484277494,49.84361265077026],[8.614903823976869,49.844231512999976],[8.610256706505695,49.84149609570964],[8.607365091930882,49.84203409264747],[8.601580129072628,49.83847418233341],[8.598705495455587,49.83671846429906],[8.603006574172786,49.83699500980427],[8.611263808554202,49.8347955456732],[8.613430225078867,49.83044907623101]]]},"properties":{"ID":66,"SYMBOL":1,"ANGLE":0,"WAHLBEZIRK":"1040","ID1":66,"ortsteil":"Eberstadt","ortsteilnr":7}},
+{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[8.662215921022742,49.869176322254084],[8.664284156921624,49.86711679186899],[8.667393346120987,49.86228200750473],[8.669124018387173,49.85527442537184],[8.670777918660095,49.85233529744919],[8.674377194406588,49.85111773981451],[8.674247796781724,49.84956990503805],[8.675810418205254,49.844917028696635],[8.676908966701006,49.84349269701594],[8.67855818078382,49.84270128435545],[8.683685211254662,49.84123941936234],[8.690659968388184,49.845046649150326],[8.691744514976309,49.844443770879714],[8.696234554559041,49.84771921057564],[8.701809691619506,49.84972367630064],[8.70548581587022,49.85149370926316],[8.706754453450822,49.854254578466886],[8.711939779192013,49.85744076683401],[8.713042554848114,49.859047633913825],[8.71566295105256,49.86024673322264],[8.717033667043458,49.86139146214534],[8.72063870817676,49.86198438392146],[8.72397475160138,49.86291788646933],[8.728524859424521,49.86361669287673],[8.729389858077335,49.86414089282552],[8.730904542822191,49.865428742063436],[8.731030843822483,49.868243344672806],[8.726983669862017,49.87007141538665],[8.728277859752001,49.871930873352646],[8.728829872552122,49.874749170453114],[8.725868546589297,49.8771585158619],[8.727287032026895,49.87884558652628],[8.725676563372717,49.88230232791028],[8.731439435694398,49.887534282492396],[8.73295532312757,49.888310838847694],[8.735739784294136,49.88890813982338],[8.739454188371878,49.890555745834554],[8.740390343440538,49.892778522896606],[8.7407815286112,49.89577447792933],[8.741774551285024,49.89676426001758],[8.746448507468402,49.899594264138905],[8.749231393685147,49.90065263966916],[8.749872190330734,49.90356545283351],[8.748598843159114,49.906216442927374],[8.747024807521921,49.90761611727891],[8.747872609539037,49.91048621718037],[8.746787562992516,49.91183298419334],[8.744126176743764,49.91336515185661],[8.743936119770225,49.914141831534174],[8.739159038119306,49.91664191686815],[8.739131928018036,49.9174068124936],[8.73709684317215,49.9189388756483],[8.735256685380199,49.91881191889335],[8.734006787304015,49.91812100290302],[8.731011779404854,49.91864025570014],[8.726727325933384,49.91733777312997],[8.725434885259501,49.91607193474834],[8.721693211639602,49.91491220782985],[8.717035873842791,49.91102218579834],[8.713880180722112,49.9087290135775],[8.710051445082968,49.904112215457694],[8.707753980614235,49.902681763303725],[8.703547140009988,49.9016578856417],[8.701791199465795,49.90052685633351],[8.701944147257596,49.899433101461376],[8.700599392635485,49.89870245364705],[8.697550223659045,49.897997038180705],[8.695555124036265,49.897078452884394],[8.694417774738184,49.89527976187794],[8.692371622798335,49.89486286527804],[8.689764131303013,49.89307775708256],[8.6886311939181,49.893237965975054],[8.685332044675757,49.894122188483074],[8.683062249224317,49.89407148541332],[8.68021300022797,49.895114639986225],[8.678320696864171,49.89482204004357],[8.676577959628185,49.89402794770346],[8.674792387907855,49.89246874835065],[8.675619557136496,49.89057282939717],[8.674951539554764,49.88742881713653],[8.671448765837665,49.882647041628125],[8.668670780088961,49.88035639268664],[8.66997544236711,49.879166124646254],[8.668729433386208,49.87880235100437],[8.666334353078648,49.87855803467915],[8.665188421855966,49.87791793707597],[8.663830533354732,49.877440459723125],[8.662890342990288,49.87694394448723],[8.662632536401654,49.87679074173176],[8.660903807216393,49.87591415374595],[8.661507658697834,49.87464502722947],[8.661185279406569,49.872981943275775],[8.662588968554035,49.87285651908801],[8.662237007984636,49.869744372680735],[8.662215921022742,49.869176322254084]]]},"properties":{"ID":5,"SYMBOL":1,"ANGLE":0,"WAHLBEZIRK":"330","ID1":5,"ortsteil":"Ost","ortsteilnr":3}},
+{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[8.622264376375757,49.86884257684979],[8.630233765406983,49.869948931122394],[8.641546416252792,49.87149684710725],[8.641651444285236,49.873665243397355],[8.641257280502478,49.874740639721104],[8.643388632405127,49.87503593103403],[8.649280113689539,49.87586743402228],[8.650290267398477,49.876771711514316],[8.65062928830695,49.88013074470962],[8.652772595582073,49.879964493055034],[8.655314338382492,49.87925703251426],[8.655854322953564,49.87877564422909],[8.656871224183432,49.87757522463347],[8.65756411360104,49.8776083033104],[8.658855911632463,49.87767956832552],[8.660795610801937,49.87586256990354],[8.662632536401654,49.87679074173176],[8.663830533354732,49.877440459723125],[8.665188421855966,49.87791793707597],[8.666482339696742,49.87859353809705],[8.668729433386208,49.87880235100437],[8.66997544236711,49.879166124646254],[8.668677052720247,49.88035506147098],[8.671448765837665,49.882647041628125],[8.674951539554764,49.88742881713653],[8.675619557136496,49.89057282939717],[8.674792387907855,49.89246874835065],[8.67481730274593,49.89249040441217],[8.673629524733395,49.89334511840081],[8.670261586767248,49.894781864665916],[8.668518271020188,49.89622586668651],[8.668189909524385,49.898425368173974],[8.667171861600245,49.898251110460116],[8.66461454665822,49.89777154483789],[8.654615548350701,49.89789869422081],[8.654906216012062,49.89931345399827],[8.643561236049273,49.90036384258484],[8.642920319022643,49.89635898361026],[8.637077015950048,49.89630441621372],[8.63378319318322,49.897160206522926],[8.632958010810114,49.8960850337414],[8.630571113339467,49.8952274976244],[8.625132987300736,49.893914410727916],[8.623452232916888,49.89325104801831],[8.621813478519858,49.8918331673175],[8.616868736939626,49.88993083905021],[8.619552293312085,49.88831800975951],[8.616825850417003,49.887962303401046],[8.617094175593762,49.887039029276245],[8.609659110460989,49.88590794380966],[8.6060949511472,49.88460071604476],[8.604666521149815,49.88283792439191],[8.602521176764283,49.88270781814154],[8.602290619805128,49.880019538182374],[8.600794715718584,49.8712800481305],[8.599058855332887,49.865623841774955],[8.602357004033264,49.866088513326815],[8.602558498744843,49.864934336169064],[8.605847219871888,49.865273405705665],[8.605751150409137,49.86656286144463],[8.613060579541044,49.86762228037339],[8.616246520970003,49.86779341758822],[8.619059677918653,49.868390921585224],[8.622264376375757,49.86884257684979]]]},"properties":{"ID":3,"SYMBOL":1,"ANGLE":0,"WAHLBEZIRK":"150","ID1":3,"ortsteil":"Nord","ortsteilnr":2}},
+{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[8.64994543285141,49.92445451724199],[8.651370434153563,49.923034128070015],[8.655091944769053,49.92247862039109],[8.657449903248487,49.92147780833582],[8.661303691301143,49.92169959109395],[8.662780980475883,49.92230965535138],[8.666976175968797,49.92212615352931],[8.671054823551348,49.923097024693746],[8.67461268357345,49.92353743341858],[8.676592472293846,49.92341210535282],[8.682886129184897,49.922216616846384],[8.687254398873833,49.921107351635975],[8.690384495445118,49.92112654302692],[8.691965761196883,49.92055872253908],[8.695900423427354,49.92022777630759],[8.698726994583723,49.920660129177335],[8.700019812373522,49.920761966763116],[8.701131724651827,49.92105894768718],[8.70577437466125,49.92113018026895],[8.709129393644114,49.92058145261907],[8.712389899626023,49.921154869309134],[8.713721622107787,49.920692714511965],[8.715651475022476,49.920493743532774],[8.718168043987284,49.92072788908541],[8.720547850020255,49.92004424259511],[8.726499224559564,49.92035523839198],[8.727790951818259,49.91917509090306],[8.730717384092998,49.91935056377572],[8.734997657363174,49.918799185148735],[8.741128195370218,49.91958878047866],[8.741737895500787,49.92280106629861],[8.74119502262091,49.92545089291164],[8.742344405249327,49.92545075372945],[8.741831903159518,49.92750163707384],[8.740841023388151,49.928723085592146],[8.737714145039837,49.93071276439734],[8.731387659207861,49.93334796967593],[8.733707088943763,49.93838960353689],[8.732453331125225,49.94208331954546],[8.73496266359809,49.94233192266639],[8.735452413512036,49.94337321516437],[8.73425702183541,49.95013903258037],[8.731689724066719,49.952724785948234],[8.726272190116209,49.95380356806931],[8.722753746635565,49.95258370102498],[8.718112377308335,49.95248752045721],[8.715056338101808,49.95091102478521],[8.711426662201385,49.9512433799659],[8.706070759411151,49.94970677295335],[8.704011795828022,49.95030594448723],[8.699583579621958,49.949932995820426],[8.694155157281038,49.94903513450551],[8.693258781328954,49.948285353296086],[8.687535661820858,49.94838880091114],[8.685106568311964,49.94864935866277],[8.684591264359666,49.9497582872095],[8.677759681685709,49.950820158236375],[8.677173936842644,49.95117739634631],[8.672446253883866,49.95181711849947],[8.6702924451346,49.949389340207944],[8.668147399524821,49.94632610821822],[8.655015457810627,49.94402801132456],[8.653752867743183,49.944593580178996],[8.651350249553591,49.944373221625234],[8.64964738760526,49.9453907276813],[8.646216396234928,49.9442807768163],[8.64514600125824,49.9445662200119],[8.641225623033339,49.94406712609737],[8.640552221363675,49.94353618401061],[8.63324647806735,49.94453190451783],[8.63072883263958,49.94350937417602],[8.629097498988534,49.944143655001376],[8.62879800557074,49.94230923453312],[8.627070554028483,49.9421269578931],[8.627226093453936,49.93876678293956],[8.631154214815112,49.939271772140316],[8.631735663565912,49.93593857680449],[8.629308157675682,49.93385453594481],[8.629008599918894,49.93258000090601],[8.623913710444757,49.93248129567632],[8.624240283463132,49.926231837220335],[8.62723531449119,49.92537805859175],[8.626267550894646,49.92324061951301],[8.63141400673816,49.922478640840616],[8.631450392436282,49.92373614633481],[8.637557064502763,49.92282988724579],[8.637706527063465,49.92379902996457],[8.646746578733136,49.92294998196241],[8.647116043434956,49.92549828365146],[8.64994543285141,49.92445451724199]]]},"properties":{"ID":11,"SYMBOL":1,"ANGLE":0,"WAHLBEZIRK":"860","ID1":11,"ortsteil":"Wixhausen","ortsteilnr":8}},
+{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[8.678320696864171,49.89482204004357],[8.680210876126683,49.89512003067291],[8.683062249224317,49.89407148541332],[8.685332044675757,49.894122188483074],[8.6886311939181,49.893237965975054],[8.689770405009648,49.89307642473077],[8.69237789666547,49.894861532785896],[8.694417774738184,49.89527976187794],[8.695555124036265,49.897078452884394],[8.697550223659045,49.897997038180705],[8.700599392635485,49.89870245364705],[8.701944147257596,49.899433101461376],[8.701791199465795,49.90052685633351],[8.703547140009988,49.9016578856417],[8.707753980614235,49.902681763303725],[8.710051445082968,49.904112215457694],[8.713880180722112,49.9087290135775],[8.717035873842791,49.91102218579834],[8.721693211639602,49.91491220782985],[8.725434885259501,49.91607193474834],[8.726727325933384,49.91733777312997],[8.731011779404854,49.91864025570014],[8.734006787304015,49.91812100290302],[8.735256685380199,49.91881191889335],[8.734997657363174,49.918799185148735],[8.730717384092998,49.91935056377572],[8.727790951818259,49.91917509090306],[8.726499224559564,49.92035523839198],[8.720547850020255,49.92004424259511],[8.718168043987284,49.92072788908541],[8.715651475022476,49.920493743532774],[8.713721622107787,49.920692714511965],[8.712389899626023,49.921154869309134],[8.709129393644114,49.92058145261907],[8.70577437466125,49.92113018026895],[8.701131724651827,49.92105894768718],[8.700019812373522,49.920761966763116],[8.69936392851544,49.920722492814605],[8.699538247942565,49.92024400348044],[8.695682530676478,49.917663857362136],[8.69211844143437,49.91430186001187],[8.689008722109378,49.913131960459815],[8.679866577590603,49.90706971605813],[8.674659363970582,49.90324661948127],[8.672198269032434,49.90146422762199],[8.66838881350392,49.89865933759746],[8.668189909524385,49.898425368173974],[8.668518271020188,49.89622586668651],[8.670261586767248,49.894781864665916],[8.673570814021122,49.89338003069494],[8.67481730274593,49.89249040441217],[8.676577959628185,49.89402794770346],[8.678320696864171,49.89482204004357]]]},"properties":{"ID":24,"SYMBOL":1,"ANGLE":0,"WAHLBEZIRK":"412","ID1":24,"ortsteil":"Kranichstein","ortsteilnr":9}},
+{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[8.645605353679155,49.84226793815725],[8.647066836110705,49.841824479416566],[8.65043778830589,49.84186842228998],[8.65587432907894,49.84070013570998],[8.655956767420506,49.84084204108997],[8.65819862866285,49.84124262463446],[8.662232890213783,49.840995413092024],[8.664018661162165,49.84129201885704],[8.665269492563427,49.84141706087383],[8.666692319675324,49.8417112276615],[8.67070560109548,49.8393306562433],[8.672107820107678,49.83896631328171],[8.67222138460033,49.83790485379312],[8.673989900389214,49.836416332260626],[8.67363571867644,49.83573266569727],[8.683689383490224,49.841239430747045],[8.678562353143105,49.84270129592493],[8.676913139127725,49.843492708644916],[8.675814590754113,49.8449170403654],[8.674251969730474,49.84956991676384],[8.674381367488659,49.85111775153591],[8.670767329890623,49.852358202865176],[8.669128191824989,49.85527443728306],[8.667303905402877,49.862635547150276],[8.664956813429153,49.86613116492046],[8.660339277649532,49.86472676214754],[8.657369657158927,49.86319214232321],[8.655439911523926,49.86395678448497],[8.65431018580293,49.863161473920826],[8.654594715099016,49.86159018289099],[8.65366056435298,49.861192482576215],[8.647185433880269,49.86164515890842],[8.647124602807361,49.86140077857851],[8.647048760347845,49.86035226214967],[8.644631548425874,49.860419080967276],[8.644579588034414,49.859251911113596],[8.644340780703578,49.857383961340936],[8.64419321893491,49.85673322026738],[8.643158282431598,49.85359867078214],[8.641990699784884,49.850361165473515],[8.638906985311694,49.84529229587222],[8.637659098048704,49.84225686410422],[8.645605353679155,49.84226793815725]]]},"properties":{"ID":49,"SYMBOL":1,"ANGLE":0,"WAHLBEZIRK":"620","ID1":49,"ortsteil":"Bessungen","ortsteilnr":4}},
+{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[8.654615548350701,49.89789869422081],[8.66461454665822,49.89777154483789],[8.667171861600245,49.898251110460116],[8.66838881350392,49.89865933759746],[8.672198269032434,49.90146422762199],[8.674659363970582,49.90324661948127],[8.679866577590603,49.90706971605813],[8.689008722109378,49.913131960459815],[8.69211844143437,49.91430186001187],[8.695682530676478,49.917663857362136],[8.699538247942565,49.92024400348044],[8.69936392851544,49.920722492814605],[8.698726994583723,49.920660129177335],[8.695900423427354,49.92022777630759],[8.691965761196883,49.92055872253908],[8.690384495445118,49.92112654302692],[8.687254398873833,49.921107351635975],[8.682886129184897,49.922216616846384],[8.676592472293846,49.92341210535282],[8.67461268357345,49.92353743341858],[8.671054823551348,49.923097024693746],[8.666976175968797,49.92212615352931],[8.662780980475883,49.92230965535138],[8.661303691301143,49.92169959109395],[8.657449903248487,49.92147780833582],[8.655091944769053,49.92247862039109],[8.651370434153563,49.923034128070015],[8.64994543285141,49.92445451724199],[8.647112467941533,49.925499602584466],[8.646746578733136,49.92294998196241],[8.637706527063465,49.92379902996457],[8.637557064502763,49.92282988724579],[8.631450392436282,49.92373614633481],[8.63141400673816,49.922478640840616],[8.626267550894646,49.92324061951301],[8.624958184630898,49.918279683779836],[8.625263032027057,49.91669004230066],[8.618897617228011,49.91576538075942],[8.618972891188264,49.912576277295855],[8.622508427225268,49.9133082767046],[8.624171628985726,49.914364653225604],[8.625080722943068,49.913794214192144],[8.626048920684154,49.911251525520484],[8.630632139837585,49.9102138894462],[8.629626167646665,49.90790231262514],[8.628066355330345,49.90645374650661],[8.627223785875302,49.90248053621565],[8.631403314409159,49.90112992009991],[8.63250125808209,49.89957650180558],[8.634711944579463,49.89863099646769],[8.63378319318322,49.897160206522926],[8.637077015950048,49.89630441621372],[8.642920319022643,49.89635898361026],[8.643561236049273,49.90036384258484],[8.654906216012062,49.89931345399827],[8.654615548350701,49.89789869422081]]]},"properties":{"ID":6,"SYMBOL":1,"ANGLE":0,"WAHLBEZIRK":"450","ID1":22,"ortsteil":"Arheilgen","ortsteilnr":6}}
+]}
\ No newline at end of file
diff --git a/index/obwahl_da_2023/da-kandidaten.xlsx b/index/obwahl_da_2023/da-kandidaten.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..c023c51040a3e1d153836aeaee4974374d4f8b41
Binary files /dev/null and b/index/obwahl_da_2023/da-kandidaten.xlsx differ
diff --git a/index/obwahl_da_2023/da-qgis-freitag.geojson b/index/obwahl_da_2023/da-qgis-freitag.geojson
new file mode 100644
index 0000000000000000000000000000000000000000..e4d8d8053334b7ed9493ff72e15e82822c62c967
--- /dev/null
+++ b/index/obwahl_da_2023/da-qgis-freitag.geojson
@@ -0,0 +1,16 @@
+{
+"type": "FeatureCollection",
+"name": "da-qgis-freitag",
+"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } },
+"features": [
+{ "type": "Feature", "properties": { "ID": 2.0, "SYMBOL": 1.0, "ANGLE": 0.0, "WAHLBEZIRK": "710", "ID1": 2, "ortsteil": "Mitte", "ortsteilnr": 1 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 8.646650077484475, 49.86036184087407 ], [ 8.644631548425874, 49.860419080967276 ], [ 8.644332002049195, 49.863128594143788 ], [ 8.64415579005035, 49.863818815327178 ], [ 8.643676045170407, 49.865197516274669 ], [ 8.642418445739674, 49.869023862816896 ], [ 8.643148197537322, 49.869135391790678 ], [ 8.642416298673442, 49.869031951053408 ], [ 8.641648049482871, 49.871302884750733 ], [ 8.641546416252792, 49.871496847107252 ], [ 8.641066507598751, 49.873158854913228 ], [ 8.641792203393559, 49.873262284880632 ], [ 8.641651444285236, 49.873665243397355 ], [ 8.641449575444826, 49.87386294317853 ], [ 8.641472967576849, 49.87408697307859 ], [ 8.641257280502478, 49.874740639721104 ], [ 8.643388632405127, 49.875035931034027 ], [ 8.647855527779459, 49.87569177513425 ], [ 8.648163845348384, 49.875207020214077 ], [ 8.64787638409857, 49.875694536759056 ], [ 8.649280113689539, 49.875867434022283 ], [ 8.650508455232879, 49.876045182307571 ], [ 8.650323929965788, 49.876446670030703 ], [ 8.650290267398477, 49.876771711514316 ], [ 8.65062928830695, 49.880130744709618 ], [ 8.650647338542848, 49.880233333757452 ], [ 8.652772595582073, 49.879964493055034 ], [ 8.653037076462409, 49.880058375463932 ], [ 8.653377742535163, 49.880009476178664 ], [ 8.655314338382492, 49.879257032514261 ], [ 8.655854322953564, 49.878775644229087 ], [ 8.656871224183432, 49.877575224633468 ], [ 8.657431074851338, 49.877526961875816 ], [ 8.65756411360104, 49.877608303310403 ], [ 8.658855911632463, 49.877679568325519 ], [ 8.660198925441236, 49.876403177417693 ], [ 8.660795610801937, 49.875862569903539 ], [ 8.660903807216393, 49.875914153745953 ], [ 8.661221895696556, 49.875506293851011 ], [ 8.661507658697834, 49.874645027229469 ], [ 8.661185279406569, 49.872981943275775 ], [ 8.661048319926412, 49.872992485504355 ], [ 8.662588968554035, 49.87285651908801 ], [ 8.662395221330813, 49.871003583235989 ], [ 8.662237007984636, 49.869744372680735 ], [ 8.662201272172188, 49.869181676145274 ], [ 8.661791545811269, 49.869268175933641 ], [ 8.662215921022742, 49.869176322254084 ], [ 8.662400432373161, 49.869058135118451 ], [ 8.662925893694201, 49.868537545777365 ], [ 8.663936815874678, 49.867540765616141 ], [ 8.664284156921624, 49.867116791868987 ], [ 8.664956813429153, 49.866131164920461 ], [ 8.661550666160609, 49.865205203335606 ], [ 8.660339277649532, 49.864726762147541 ], [ 8.66001663504211, 49.864603044384509 ], [ 8.658275379418798, 49.863795184560914 ], [ 8.657369657158927, 49.863192142323207 ], [ 8.656777723398953, 49.863667988445563 ], [ 8.65665514995294, 49.863588026016259 ], [ 8.655920038049878, 49.86394471896557 ], [ 8.655806407966992, 49.863781135258002 ], [ 8.655439911523926, 49.863956784484969 ], [ 8.654705231335804, 49.864164204250621 ], [ 8.654369284249151, 49.86365408771649 ], [ 8.65431663756449, 49.863427274550901 ], [ 8.654338597789151, 49.862982122458078 ], [ 8.654605202085033, 49.861594647484203 ], [ 8.653660564352981, 49.861192482576215 ], [ 8.653199961954542, 49.861104760421576 ], [ 8.652767109004936, 49.861222189538793 ], [ 8.651454743991836, 49.861461097537465 ], [ 8.649489918637634, 49.861590088352088 ], [ 8.647185433880269, 49.861645158908424 ], [ 8.647225552749495, 49.861867889859319 ], [ 8.647124602807361, 49.861400778578513 ], [ 8.647048760347845, 49.860352262149668 ], [ 8.646650077484475, 49.86036184087407 ] ], [ [ 8.643538406355125, 49.868018152473454 ], [ 8.64354756289919, 49.868020436129392 ], [ 8.643148197537322, 49.869135391790678 ], [ 8.643538406355125, 49.868018152473454 ] ], [ [ 8.644251134038727, 49.871866747770262 ], [ 8.646831439676488, 49.872255058982333 ], [ 8.645643986516154, 49.872082828458112 ], [ 8.644580581385867, 49.871917676418001 ], [ 8.641546416252792, 49.871496847107252 ], [ 8.644251134038727, 49.871866747770262 ] ], [ [ 8.646997281916327, 49.868562995995241 ], [ 8.64727148924899, 49.868605381271713 ], [ 8.645919220021387, 49.868414001160353 ], [ 8.646997281916327, 49.868562995995241 ] ], [ [ 8.651686856695544, 49.869235561183899 ], [ 8.651691980598104, 49.86921983654949 ], [ 8.653511367327329, 49.86950546005189 ], [ 8.64990402486452, 49.868977901721223 ], [ 8.651686856695544, 49.869235561183899 ] ], [ [ 8.656754257909544, 49.870564482865689 ], [ 8.656751918143165, 49.87054989140703 ], [ 8.65686292763589, 49.870202141256414 ], [ 8.656754257909544, 49.870564482865689 ] ], [ [ 8.652809149367107, 49.866522623195074 ], [ 8.652434938548785, 49.86766875290725 ], [ 8.652755095905961, 49.866683488512585 ], [ 8.652809149367107, 49.866522623195074 ] ], [ [ 8.643717062306813, 49.868062709368665 ], [ 8.64416030992281, 49.868173254031866 ], [ 8.644084218279867, 49.868162838491969 ], [ 8.643717062306813, 49.868062709368665 ] ], [ [ 8.655780362873545, 49.868327671353619 ], [ 8.655926035367793, 49.86633272103969 ], [ 8.655897778500352, 49.86678460019273 ], [ 8.655780362873545, 49.868327671353619 ] ], [ [ 8.659296613990653, 49.866970026570925 ], [ 8.659364866104017, 49.86676245906996 ], [ 8.659246833159536, 49.867222170036698 ], [ 8.659296613990653, 49.866970026570925 ] ], [ [ 8.653711888908067, 49.873135128662355 ], [ 8.653700375136786, 49.873140614020024 ], [ 8.649055536023393, 49.872576197866273 ], [ 8.649060174392281, 49.872562012170967 ], [ 8.649068060783097, 49.872576235776343 ], [ 8.653711888908067, 49.873135128662355 ] ], [ [ 8.648922065730314, 49.87255825494578 ], [ 8.647796145579855, 49.872394971957519 ], [ 8.649055536023393, 49.872576197866273 ], [ 8.648922065730314, 49.87255825494578 ] ], [ [ 8.654396021079416, 49.87278754590325 ], [ 8.654434589880317, 49.872790816757849 ], [ 8.653755416282268, 49.873114391454777 ], [ 8.65437910823729, 49.872808052084139 ], [ 8.654396021079416, 49.87278754590325 ] ], [ [ 8.654797149941158, 49.872439632597512 ], [ 8.654427074762895, 49.872749894435429 ], [ 8.654522297800357, 49.872634439527495 ], [ 8.654797149941158, 49.872439632597512 ] ] ] ] } },
+{ "type": "Feature", "properties": { "ID": 1.0, "SYMBOL": 1.0, "ANGLE": 0.0, "WAHLBEZIRK": "840", "ID1": 1, "ortsteil": "West", "ortsteilnr": 5 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 8.61849103289927, 49.845709899489407 ], [ 8.620122012418333, 49.846045797126621 ], [ 8.620153560796028, 49.8460135209287 ], [ 8.622679823088461, 49.846538094542169 ], [ 8.620979036396482, 49.850375321536923 ], [ 8.622673931358284, 49.846543872589024 ], [ 8.620676337622072, 49.846128561235687 ], [ 8.620166015223193, 49.846021656631208 ], [ 8.620134466848448, 49.846053932832483 ], [ 8.619390840314004, 49.845900389008463 ], [ 8.618503486968681, 49.84571803537014 ], [ 8.614916277063642, 49.844239649265845 ], [ 8.613675420001144, 49.843655386275316 ], [ 8.613648396088136, 49.84364315386442 ], [ 8.613594423576016, 49.843609245226524 ], [ 8.613314206491514, 49.843430223068026 ], [ 8.613191745246009, 49.843351563817095 ], [ 8.611776135537895, 49.842450996013227 ], [ 8.610557686461133, 49.841684639148056 ], [ 8.610433147980673, 49.841605969972036 ], [ 8.610269158109691, 49.841504232475017 ], [ 8.610193949582625, 49.841517471099799 ], [ 8.609690425177293, 49.841611566483635 ], [ 8.609523275027961, 49.841643383171061 ], [ 8.607553051557577, 49.842009095274427 ], [ 8.607513349485526, 49.842017055759484 ], [ 8.607378266065675, 49.842042095724416 ], [ 8.607365091930882, 49.842034092647467 ], [ 8.601580129072628, 49.838474182333407 ], [ 8.598705495455587, 49.836718464299061 ], [ 8.598232520664116, 49.836653415810723 ], [ 8.597994593540566, 49.837675247876511 ], [ 8.596841369025551, 49.837634815652393 ], [ 8.596761474055036, 49.837961032428268 ], [ 8.59506877023883, 49.837824264054419 ], [ 8.595142035562242, 49.837543896428159 ], [ 8.59336133456204, 49.837455365179395 ], [ 8.590204121057573, 49.837092118084769 ], [ 8.590018736734683, 49.837060432066117 ], [ 8.590161787736465, 49.836917927821503 ], [ 8.590371665688634, 49.836025531028227 ], [ 8.590317957325059, 49.835963280221812 ], [ 8.589768497678033, 49.83581832684655 ], [ 8.586595529124171, 49.835606030531274 ], [ 8.584035051379209, 49.835486240074403 ], [ 8.584087657340838, 49.83518961529316 ], [ 8.58265220127843, 49.834988828806154 ], [ 8.582715743382717, 49.834634230423312 ], [ 8.582497070164644, 49.83459431758974 ], [ 8.580058742912891, 49.834346709589305 ], [ 8.576164092248693, 49.833908900510409 ], [ 8.575260064126654, 49.833530526907225 ], [ 8.574195033258958, 49.833198775257294 ], [ 8.572633291947268, 49.832901610665061 ], [ 8.570932808465269, 49.832257179053073 ], [ 8.56994844753468, 49.832007985204747 ], [ 8.56894047077347, 49.831835596918609 ], [ 8.568580679190788, 49.83171823114602 ], [ 8.568078179214488, 49.831465417191744 ], [ 8.56556962935854, 49.830700516335973 ], [ 8.566096752059723, 49.829597533444229 ], [ 8.565599983175458, 49.829640194878721 ], [ 8.564288705373226, 49.829805266681959 ], [ 8.563752788771037, 49.830257915948017 ], [ 8.563599176931538, 49.830640497511538 ], [ 8.563536902797894, 49.832461620884303 ], [ 8.563499487931997, 49.832910748177355 ], [ 8.563220185706692, 49.834047032487142 ], [ 8.560399582574938, 49.841928912328044 ], [ 8.559967643852458, 49.843088892961234 ], [ 8.558159078484904, 49.848102203964686 ], [ 8.558340163545457, 49.848150114276145 ], [ 8.562739755128714, 49.848232901016942 ], [ 8.56307257878783, 49.847882027737086 ], [ 8.563227213656237, 49.847855627457427 ], [ 8.568479725603002, 49.84845408377403 ], [ 8.571418784178634, 49.848777989592925 ], [ 8.571750369312518, 49.848796753946047 ], [ 8.574130757930599, 49.849067258093712 ], [ 8.573249157949759, 49.851798741656111 ], [ 8.572807250182533, 49.851747195561479 ], [ 8.57253715847582, 49.852561085896951 ], [ 8.576784176630106, 49.853198625637376 ], [ 8.580039769642969, 49.853876944241691 ], [ 8.58179091545297, 49.854072155379896 ], [ 8.581687833404617, 49.854410419656517 ], [ 8.582667518452274, 49.854535373862873 ], [ 8.582308998143635, 49.855699746489599 ], [ 8.582823859658612, 49.85576635945246 ], [ 8.582560278088991, 49.856568153521998 ], [ 8.585146937420708, 49.856928216917801 ], [ 8.596740728627541, 49.849734993542597 ], [ 8.59678710897678, 49.849747805848914 ], [ 8.58522874873802, 49.85687859119021 ], [ 8.585236830209999, 49.856909650494039 ], [ 8.588629762752127, 49.856202644012932 ], [ 8.589086866355435, 49.856437667608162 ], [ 8.589536482153392, 49.856079038008644 ], [ 8.589781555227663, 49.855970624503612 ], [ 8.591500070788715, 49.856832052112786 ], [ 8.591467063116337, 49.857034307887595 ], [ 8.591129114850688, 49.857514762036473 ], [ 8.590980428407367, 49.857576298318889 ], [ 8.590952402888785, 49.857929675969999 ], [ 8.591136550567285, 49.8583647508813 ], [ 8.591155278771897, 49.858618456544058 ], [ 8.5910346864523, 49.8595543390513 ], [ 8.591204771340253, 49.859430817423252 ], [ 8.591867762687484, 49.859508705526487 ], [ 8.591934883819157, 49.859468467401243 ], [ 8.592332500193692, 49.859834135835904 ], [ 8.594615056947774, 49.860152443392025 ], [ 8.594589122196458, 49.860258935268412 ], [ 8.598024326573398, 49.860505648419412 ], [ 8.598105056072654, 49.861088759442303 ], [ 8.598232612362555, 49.861310461507969 ], [ 8.598302255542441, 49.861720843211863 ], [ 8.598387099648214, 49.862815294402139 ], [ 8.59821359136974, 49.86310071210125 ], [ 8.597844514148116, 49.863311248304981 ], [ 8.597675746418451, 49.863527875201584 ], [ 8.597544094374658, 49.864803709803297 ], [ 8.59745633665225, 49.865066488450879 ], [ 8.597139845800678, 49.865225937414174 ], [ 8.597823282254838, 49.865365923007978 ], [ 8.599036644894873, 49.865533372247562 ], [ 8.599106803920105, 49.865630753307826 ], [ 8.602357004033264, 49.866088513326815 ], [ 8.602538907712153, 49.865541384258421 ], [ 8.602417963991323, 49.865527478123681 ], [ 8.602558498744843, 49.864934336169064 ], [ 8.60337999547594, 49.865038335283565 ], [ 8.605847219871888, 49.865273405705665 ], [ 8.605751150409137, 49.866562861444628 ], [ 8.607214476734175, 49.866799881105855 ], [ 8.609816348440432, 49.867175633986804 ], [ 8.613060579541044, 49.867622280373389 ], [ 8.613650869775556, 49.867674167254499 ], [ 8.615199666665481, 49.867671223154211 ], [ 8.616246520970003, 49.867793417588217 ], [ 8.619059677918653, 49.868390921585224 ], [ 8.622585472569108, 49.868888144281172 ], [ 8.630233765406983, 49.869948931122394 ], [ 8.633090563543481, 49.870335767039471 ], [ 8.634099987378001, 49.867965814085068 ], [ 8.633096815402496, 49.870337135966992 ], [ 8.641573522651882, 49.871500978335206 ], [ 8.641684333847135, 49.871195065485644 ], [ 8.642824106982225, 49.867794694627939 ], [ 8.643673898486995, 49.86520560454067 ], [ 8.643836002862658, 49.864732553101661 ], [ 8.64415579005035, 49.863818815327178 ], [ 8.644332002049195, 49.863128594143788 ], [ 8.644633833268333, 49.86039210507019 ], [ 8.644579588034414, 49.859251911113596 ], [ 8.644389658931734, 49.858401367081683 ], [ 8.644340780703578, 49.857383961340936 ], [ 8.644193218934911, 49.85673322026738 ], [ 8.643915023867464, 49.85568542880636 ], [ 8.64360246153378, 49.854772445468363 ], [ 8.643158282431598, 49.853598670782141 ], [ 8.642781997720752, 49.852558668908976 ], [ 8.642235019952947, 49.850900229530914 ], [ 8.641914605628727, 49.850211175085256 ], [ 8.641595159528478, 49.849674576339225 ], [ 8.640912033760786, 49.848660601537055 ], [ 8.640557600229211, 49.848061830579951 ], [ 8.639961312031007, 49.846879475537847 ], [ 8.638982761087753, 49.845482761845481 ], [ 8.637696638695957, 49.842258330589772 ], [ 8.633283435343511, 49.842100094492778 ], [ 8.631525144462369, 49.842051346037415 ], [ 8.629686640487206, 49.842398964690801 ], [ 8.626427788892986, 49.842965944483716 ], [ 8.625084862807656, 49.843157235661025 ], [ 8.624031687647292, 49.843377783528382 ], [ 8.622975547634658, 49.84344181084127 ], [ 8.621873003351942, 49.843570436354916 ], [ 8.620817992902394, 49.843755871157072 ], [ 8.619654511141009, 49.843672459755389 ], [ 8.617368112530507, 49.843654142266971 ], [ 8.615023484277494, 49.843612650770261 ], [ 8.614903823976869, 49.844231512999976 ], [ 8.61849103289927, 49.845709899489407 ] ], [ [ 8.623462923458364, 49.851897252602043 ], [ 8.620383024899095, 49.850014477026434 ], [ 8.620979036396482, 49.850375321536923 ], [ 8.623462923458364, 49.851897252602043 ] ], [ [ 8.624459337023637, 49.846882909939055 ], [ 8.62452690268884, 49.846899188067788 ], [ 8.624197630832436, 49.846834636331977 ], [ 8.624459337023637, 49.846882909939055 ] ], [ [ 8.62752454019922, 49.847389285859627 ], [ 8.627731710039159, 49.847412603274641 ], [ 8.627547459171602, 49.847393406942999 ], [ 8.625686331078484, 49.847128375918722 ], [ 8.625321169810801, 49.84706943866852 ], [ 8.62752454019922, 49.847389285859627 ] ], [ [ 8.628404219681356, 49.850758233450371 ], [ 8.629231627153613, 49.85088365511492 ], [ 8.628537930862896, 49.852670061606879 ], [ 8.628646276961074, 49.852390128408537 ], [ 8.6292231985018, 49.850894421338594 ], [ 8.626817888219536, 49.850521190893396 ], [ 8.628404219681356, 49.850758233450371 ] ], [ [ 8.6283865721045, 49.853059822381027 ], [ 8.628149217131744, 49.85353531021979 ], [ 8.628410033738845, 49.852999407245271 ], [ 8.6283865721045, 49.853059822381027 ] ], [ [ 8.627009400189269, 49.853432091413076 ], [ 8.627010703764446, 49.853429117604279 ], [ 8.627164803010917, 49.85347008771042 ], [ 8.627439553891929, 49.853560014703923 ], [ 8.627687158749783, 49.853652552160653 ], [ 8.627942997196021, 49.853759956127796 ], [ 8.627009400189269, 49.853432091413076 ] ], [ [ 8.620871708325035, 49.856626918909662 ], [ 8.619003632304437, 49.860685250421895 ], [ 8.618997174213058, 49.860680354112681 ], [ 8.620867057491433, 49.856625287999918 ], [ 8.620871708325035, 49.856626918909662 ] ], [ [ 8.635918368249552, 49.851885028806286 ], [ 8.63508628842972, 49.851749496624528 ], [ 8.635736524420798, 49.851854076773236 ], [ 8.635918368249552, 49.851885028806286 ] ], [ [ 8.637024151993966, 49.852107707756623 ], [ 8.637292613458117, 49.852202988305571 ], [ 8.636530544251078, 49.851984737960031 ], [ 8.636834678011839, 49.852053148466901 ], [ 8.637024151993966, 49.852107707756623 ] ], [ [ 8.63771073515619, 49.852375637414113 ], [ 8.638057925694637, 49.852546714427177 ], [ 8.637292613458117, 49.852202988305571 ], [ 8.63771073515619, 49.852375637414113 ] ], [ [ 8.638386471703916, 49.851861023841799 ], [ 8.637977375359286, 49.85271510628921 ], [ 8.637503832743647, 49.853559809677577 ], [ 8.638057925694637, 49.852546714427177 ], [ 8.638386471703916, 49.851861023841799 ] ], [ [ 8.639219687575245, 49.848969698503097 ], [ 8.63920490098479, 49.849049474985513 ], [ 8.639231172661203, 49.848821776308142 ], [ 8.639219687575245, 49.848969698503097 ] ], [ [ 8.639320820698391, 49.84715540908411 ], [ 8.639284302724185, 49.848137475305293 ], [ 8.639268269819098, 49.848343976951703 ], [ 8.639281738229489, 49.847640980830981 ], [ 8.639320820698391, 49.84715540908411 ] ], [ [ 8.630400422853059, 49.84778429305382 ], [ 8.631496516888051, 49.848013144220126 ], [ 8.630821541273054, 49.847877430970037 ], [ 8.630400422853059, 49.84778429305382 ] ], [ [ 8.632357104391572, 49.8481602355102 ], [ 8.631929903728418, 49.848091422504339 ], [ 8.631496516888051, 49.848013144220126 ], [ 8.632357104391572, 49.8481602355102 ] ], [ [ 8.634113957757606, 49.848428877698566 ], [ 8.63789427366032, 49.849035721731198 ], [ 8.636846005691861, 49.84887054489554 ], [ 8.634113957757606, 49.848428877698566 ] ], [ [ 8.634885157073045, 49.858345192336373 ], [ 8.634683076752514, 49.858735456356413 ], [ 8.63525744180529, 49.858747474407963 ], [ 8.634672240284246, 49.858759274095689 ], [ 8.634658560428567, 49.858750905878111 ], [ 8.634885157073045, 49.858345192336373 ] ], [ [ 8.632591143146909, 49.85747144164943 ], [ 8.633739524807151, 49.858188704681311 ], [ 8.63341154253804, 49.857988063328349 ], [ 8.632591143146909, 49.85747144164943 ] ], [ [ 8.627016173640616, 49.854074027481488 ], [ 8.626793195559101, 49.853937320521588 ], [ 8.632591143146909, 49.85747144164943 ], [ 8.627016173640616, 49.854074027481488 ] ], [ [ 8.609044593938563, 49.843054329971586 ], [ 8.607980553403683, 49.842407971263164 ], [ 8.609065357817521, 49.843066542347295 ], [ 8.609893993089008, 49.843576549097641 ], [ 8.609044593938563, 49.843054329971586 ] ], [ [ 8.615715242880926, 49.847155041546863 ], [ 8.612920153351563, 49.84543692074341 ], [ 8.614548326394011, 49.846434841468721 ], [ 8.614996786882552, 49.846711558141507 ], [ 8.615715242880926, 49.847155041546863 ] ], [ [ 8.61899353892238, 49.849164573134992 ], [ 8.61611165134817, 49.847398307890607 ], [ 8.617264149655636, 49.848101943694211 ], [ 8.617820623819622, 49.84844376502506 ], [ 8.61899353892238, 49.849164573134992 ] ], [ [ 8.636614869101853, 49.858488522218799 ], [ 8.635984995018326, 49.858499403585277 ], [ 8.636542295439181, 49.858486311493536 ], [ 8.636729721154232, 49.857982318428128 ], [ 8.636614869101853, 49.858488522218799 ] ], [ [ 8.636040649866604, 49.868314604904512 ], [ 8.634829866549088, 49.868055809575068 ], [ 8.636058749695326, 49.868315623677724 ], [ 8.636040649866604, 49.868314604904512 ] ], [ [ 8.636497580496929, 49.868340322982142 ], [ 8.636194068662476, 49.868323240196986 ], [ 8.63669314222035, 49.868331339149186 ], [ 8.636497580496929, 49.868340322982142 ] ], [ [ 8.637322357051843, 49.868302431635612 ], [ 8.637058086067599, 49.868314573246245 ], [ 8.637589992352581, 49.868241207933714 ], [ 8.637322357051843, 49.868302431635612 ] ], [ [ 8.641290771553464, 49.867711048691525 ], [ 8.640014497093571, 49.868089562279323 ], [ 8.641223664215724, 49.867724994212381 ], [ 8.641290771553464, 49.867711048691525 ] ], [ [ 8.641588608503694, 49.867661249698585 ], [ 8.641489313957434, 49.867669789482328 ], [ 8.641543512537568, 49.867658526373361 ], [ 8.641588608503694, 49.867661249698585 ] ], [ [ 8.642743067239998, 49.867782126674946 ], [ 8.641806724639745, 49.867674421382645 ], [ 8.642202803373724, 49.867698338875755 ], [ 8.642743067239998, 49.867782126674946 ] ] ] ] } },
+{ "type": "Feature", "properties": { "ID": 66.0, "SYMBOL": 1.0, "ANGLE": 0.0, "WAHLBEZIRK": "1040", "ID1": 66, "ortsteil": "Eberstadt", "ortsteilnr": 7 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 8.645350779579722, 49.800054824092641 ], [ 8.644608370321313, 49.800389839586856 ], [ 8.643826931756877, 49.800645129992851 ], [ 8.642722257907339, 49.800919656481362 ], [ 8.641644907637996, 49.801161877115071 ], [ 8.640402179886822, 49.801498015832557 ], [ 8.639841135930588, 49.801542145047883 ], [ 8.640024507108308, 49.801831434752003 ], [ 8.63940002463999, 49.801996789061185 ], [ 8.639864028592649, 49.802952087038307 ], [ 8.637048942206663, 49.803364242567831 ], [ 8.636644209831378, 49.803408845735333 ], [ 8.636314538336554, 49.803450984743463 ], [ 8.627787560742375, 49.80470021679151 ], [ 8.630039621519156, 49.807616212420065 ], [ 8.628283522457144, 49.808805947045514 ], [ 8.627378069773989, 49.809435794308811 ], [ 8.626364878899478, 49.810246074240126 ], [ 8.624808394492565, 49.81121108996426 ], [ 8.624121075369173, 49.811660830515123 ], [ 8.622052529212896, 49.810901273862953 ], [ 8.621841291496899, 49.812592427638194 ], [ 8.620742569137983, 49.814188937260703 ], [ 8.621714070495798, 49.81441192239663 ], [ 8.620837795074044, 49.81641130899348 ], [ 8.619849783104149, 49.818233480298929 ], [ 8.618976437103331, 49.819783490348179 ], [ 8.618247734504811, 49.821230085022457 ], [ 8.617169314489304, 49.823120741219512 ], [ 8.616672852752671, 49.824194376384739 ], [ 8.615134472754496, 49.827002264405166 ], [ 8.61493552364778, 49.827368573412237 ], [ 8.613430225078867, 49.830449076231012 ], [ 8.613415399795025, 49.830477358996788 ], [ 8.613411153243069, 49.830486788903571 ], [ 8.613370859312061, 49.830570301983151 ], [ 8.613294108873264, 49.830779164634386 ], [ 8.613279175836379, 49.830820938549088 ], [ 8.612879610439684, 49.831754567566911 ], [ 8.61281159730849, 49.831913540397785 ], [ 8.612388764054389, 49.832624479710844 ], [ 8.612004055711466, 49.833261341655344 ], [ 8.611717704013595, 49.83385670805562 ], [ 8.611405839861831, 49.834511350854143 ], [ 8.61136130259475, 49.834602943869669 ], [ 8.611348582264091, 49.834628535106788 ], [ 8.611329507149245, 49.834666247401742 ], [ 8.611542660526272, 49.8346170432959 ], [ 8.611263808554202, 49.834795545673202 ], [ 8.60638053871409, 49.836107980857349 ], [ 8.603654443499943, 49.836846121832288 ], [ 8.603006574172786, 49.836995009804269 ], [ 8.600630782068427, 49.836978753967472 ], [ 8.598705495455587, 49.836718464299061 ], [ 8.601580129072628, 49.838474182333407 ], [ 8.603672332386536, 49.839761698830408 ], [ 8.607365091930882, 49.842034092647467 ], [ 8.610256706505695, 49.841496095709637 ], [ 8.613635943367589, 49.843635017462411 ], [ 8.614903823976869, 49.844231512999976 ], [ 8.615023484277494, 49.843612650770261 ], [ 8.617368112530507, 49.843654142266971 ], [ 8.619654511141009, 49.843672459755389 ], [ 8.620817992902394, 49.843755871157072 ], [ 8.621873003351942, 49.843570436354916 ], [ 8.622975547634658, 49.84344181084127 ], [ 8.624031687647292, 49.843377783528382 ], [ 8.625084862807656, 49.843157235661025 ], [ 8.626427788892986, 49.842965944483716 ], [ 8.629686640487206, 49.842398964690801 ], [ 8.631525144462369, 49.842051346037415 ], [ 8.633283435343511, 49.842100094492778 ], [ 8.640412158421729, 49.842354480611938 ], [ 8.645605353679155, 49.842267938157249 ], [ 8.64565358173531, 49.842234356858384 ], [ 8.647022972123578, 49.842118460401984 ], [ 8.647066836110705, 49.841824479416566 ], [ 8.648733668112413, 49.841828193098429 ], [ 8.65043778830589, 49.841868422289977 ], [ 8.650515213589259, 49.84154620906979 ], [ 8.653086921343425, 49.841329975064198 ], [ 8.654118427278169, 49.84090537709524 ], [ 8.654740102172237, 49.840611766651925 ], [ 8.655874329078941, 49.84070013570998 ], [ 8.655956767420506, 49.840842041089971 ], [ 8.657173043617977, 49.841128965856306 ], [ 8.65819862866285, 49.841242624634461 ], [ 8.658228452412931, 49.841155017870868 ], [ 8.658584825515399, 49.841205986541418 ], [ 8.660761895271046, 49.841032941244443 ], [ 8.662232890213783, 49.840995413092024 ], [ 8.664018661162165, 49.84129201885704 ], [ 8.664981803560803, 49.841387897667573 ], [ 8.665269492563427, 49.84141706087383 ], [ 8.666423069084315, 49.841730690409626 ], [ 8.666692319675324, 49.841711227661499 ], [ 8.668055409134382, 49.840982551052996 ], [ 8.66893406000632, 49.840620793535734 ], [ 8.669659578510281, 49.840075108778287 ], [ 8.670705601095481, 49.839330656243298 ], [ 8.672107820107678, 49.838966313281709 ], [ 8.672221384600331, 49.83790485379312 ], [ 8.672880064236585, 49.837051353518738 ], [ 8.673989900389214, 49.836416332260626 ], [ 8.67363571867644, 49.835732665697272 ], [ 8.673290858176733, 49.835214969716219 ], [ 8.673021313367277, 49.834665105523612 ], [ 8.672491110746263, 49.834186893327235 ], [ 8.672841568875693, 49.833172437853428 ], [ 8.673106012596172, 49.832930336779455 ], [ 8.673194424903201, 49.832191251408297 ], [ 8.673342574500321, 49.831562964628084 ], [ 8.673408824832469, 49.831016745093336 ], [ 8.67373805307343, 49.831063543375947 ], [ 8.673700521874911, 49.830751783796927 ], [ 8.673448674219417, 49.830674172945386 ], [ 8.673156759782971, 49.830352252181868 ], [ 8.672206491158649, 49.829924586097029 ], [ 8.672540856884719, 49.829518087410548 ], [ 8.672565283185014, 49.82898928896946 ], [ 8.672829157704438, 49.828519180110348 ], [ 8.672926949693407, 49.828244229118994 ], [ 8.672845356415486, 49.827972819323406 ], [ 8.673096927710956, 49.827470295403856 ], [ 8.673431919397386, 49.827276961792663 ], [ 8.67421173901119, 49.827303440963568 ], [ 8.674429342364466, 49.826576859365396 ], [ 8.674495458995739, 49.826358482390447 ], [ 8.673858574066776, 49.825857505751934 ], [ 8.673195968168868, 49.825461686940557 ], [ 8.672357569088605, 49.825158459054855 ], [ 8.672017894677907, 49.824812115322175 ], [ 8.672097996860295, 49.823760002761261 ], [ 8.672156398624836, 49.82344986277991 ], [ 8.672199682674828, 49.823216581724616 ], [ 8.672158564203874, 49.822512207490469 ], [ 8.672337227879261, 49.822303593942735 ], [ 8.672803705838628, 49.822089047174991 ], [ 8.673481928213063, 49.821706451043319 ], [ 8.674496947231097, 49.821474553273852 ], [ 8.675778406937981, 49.821000544597148 ], [ 8.676475958625332, 49.820840595307011 ], [ 8.677579166759086, 49.820826130377398 ], [ 8.67917276876604, 49.821073399993864 ], [ 8.679598979831619, 49.821266158726928 ], [ 8.679401087008124, 49.820603177190797 ], [ 8.679391117255292, 49.81990293890042 ], [ 8.679600385035913, 49.819474486685309 ], [ 8.679837719718918, 49.819216104979255 ], [ 8.678423731390465, 49.818934264849538 ], [ 8.677868579689809, 49.818693923020284 ], [ 8.677411910295978, 49.818382347490385 ], [ 8.676583531022896, 49.817528722688593 ], [ 8.67559330380068, 49.816561309950146 ], [ 8.673559833670671, 49.815086371053731 ], [ 8.673206125665303, 49.81466578709766 ], [ 8.672886310498816, 49.814167046689633 ], [ 8.672535182665454, 49.813983919212049 ], [ 8.672118102795849, 49.813996231615043 ], [ 8.67190701267082, 49.814071186950301 ], [ 8.671072677190656, 49.814121439185776 ], [ 8.670796383971197, 49.81427985505703 ], [ 8.670395165283617, 49.814412281121754 ], [ 8.669716936946683, 49.814194485552392 ], [ 8.669145837789099, 49.813860964505885 ], [ 8.668912909032512, 49.81346904429855 ], [ 8.669383725737314, 49.813219445376433 ], [ 8.669646479015912, 49.812599583058557 ], [ 8.669902431480514, 49.812365559241144 ], [ 8.670019328540029, 49.812038047287011 ], [ 8.670087936316525, 49.812066574869519 ], [ 8.670527011836265, 49.811882989534212 ], [ 8.670786697501853, 49.811404777150941 ], [ 8.670987179815691, 49.811355427678272 ], [ 8.671080247451506, 49.811466322615949 ], [ 8.671706930013201, 49.811285963379078 ], [ 8.672222492906807, 49.811197029146612 ], [ 8.672710094627549, 49.810925877619262 ], [ 8.673225679126137, 49.810832891516476 ], [ 8.673251236875611, 49.810443057497295 ], [ 8.673377958583165, 49.810200566599271 ], [ 8.673293090990311, 49.810109933941348 ], [ 8.67332074163072, 49.809718756602273 ], [ 8.674196384528962, 49.809404169717993 ], [ 8.674335996434655, 49.809103700249061 ], [ 8.674530989449028, 49.808938301768762 ], [ 8.67513431543339, 49.808814522931186 ], [ 8.675394075092438, 49.808627718015458 ], [ 8.675583737217007, 49.808323339710476 ], [ 8.675997588708384, 49.808162598626737 ], [ 8.676765403117791, 49.808067603302582 ], [ 8.677003046914942, 49.807756610680286 ], [ 8.677552974987261, 49.807508548009331 ], [ 8.677392020816326, 49.807259855274609 ], [ 8.677144924854437, 49.807112109125107 ], [ 8.676715405856353, 49.806184041081586 ], [ 8.676482498756284, 49.805472385422618 ], [ 8.675341565860856, 49.804945721970874 ], [ 8.674774331643636, 49.804979209681804 ], [ 8.673809444106892, 49.805247678616126 ], [ 8.67141520246018, 49.805719866081525 ], [ 8.67067514174275, 49.806337028638453 ], [ 8.669463942491859, 49.806951494544371 ], [ 8.668767649936221, 49.806647295483359 ], [ 8.667064911085276, 49.805975932950631 ], [ 8.66492748495167, 49.805167024455947 ], [ 8.663483109104435, 49.804528735504839 ], [ 8.662112264362475, 49.803214714756145 ], [ 8.660932456699744, 49.802911755971479 ], [ 8.659929128085306, 49.802413675194664 ], [ 8.65874823046452, 49.801380796226084 ], [ 8.658841678868356, 49.801134175347642 ], [ 8.658603200532012, 49.800662616743153 ], [ 8.658062350201236, 49.799914937467214 ], [ 8.657891384531471, 49.799625712915599 ], [ 8.657628919491021, 49.799011070502665 ], [ 8.658021385060021, 49.798924533936244 ], [ 8.657116684084494, 49.79805300226122 ], [ 8.656738374337868, 49.79761205640645 ], [ 8.656229314251252, 49.797682052928131 ], [ 8.656148399897127, 49.797335078909093 ], [ 8.654771727536222, 49.797483441110387 ], [ 8.654490258038757, 49.79691055865171 ], [ 8.653214938757712, 49.797168486415742 ], [ 8.652614618107167, 49.796301877128542 ], [ 8.651655327759318, 49.796668667411289 ], [ 8.650862499260542, 49.796782309333459 ], [ 8.650380725744043, 49.795667800027886 ], [ 8.647988491988029, 49.795896661352316 ], [ 8.647802226666485, 49.796654982374783 ], [ 8.647513394158555, 49.797031209889951 ], [ 8.647270217974141, 49.79779814184397 ], [ 8.6470005759789, 49.798477297220856 ], [ 8.646553809886784, 49.799149166043193 ], [ 8.646027286699704, 49.799608971512519 ], [ 8.645350779579722, 49.800054824092641 ] ], [ [ 8.621005651320454, 49.828022681867189 ], [ 8.615759590139373, 49.829703993959029 ], [ 8.613919510127053, 49.830294205233884 ], [ 8.613430225078867, 49.830449076231012 ], [ 8.621005651320454, 49.828022681867189 ] ], [ [ 8.621494940476747, 49.827861033120563 ], [ 8.621432195620546, 49.827883763816772 ], [ 8.621005651320454, 49.828022681867189 ], [ 8.621494940476747, 49.827861033120563 ] ], [ [ 8.634505670354145, 49.816119275912385 ], [ 8.636392784441503, 49.816381551000617 ], [ 8.635463779518934, 49.816255859693072 ], [ 8.634505670354145, 49.816119275912385 ] ], [ [ 8.640417249392925, 49.8208503650484 ], [ 8.640559105072818, 49.820974064021669 ], [ 8.639917422005549, 49.820483192487522 ], [ 8.640417249392925, 49.8208503650484 ] ], [ [ 8.6410802619473, 49.821428508920967 ], [ 8.641211166906396, 49.821575076137968 ], [ 8.640903865946759, 49.821274694142943 ], [ 8.6410802619473, 49.821428508920967 ] ], [ [ 8.641365517324036, 49.82174789264154 ], [ 8.641154552611935, 49.821815946190441 ], [ 8.64096852399838, 49.821874732883771 ], [ 8.640797161803761, 49.821924120652511 ], [ 8.640640476165233, 49.821962760439149 ], [ 8.641365211939913, 49.821747550723472 ], [ 8.641365517324036, 49.82174789264154 ] ], [ [ 8.64410491438726, 49.81930752087333 ], [ 8.644465302157014, 49.819355847315897 ], [ 8.643702457505194, 49.819308982716805 ], [ 8.64410491438726, 49.81930752087333 ] ], [ [ 8.64422213578557, 49.816971144468582 ], [ 8.644230647506369, 49.816929617175276 ], [ 8.644169482422292, 49.817327159786345 ], [ 8.64422213578557, 49.816971144468582 ] ], [ [ 8.649072138041619, 49.814948706026215 ], [ 8.649022339686894, 49.815339567109184 ], [ 8.649026001928826, 49.815273712799247 ], [ 8.649072138041619, 49.814948706026215 ] ], [ [ 8.648659353401488, 49.813003212733328 ], [ 8.648710611705678, 49.813045301226872 ], [ 8.648784838150052, 49.813160204435249 ], [ 8.648659353401488, 49.813003212733328 ] ], [ [ 8.642986089137276, 49.809260964089553 ], [ 8.641393303612562, 49.805876407368757 ], [ 8.642569484786621, 49.808363839711866 ], [ 8.642986089137276, 49.809260964089553 ] ], [ [ 8.641300006334298, 49.8117314606557 ], [ 8.641221832538728, 49.811729148759568 ], [ 8.64228932434934, 49.811584761906893 ], [ 8.641300006334298, 49.8117314606557 ] ], [ [ 8.648533262074718, 49.812899677999589 ], [ 8.647849578658587, 49.812463900341875 ], [ 8.648403864742608, 49.812793428072588 ], [ 8.648533262074718, 49.812899677999589 ] ], [ [ 8.645436156425896, 49.806630882963958 ], [ 8.646139453935568, 49.803666234257356 ], [ 8.64754607251913, 49.797697794150466 ], [ 8.645915709611932, 49.804619405674558 ], [ 8.645436156425896, 49.806630882963958 ] ], [ [ 8.643372829321898, 49.824154130415742 ], [ 8.643287805138975, 49.824089109414338 ], [ 8.643196703684568, 49.823999784878154 ], [ 8.643145016073962, 49.823938913845971 ], [ 8.643051998554162, 49.823826647683006 ], [ 8.643466244817267, 49.824212431398131 ], [ 8.643372829321898, 49.824154130415742 ] ], [ [ 8.623530978828263, 49.832094559119888 ], [ 8.623731625778147, 49.832041244524291 ], [ 8.624544366132545, 49.831863093510258 ], [ 8.623530978828263, 49.832094559119888 ] ], [ [ 8.632589520810505, 49.83015791095152 ], [ 8.634743321071985, 49.829697911125329 ], [ 8.635702176967341, 49.829493159164535 ], [ 8.636343498722569, 49.82935621027292 ], [ 8.62970030564848, 49.830776072845531 ], [ 8.632073520786083, 49.830268253883595 ], [ 8.632228113498432, 49.830235015672223 ], [ 8.632589520810505, 49.83015791095152 ] ], [ [ 8.642464267015951, 49.8246275825841 ], [ 8.642457219846705, 49.825300788366974 ], [ 8.642457349113748, 49.825283249773179 ], [ 8.642461674514758, 49.82469638141157 ], [ 8.642464267015951, 49.8246275825841 ] ], [ [ 8.636061993467477, 49.82184324085685 ], [ 8.63648868312076, 49.821671888092595 ], [ 8.63645520766153, 49.821686623798065 ], [ 8.636082906919139, 49.821835211595761 ], [ 8.636061993467477, 49.82184324085685 ] ], [ [ 8.637927160841979, 49.821724103829169 ], [ 8.637926852401439, 49.821765433770871 ], [ 8.637551614598966, 49.821749420293543 ], [ 8.637509909205559, 49.821749289871065 ], [ 8.637487223253668, 49.821715490064925 ], [ 8.63648868312076, 49.821671888092595 ], [ 8.637927160841979, 49.821724103829169 ] ], [ [ 8.638906109507875, 49.821598495222965 ], [ 8.638876855567617, 49.821606499007764 ], [ 8.63856757319518, 49.82169457916654 ], [ 8.638564252657487, 49.821694438570056 ], [ 8.639278098911431, 49.821490372018339 ], [ 8.639278078850056, 49.821493070264367 ], [ 8.63917777571314, 49.821521090300266 ], [ 8.638906109507875, 49.821598495222965 ] ], [ [ 8.63965837757919, 49.821389019161167 ], [ 8.639635449798554, 49.821387598724861 ], [ 8.639466554203361, 49.821385724337496 ], [ 8.63998396763683, 49.821350905452071 ], [ 8.639983647284174, 49.82139407739291 ], [ 8.639743873021388, 49.821389284924955 ], [ 8.63965837757919, 49.821389019161167 ] ] ] ] } },
+{ "type": "Feature", "properties": { "ID": 5.0, "SYMBOL": 1.0, "ANGLE": 0.0, "WAHLBEZIRK": "330", "ID1": 5, "ortsteil": "Ost", "ortsteilnr": 3 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 8.662400432373161, 49.869058135118451 ], [ 8.662215921022742, 49.869176322254084 ], [ 8.662237007984636, 49.869744372680735 ], [ 8.662359190689475, 49.870782218999935 ], [ 8.66254058902215, 49.872309975871389 ], [ 8.662588968554035, 49.87285651908801 ], [ 8.661185279406569, 49.872981943275775 ], [ 8.661507658697834, 49.874645027229469 ], [ 8.661221895696556, 49.875506293851011 ], [ 8.660903807216393, 49.875914153745953 ], [ 8.662632536401654, 49.87679074173176 ], [ 8.662890342990288, 49.87694394448723 ], [ 8.66312179217716, 49.876384723752508 ], [ 8.662892440033996, 49.876942601443538 ], [ 8.663830533354732, 49.877440459723125 ], [ 8.665188421855966, 49.877917937075971 ], [ 8.666334353078648, 49.878558034679152 ], [ 8.666538643182429, 49.878603144019444 ], [ 8.668729433386208, 49.878802351004367 ], [ 8.669071388165515, 49.878866737074858 ], [ 8.669975442367109, 49.879166124646254 ], [ 8.670854793976293, 49.879415516843586 ], [ 8.673548491399208, 49.880279836003091 ], [ 8.674936929961838, 49.880806753606272 ], [ 8.674935431964899, 49.880809897061546 ], [ 8.673542218910358, 49.880281167482586 ], [ 8.670848521526162, 49.879416848177634 ], [ 8.669969169925372, 49.879167455932809 ], [ 8.669464020983463, 49.879765035154307 ], [ 8.668670780088961, 49.880356392686643 ], [ 8.669017533493326, 49.880636654964292 ], [ 8.669679882071103, 49.881175501364183 ], [ 8.670203507646301, 49.881545306995974 ], [ 8.67091450821448, 49.881995241409491 ], [ 8.671079202526501, 49.882032135485112 ], [ 8.671448765837665, 49.882647041628125 ], [ 8.671976033580142, 49.883408099787964 ], [ 8.674068030693853, 49.886221556674414 ], [ 8.674951539554764, 49.887428817136531 ], [ 8.675279448440728, 49.888040895372519 ], [ 8.675391780448424, 49.888416270209653 ], [ 8.675513439060726, 49.889892567262976 ], [ 8.675619557136496, 49.890572829397172 ], [ 8.675569989327366, 49.891113694745357 ], [ 8.675352814311324, 49.89173503911158 ], [ 8.675103678783714, 49.892139082424514 ], [ 8.674792387907855, 49.892468748350652 ], [ 8.676577959628185, 49.894027947703457 ], [ 8.677105809429015, 49.894419319151453 ], [ 8.677601421441464, 49.894635210823971 ], [ 8.678320696864171, 49.894822040043572 ], [ 8.680213000227971, 49.895114639986225 ], [ 8.683062249224317, 49.89407148541332 ], [ 8.685332044675757, 49.894122188483074 ], [ 8.687346640308801, 49.893590681598276 ], [ 8.68817948241376, 49.893333889986401 ], [ 8.6886311939181, 49.893237965975054 ], [ 8.689765867899295, 49.893077068121819 ], [ 8.689764131303013, 49.893077757082558 ], [ 8.692371622798335, 49.894862865278043 ], [ 8.693054976359466, 49.895125059351983 ], [ 8.694417774738184, 49.895279761877937 ], [ 8.694726480116771, 49.896003711702107 ], [ 8.695555124036265, 49.897078452884394 ], [ 8.696012633517022, 49.897392652514128 ], [ 8.696772963882534, 49.897711689962797 ], [ 8.697550223659045, 49.897997038180705 ], [ 8.700599392635485, 49.898702453647047 ], [ 8.701347458768058, 49.898986351822288 ], [ 8.701757309936911, 49.899247789639119 ], [ 8.701944147257596, 49.899433101461376 ], [ 8.702031548829414, 49.899824575105541 ], [ 8.70191952305724, 49.900378781472092 ], [ 8.701791199465795, 49.900526856333506 ], [ 8.70215276875772, 49.900829991664935 ], [ 8.703547140009988, 49.901657885641697 ], [ 8.707753980614235, 49.902681763303725 ], [ 8.707960296554552, 49.902760532818576 ], [ 8.708688459177045, 49.903245354146271 ], [ 8.70916777092954, 49.903431388512715 ], [ 8.710051445082968, 49.904112215457694 ], [ 8.713880180722112, 49.908729013577499 ], [ 8.715638409997098, 49.909924621753675 ], [ 8.716553116464416, 49.910693167890365 ], [ 8.717035873842791, 49.911022185798338 ], [ 8.717857472113574, 49.912000958754568 ], [ 8.719410635012752, 49.912928881876063 ], [ 8.720771398249362, 49.91426106017903 ], [ 8.721693211639602, 49.91491220782985 ], [ 8.723245791282904, 49.915241063683688 ], [ 8.725434885259501, 49.916071934748338 ], [ 8.726727325933384, 49.917337773129972 ], [ 8.729221618419755, 49.918171989301221 ], [ 8.73014443352654, 49.917928598581867 ], [ 8.730642177190196, 49.918222516823086 ], [ 8.731011779404854, 49.91864025570014 ], [ 8.732322381466522, 49.918551547203911 ], [ 8.732682037219924, 49.918503808078214 ], [ 8.734006787304015, 49.918121002903021 ], [ 8.734427350393226, 49.918395840018071 ], [ 8.734840884772639, 49.918429165335844 ], [ 8.735256685380199, 49.918811918893347 ], [ 8.735764154374973, 49.91886299398562 ], [ 8.735979595878133, 49.919204814374496 ], [ 8.736129788780316, 49.919251026587439 ], [ 8.736502791738531, 49.919054901754251 ], [ 8.73709684317215, 49.918938875648301 ], [ 8.737690093962032, 49.9189698997927 ], [ 8.737577222873227, 49.918591888212561 ], [ 8.737887648257127, 49.918374031225348 ], [ 8.738422969762871, 49.917911139272469 ], [ 8.738764349301974, 49.917763504471374 ], [ 8.738807194590567, 49.917567977170727 ], [ 8.739131928018036, 49.917406812493603 ], [ 8.739159038119306, 49.916641916868151 ], [ 8.739664329062579, 49.916317911909097 ], [ 8.740010590407799, 49.916036720496194 ], [ 8.74039385468955, 49.915867588670181 ], [ 8.740654892696201, 49.915892457043498 ], [ 8.741007398789524, 49.915613974864151 ], [ 8.740939130144385, 49.915487004156176 ], [ 8.7415234160963, 49.915233322248547 ], [ 8.741978959585154, 49.915220845340357 ], [ 8.742435717269526, 49.914980366335591 ], [ 8.742749794526363, 49.914460299148487 ], [ 8.743124213809592, 49.914378832121045 ], [ 8.74355756090258, 49.91421654637881 ], [ 8.743936119770225, 49.914141831534174 ], [ 8.744296067580402, 49.913635352674135 ], [ 8.744126176743764, 49.91336515185661 ], [ 8.744576966316879, 49.91306259118268 ], [ 8.745147978986383, 49.912939727379232 ], [ 8.745279244515077, 49.912610827874673 ], [ 8.745549951732508, 49.912383419040566 ], [ 8.74573970301107, 49.912055996423433 ], [ 8.746429416107633, 49.912003541284761 ], [ 8.746787562992516, 49.911832984193339 ], [ 8.747275339000781, 49.911243128821553 ], [ 8.747558373861335, 49.9110521686585 ], [ 8.747614620550392, 49.91068262916022 ], [ 8.747872609539037, 49.91048621718037 ], [ 8.747250887972969, 49.909525631499292 ], [ 8.747491077875903, 49.909136255737025 ], [ 8.747576667934933, 49.908747892181154 ], [ 8.747368539117987, 49.908599034497207 ], [ 8.747024807521921, 49.907616117278913 ], [ 8.747223301882302, 49.90720911226942 ], [ 8.747332125808033, 49.907171573727005 ], [ 8.746450230621294, 49.906837762457663 ], [ 8.745822964646944, 49.90654902418737 ], [ 8.746253286036096, 49.90615197256929 ], [ 8.745290588647629, 49.905696553666097 ], [ 8.745162429849247, 49.90553635881701 ], [ 8.745168195988315, 49.905534388896193 ], [ 8.745296862473657, 49.905695218313333 ], [ 8.746259559894858, 49.906150637164586 ], [ 8.745829238569037, 49.906547688806135 ], [ 8.746456504563676, 49.906836427042606 ], [ 8.747338399769578, 49.907170238264349 ], [ 8.747715090149264, 49.907041541681579 ], [ 8.748598843159114, 49.906216442927374 ], [ 8.748934106168566, 49.905615456269487 ], [ 8.749266071159186, 49.904843121632901 ], [ 8.749521975274426, 49.904638606506175 ], [ 8.749758900923508, 49.904064387524123 ], [ 8.749872190330734, 49.903565452833512 ], [ 8.749774132304983, 49.903138915321442 ], [ 8.74936873993698, 49.902363637555595 ], [ 8.749441672863467, 49.901590741871395 ], [ 8.749435525918518, 49.901164402473725 ], [ 8.749231393685147, 49.900652639669161 ], [ 8.748416911660444, 49.900228596724659 ], [ 8.747441152806513, 49.899893239705754 ], [ 8.746448507468402, 49.899594264138905 ], [ 8.745432166633707, 49.899037543468246 ], [ 8.744718211557881, 49.898573221007524 ], [ 8.74367692780241, 49.898001589439986 ], [ 8.742478145134847, 49.897202944220084 ], [ 8.741774551285024, 49.896764260017576 ], [ 8.740957778159059, 49.896012319493401 ], [ 8.740781528611199, 49.895774477929329 ], [ 8.740476018051332, 49.894716072849384 ], [ 8.74060718738192, 49.894012117831409 ], [ 8.740570856397609, 49.893387386945022 ], [ 8.740390343440538, 49.892778522896606 ], [ 8.739988306085095, 49.89220019210719 ], [ 8.739258086074518, 49.891294631514889 ], [ 8.739454188371878, 49.890555745834554 ], [ 8.739039157081317, 49.890456325619958 ], [ 8.738321149739654, 49.890389948988556 ], [ 8.73804946616147, 49.890042607588192 ], [ 8.736887680667465, 49.88940588321686 ], [ 8.735739784294136, 49.888908139823378 ], [ 8.734923911353329, 49.888795648404923 ], [ 8.733996000182588, 49.888552028033295 ], [ 8.73295532312757, 49.888310838847694 ], [ 8.732516161371095, 49.888049443249457 ], [ 8.731439435694398, 49.887534282492396 ], [ 8.730454624760737, 49.886641567011154 ], [ 8.729754240045434, 49.886049014717962 ], [ 8.728204533948601, 49.884623401724504 ], [ 8.727988891039935, 49.884354417666827 ], [ 8.727499916078331, 49.884051062712466 ], [ 8.726735397836007, 49.883736263525435 ], [ 8.726275912289534, 49.883389800449081 ], [ 8.725676563372717, 49.882302327910281 ], [ 8.725886900967787, 49.881660635549373 ], [ 8.726478271536324, 49.880833661100709 ], [ 8.72670098294442, 49.88058594476913 ], [ 8.72681604703979, 49.880174728653763 ], [ 8.72658136691879, 49.879584601877056 ], [ 8.727287032026895, 49.878845586526282 ], [ 8.726973011561517, 49.878256622907081 ], [ 8.726404848802556, 49.877569920938804 ], [ 8.726088603560573, 49.877377596501283 ], [ 8.725868546589297, 49.8771585158619 ], [ 8.726973846933832, 49.876257200405803 ], [ 8.727313950601015, 49.875919366734351 ], [ 8.72828006032646, 49.875259207253841 ], [ 8.728829872552122, 49.874749170453114 ], [ 8.728887089206031, 49.873478414361664 ], [ 8.72884256893226, 49.873227370175407 ], [ 8.728573839379301, 49.87238217954522 ], [ 8.728277859752001, 49.871930873352646 ], [ 8.727543419434216, 49.871497424817434 ], [ 8.726983669862017, 49.870071415386647 ], [ 8.727868268458314, 49.869409717635158 ], [ 8.728996745123094, 49.869177610283657 ], [ 8.730176313778623, 49.868764825937866 ], [ 8.731030843822483, 49.868243344672806 ], [ 8.730904542822191, 49.865428742063436 ], [ 8.730569094063863, 49.865322729919356 ], [ 8.73015343916726, 49.86425324263304 ], [ 8.729519068521908, 49.864231527259903 ], [ 8.729389858077335, 49.864140892825517 ], [ 8.727342615550487, 49.864524589660789 ], [ 8.724120614550591, 49.865157810129901 ], [ 8.721713507220683, 49.86562290797859 ], [ 8.721168560463001, 49.865655327223067 ], [ 8.721164505407355, 49.865655310086986 ], [ 8.721709332870983, 49.865622897958872 ], [ 8.72411644024012, 49.865157800196926 ], [ 8.727338441293455, 49.864524579843909 ], [ 8.729385998022725, 49.864140824197015 ], [ 8.728884951954932, 49.863791574872849 ], [ 8.728524859424521, 49.863616692876732 ], [ 8.726988757764078, 49.86324342076167 ], [ 8.726733967410144, 49.863272501633354 ], [ 8.72397475160138, 49.862917886469333 ], [ 8.72266837472127, 49.862528914020274 ], [ 8.721777998238498, 49.862389168162906 ], [ 8.720638708176759, 49.86198438392146 ], [ 8.719915347551574, 49.86183828034283 ], [ 8.718572237035314, 49.861675828921243 ], [ 8.717033667043458, 49.861391462145342 ], [ 8.715934078230532, 49.860633252888007 ], [ 8.715662951052559, 49.860246733222638 ], [ 8.714302219828841, 49.85954318243278 ], [ 8.713042554848114, 49.859047633913825 ], [ 8.712324031391327, 49.858449531602197 ], [ 8.711939779192013, 49.85744076683401 ], [ 8.710712944819056, 49.856702428344171 ], [ 8.709578652413416, 49.855849631320034 ], [ 8.709000860664453, 49.85546097792065 ], [ 8.708457521573264, 49.855243749649091 ], [ 8.707261346514541, 49.854629572711652 ], [ 8.706754453450822, 49.854254578466886 ], [ 8.706194336366124, 49.853366771909862 ], [ 8.706190454686288, 49.852286096586404 ], [ 8.705485815870221, 49.85149370926316 ], [ 8.702873057745636, 49.850187814615992 ], [ 8.701809691619506, 49.849723676300641 ], [ 8.699633594274747, 49.849027295549845 ], [ 8.698867706300174, 49.848715004912371 ], [ 8.697350901857037, 49.848036481603046 ], [ 8.696234554559041, 49.84771921057564 ], [ 8.695173317060533, 49.846935268841129 ], [ 8.694671306022526, 49.846475237702428 ], [ 8.693874629957435, 49.846094026280127 ], [ 8.692746234610235, 49.845054895810037 ], [ 8.691744514976309, 49.844443770879714 ], [ 8.691478126423219, 49.844668369872778 ], [ 8.690659968388184, 49.845046649150326 ], [ 8.688048687151149, 49.843627093883093 ], [ 8.686059267702825, 49.842526214971258 ], [ 8.683685211254662, 49.841239419362338 ], [ 8.682579429178732, 49.841576382183639 ], [ 8.680937989049246, 49.842153358924655 ], [ 8.680277624781674, 49.842324230467732 ], [ 8.679400267330355, 49.842498545769836 ], [ 8.678558180783821, 49.842701284355449 ], [ 8.677771813506096, 49.842994564656017 ], [ 8.676908966701006, 49.84349269701594 ], [ 8.676457711678241, 49.843898881188544 ], [ 8.676150652562344, 49.844267690358627 ], [ 8.675810418205254, 49.844917028696635 ], [ 8.674656897877187, 49.84861585782555 ], [ 8.674247796781724, 49.849569905038052 ], [ 8.674235406704797, 49.850171589692707 ], [ 8.674387933428045, 49.850761595290642 ], [ 8.674377194406588, 49.851117739814512 ], [ 8.674191864690787, 49.851372207790881 ], [ 8.673785884049812, 49.851547804285346 ], [ 8.671743246389582, 49.851834803239271 ], [ 8.671314730704349, 49.851946917385561 ], [ 8.671069722280151, 49.852075740522096 ], [ 8.670777918660095, 49.852335297449187 ], [ 8.670308986461642, 49.853173133744612 ], [ 8.669506692291574, 49.854545629080668 ], [ 8.669124018387173, 49.855274425371839 ], [ 8.668806839289459, 49.856494496378247 ], [ 8.668634223684762, 49.857323727471773 ], [ 8.66841181331932, 49.858109643143642 ], [ 8.667885649164027, 49.860280260105164 ], [ 8.667801141393523, 49.860734679671204 ], [ 8.667389822843774, 49.862280968794742 ], [ 8.667393346120987, 49.862282007504731 ], [ 8.664840786051316, 49.866308916465371 ], [ 8.664284156921624, 49.867116791868987 ], [ 8.663936815874678, 49.867540765616141 ], [ 8.662925893694201, 49.868537545777365 ], [ 8.662400432373161, 49.869058135118451 ] ], [ [ 8.667268453536396, 49.873390315721664 ], [ 8.667242094600446, 49.873456843486075 ], [ 8.668280238230052, 49.873668935215427 ], [ 8.66864261592657, 49.873794092427474 ], [ 8.669058247692867, 49.874069155201731 ], [ 8.669513842079191, 49.874301157866086 ], [ 8.670288642917138, 49.874562398855375 ], [ 8.670908637989047, 49.874636167614135 ], [ 8.670668136657307, 49.874628236170828 ], [ 8.670290675354057, 49.874570499481742 ], [ 8.669515874375685, 49.874309258506116 ], [ 8.669060279903563, 49.874077255849876 ], [ 8.668644648056389, 49.873802193083151 ], [ 8.668282270294071, 49.873677035877492 ], [ 8.667244126481995, 49.873464944166258 ], [ 8.666696813383361, 49.874732914082244 ], [ 8.667268453536396, 49.873390315721664 ] ], [ [ 8.675062412512858, 49.880555265599888 ], [ 8.67574691590999, 49.880601703448988 ], [ 8.676962769001655, 49.880806119012519 ], [ 8.676928858936236, 49.881194576702498 ], [ 8.678675441624737, 49.881430732346416 ], [ 8.678674830103688, 49.881432829478172 ], [ 8.676922586420854, 49.881195908364596 ], [ 8.676956496537576, 49.880807450676656 ], [ 8.675740643439292, 49.880603035047386 ], [ 8.675061601401691, 49.880556967686438 ], [ 8.675062412512858, 49.880555265599888 ] ], [ [ 8.678911842370196, 49.880640192074026 ], [ 8.680361375384079, 49.880785395171102 ], [ 8.680359841310748, 49.88078720163449 ], [ 8.678911287039709, 49.880642096572494 ], [ 8.678911842370196, 49.880640192074026 ] ], [ [ 8.680458699027218, 49.880676844679954 ], [ 8.68086930513619, 49.88078320840804 ], [ 8.681672610489878, 49.880862317532419 ], [ 8.683575184765012, 49.880461434287568 ], [ 8.684276441696829, 49.880501121799284 ], [ 8.685258282569709, 49.880737192257072 ], [ 8.685907545938193, 49.880922340770262 ], [ 8.685906386621133, 49.880925130934706 ], [ 8.685252010340673, 49.880738524370429 ], [ 8.684270169471638, 49.880502453859592 ], [ 8.683568912525852, 49.88046276630994 ], [ 8.681666338146869, 49.88086364945157 ], [ 8.680863032781543, 49.880784540283742 ], [ 8.680456640942902, 49.880679268210656 ], [ 8.680458699027218, 49.880676844679954 ] ], [ [ 8.685982650960518, 49.880755345947335 ], [ 8.686780985738864, 49.880958527026678 ], [ 8.687398460590344, 49.881041141746785 ], [ 8.687002323909541, 49.882892440967055 ], [ 8.686842656219524, 49.884335588203776 ], [ 8.686836560173766, 49.88433532420197 ], [ 8.686996051448553, 49.882893773173834 ], [ 8.687392188380247, 49.881042473975896 ], [ 8.686774713522642, 49.880959859222394 ], [ 8.685981550542913, 49.880757994376552 ], [ 8.685982650960518, 49.880755345947335 ] ], [ [ 8.685969042568104, 49.884462742793033 ], [ 8.687908325744848, 49.885509513477324 ], [ 8.689006573714948, 49.886170843640777 ], [ 8.691006179571167, 49.887602228109621 ], [ 8.692093441535278, 49.888363335621776 ], [ 8.693216228241978, 49.889125875943307 ], [ 8.693676154135472, 49.889373983965129 ], [ 8.695243917459877, 49.890116092942471 ], [ 8.696053926745256, 49.890471186155906 ], [ 8.696051912442277, 49.890474385841841 ], [ 8.695237644286712, 49.890117425592067 ], [ 8.693669881015801, 49.889375316530192 ], [ 8.693209955141942, 49.889127208483579 ], [ 8.69208716850353, 49.888364668101609 ], [ 8.690999906608489, 49.887603560530934 ], [ 8.689000300883404, 49.886172175954492 ], [ 8.687902052969129, 49.885510845731879 ], [ 8.685962769875273, 49.884464074943089 ], [ 8.686437685213487, 49.884319653246763 ], [ 8.686439341334017, 49.884319724974254 ], [ 8.685969042568104, 49.884462742793033 ] ], [ [ 8.696910326125005, 49.889119400950761 ], [ 8.698098486916907, 49.889459784805688 ], [ 8.697305334160939, 49.890735349700407 ], [ 8.697107670560607, 49.890953393700116 ], [ 8.698673021072162, 49.891764255692351 ], [ 8.6992623494263, 49.892032914643032 ], [ 8.69987700354679, 49.892259812905543 ], [ 8.701305212616974, 49.89263451309612 ], [ 8.70272378940675, 49.892881003028776 ], [ 8.704732496956549, 49.893274686444165 ], [ 8.706292284454094, 49.89365910401159 ], [ 8.707516068615229, 49.894008925142934 ], [ 8.718053236950059, 49.897413258833595 ], [ 8.721734742180619, 49.898616135642982 ], [ 8.725024324297268, 49.899719479727558 ], [ 8.731779438687861, 49.90191819930029 ], [ 8.732882461460392, 49.902268821710322 ], [ 8.740159663020066, 49.904624752467996 ], [ 8.744245740825415, 49.905937400352123 ], [ 8.744242747859905, 49.905939789553621 ], [ 8.740153389192237, 49.904626087543079 ], [ 8.732876187739068, 49.90227015639244 ], [ 8.731773164981849, 49.901919533922815 ], [ 8.725018050691753, 49.899720813985297 ], [ 8.721728468628303, 49.898617469723106 ], [ 8.718046963453164, 49.897414592714938 ], [ 8.707509795272088, 49.89401025845526 ], [ 8.706286011122911, 49.893660437257807 ], [ 8.70472622363264, 49.893276019606105 ], [ 8.70271751607906, 49.892882336082131 ], [ 8.70129893928253, 49.892635846072771 ], [ 8.699870730221965, 49.892261145805023 ], [ 8.699256076114132, 49.892034247509329 ], [ 8.698666747778764, 49.89176558852688 ], [ 8.69710139732968, 49.890954726450261 ], [ 8.697299060963699, 49.890736682461345 ], [ 8.698092213906802, 49.889461117610189 ], [ 8.696908656919769, 49.88912205261699 ], [ 8.696910326125005, 49.889119400950761 ] ], [ [ 8.673116654762731, 49.874662147950652 ], [ 8.673428792250119, 49.874501130613062 ], [ 8.673881122111959, 49.873981635294605 ], [ 8.674224837830835, 49.874090532852897 ], [ 8.674968174306763, 49.873133379636329 ], [ 8.675512675935945, 49.872561519690557 ], [ 8.675842259145233, 49.872285867608781 ], [ 8.676603671322491, 49.871738893265508 ], [ 8.677534038420218, 49.871208573615206 ], [ 8.677906134477279, 49.871034083816497 ], [ 8.677645003242517, 49.871158963939102 ], [ 8.676605704700005, 49.871746993786999 ], [ 8.675844292417858, 49.872293968142628 ], [ 8.675514709164768, 49.872569620229704 ], [ 8.674970207468011, 49.873141480184096 ], [ 8.6742268709071, 49.874098633412196 ], [ 8.673883155126216, 49.873989735859972 ], [ 8.673430825210065, 49.874509231185513 ], [ 8.673118687677068, 49.874670248528254 ], [ 8.672369145798655, 49.874684322629072 ], [ 8.671475470159898, 49.874654859070709 ], [ 8.672367113009186, 49.874676222038602 ], [ 8.673116654762731, 49.874662147950652 ] ], [ [ 8.679689341351253, 49.870417205236151 ], [ 8.678424110389837, 49.870833555851831 ], [ 8.67969932168184, 49.870413427536228 ], [ 8.679689341351253, 49.870417205236151 ] ], [ [ 8.681827655157345, 49.869775466987257 ], [ 8.681728484813, 49.869821103516202 ], [ 8.680330556828508, 49.870359612694251 ], [ 8.680273188076482, 49.870196208335543 ], [ 8.680328558503104, 49.870346115765699 ], [ 8.681827655157345, 49.869775466987257 ] ], [ [ 8.683024025585015, 49.869157405571698 ], [ 8.682894962480155, 49.869240121255331 ], [ 8.682308441277877, 49.869554214848826 ], [ 8.681842535333415, 49.869768619365033 ], [ 8.682515821623264, 49.869442804118428 ], [ 8.683024025585015, 49.869157405571698 ] ], [ [ 8.683588048638661, 49.868713490392302 ], [ 8.683983136929241, 49.86881487822928 ], [ 8.683617285663864, 49.868782680213982 ], [ 8.68366840091894, 49.868749797193189 ], [ 8.683588048638661, 49.868713490392302 ] ], [ [ 8.682469590699647, 49.868216307261882 ], [ 8.682598122975101, 49.868274062188235 ], [ 8.682069673265229, 49.868071451373801 ], [ 8.682469590699647, 49.868216307261882 ] ], [ [ 8.68182405849579, 49.867982485032712 ], [ 8.68187723598535, 49.868001747002744 ], [ 8.681689025591831, 49.867949538349677 ], [ 8.68182405849579, 49.867982485032712 ] ], [ [ 8.680940460629653, 49.86776689229287 ], [ 8.680986730584037, 49.867778182107294 ], [ 8.680605488947068, 49.867707361413942 ], [ 8.680940460629653, 49.86776689229287 ] ], [ [ 8.679891781758959, 49.867580518272227 ], [ 8.679917156102347, 49.867585027997443 ], [ 8.678938712829972, 49.867456460116259 ], [ 8.679891781758959, 49.867580518272227 ] ], [ [ 8.677004232507096, 49.868330727934662 ], [ 8.676060058846447, 49.868436025134415 ], [ 8.67408159405513, 49.868701211106476 ], [ 8.675113676184434, 49.868558847307909 ], [ 8.676099753392579, 49.868430739465197 ], [ 8.678035665150761, 49.868216274257058 ], [ 8.678027736622285, 49.868222945094082 ], [ 8.677004232507096, 49.868330727934662 ] ], [ [ 8.667949696852805, 49.870661820344296 ], [ 8.667822306958044, 49.869495120897291 ], [ 8.667960906535653, 49.870614913389581 ], [ 8.667949696852805, 49.870661820344296 ] ], [ [ 8.685015510272153, 49.868309597019085 ], [ 8.685018010605646, 49.868310103263006 ], [ 8.684657882103306, 49.868416556251866 ], [ 8.684242470666257, 49.868741918062064 ], [ 8.683989422993912, 49.868815431445839 ], [ 8.683986188936773, 49.868815146826798 ], [ 8.684238296061931, 49.868741906692712 ], [ 8.684653707526852, 49.868416544897528 ], [ 8.685015510272153, 49.868309597019085 ] ], [ [ 8.686054021835531, 49.868781915250345 ], [ 8.686052055282381, 49.868780537570053 ], [ 8.687506364283317, 49.867880564408281 ], [ 8.687508685262941, 49.867881722730409 ], [ 8.686054021835531, 49.868781915250345 ] ], [ [ 8.699567248305286, 49.865451609153354 ], [ 8.705867743832469, 49.86523166454689 ], [ 8.714259902853764, 49.864949094409546 ], [ 8.715462320057437, 49.864914275647941 ], [ 8.71546314370233, 49.864914382935524 ], [ 8.714264077142728, 49.864949104697367 ], [ 8.705871918142682, 49.865231675136911 ], [ 8.69957142263207, 49.865451619970258 ], [ 8.692549895948435, 49.867455577304732 ], [ 8.69003859592039, 49.868154492035913 ], [ 8.688354093340626, 49.868160769496633 ], [ 8.688353880484524, 49.868160743540635 ], [ 8.690034421364382, 49.868154480875354 ], [ 8.692545721451674, 49.867455566234717 ], [ 8.699567248305286, 49.865451609153354 ] ], [ [ 8.676975092004392, 49.884278837426784 ], [ 8.676971215824873, 49.884277191142665 ], [ 8.677080408477003, 49.884141518625604 ], [ 8.677084549479115, 49.884142835852536 ], [ 8.676975092004392, 49.884278837426784 ] ], [ [ 8.675123770036555, 49.883234828198169 ], [ 8.674872295175124, 49.883109026138804 ], [ 8.676009873938916, 49.883618751413323 ], [ 8.675123770036555, 49.883234828198169 ] ], [ [ 8.674717295461626, 49.883133852321677 ], [ 8.674714356849091, 49.883132337151373 ], [ 8.674786622806641, 49.883070637253653 ], [ 8.674789713817056, 49.883072022304994 ], [ 8.674717295461626, 49.883133852321677 ] ], [ [ 8.672302705005418, 49.882034250653128 ], [ 8.672299922169477, 49.882032850339186 ], [ 8.672447562350175, 49.881917284833818 ], [ 8.672450458888582, 49.881918596141404 ], [ 8.672302705005418, 49.882034250653128 ] ], [ [ 8.671794592824089, 49.882144792082613 ], [ 8.671791228985503, 49.882144223190636 ], [ 8.672104996715415, 49.881939251968298 ], [ 8.67210738878966, 49.881940455661031 ], [ 8.671794592824089, 49.882144792082613 ] ], [ [ 8.670835341259682, 49.881355524591406 ], [ 8.670725258656363, 49.880963961552347 ], [ 8.67093966564283, 49.881595693498944 ], [ 8.670835341259682, 49.881355524591406 ] ] ], [ [ [ 8.729389858077335, 49.864140892825517 ], [ 8.729390172247395, 49.86414083394012 ], [ 8.729115744661211, 49.863948614860391 ], [ 8.729389858077335, 49.864140892825517 ] ] ] ] } },
+{ "type": "Feature", "properties": { "ID": 3.0, "SYMBOL": 1.0, "ANGLE": 0.0, "WAHLBEZIRK": "150", "ID1": 3, "ortsteil": "Nord", "ortsteilnr": 2 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 8.622264376375757, 49.868842576849786 ], [ 8.619059677918653, 49.868390921585224 ], [ 8.616246520970003, 49.867793417588217 ], [ 8.615199666665481, 49.867671223154211 ], [ 8.613650869775556, 49.867674167254499 ], [ 8.613060579541044, 49.867622280373389 ], [ 8.609816348440432, 49.867175633986804 ], [ 8.607214476734175, 49.866799881105855 ], [ 8.605751150409137, 49.866562861444628 ], [ 8.605847219871888, 49.865273405705665 ], [ 8.60337999547594, 49.865038335283565 ], [ 8.602558498744843, 49.864934336169064 ], [ 8.602417963991323, 49.865527478123681 ], [ 8.602538907712153, 49.865541384258421 ], [ 8.602357004033264, 49.866088513326815 ], [ 8.599058855332887, 49.865623841774955 ], [ 8.599377143498483, 49.86701321209167 ], [ 8.599818264131089, 49.868443479550869 ], [ 8.599977773161962, 49.868843376713897 ], [ 8.600640234489155, 49.870774936379924 ], [ 8.600794715718584, 49.871280048130501 ], [ 8.60093505262358, 49.871982085895795 ], [ 8.601554904568651, 49.875550002782219 ], [ 8.601771277853517, 49.876909332607589 ], [ 8.601738753828423, 49.877056277405181 ], [ 8.601918564614985, 49.877785431673075 ], [ 8.602290619805128, 49.880019538182374 ], [ 8.602411645331292, 49.881807565539219 ], [ 8.602521176764283, 49.88270781814154 ], [ 8.602641122502325, 49.882848539910754 ], [ 8.604666521149815, 49.882837924391907 ], [ 8.605371662922716, 49.88367814282919 ], [ 8.606094951147201, 49.884600716044758 ], [ 8.609659110460989, 49.885907943809663 ], [ 8.617094175593762, 49.887039029276245 ], [ 8.616825850417003, 49.887962303401046 ], [ 8.619552293312085, 49.888318009759509 ], [ 8.616957487735451, 49.889798916650385 ], [ 8.616868736939626, 49.889930839050209 ], [ 8.621164003793996, 49.891566616157228 ], [ 8.621813478519858, 49.8918331673175 ], [ 8.622381095806313, 49.892153413805651 ], [ 8.622812896210222, 49.892484008887806 ], [ 8.623247828873584, 49.892949526315341 ], [ 8.623452232916888, 49.893251048018307 ], [ 8.623699992217112, 49.893885947081969 ], [ 8.623800101595632, 49.89470924588251 ], [ 8.624089842578316, 49.894511862289662 ], [ 8.625132987300736, 49.893914410727916 ], [ 8.62525514090216, 49.893980026410986 ], [ 8.627712792651105, 49.894578865067921 ], [ 8.630571113339467, 49.895227497624397 ], [ 8.632416146155336, 49.895933563125531 ], [ 8.632958010810114, 49.8960850337414 ], [ 8.63378319318322, 49.897160206522926 ], [ 8.637077015950048, 49.896304416213717 ], [ 8.63990601419785, 49.896152688412442 ], [ 8.641408986387317, 49.896255832882986 ], [ 8.642004073337336, 49.896275210361459 ], [ 8.642920319022643, 49.896358983610263 ], [ 8.643188527090977, 49.897656329416421 ], [ 8.643561236049273, 49.900363842584838 ], [ 8.654906216012062, 49.899313453998268 ], [ 8.654615548350701, 49.897898694220807 ], [ 8.655130409488613, 49.89774912332544 ], [ 8.655671602427873, 49.897714304901307 ], [ 8.658987586379007, 49.897813146754714 ], [ 8.660119306137792, 49.897855594272592 ], [ 8.660614416183162, 49.897839505608104 ], [ 8.6619895318864, 49.897722099793889 ], [ 8.663119595823707, 49.897702452952814 ], [ 8.664614546658219, 49.897771544837887 ], [ 8.665488539306086, 49.897934616483681 ], [ 8.66669685690808, 49.898077056778583 ], [ 8.667171861600245, 49.898251110460116 ], [ 8.668189909524385, 49.898425368173974 ], [ 8.668070283619954, 49.897900212039978 ], [ 8.668084835438608, 49.897301237394515 ], [ 8.668247467202844, 49.896732367415481 ], [ 8.668518271020188, 49.896225866686507 ], [ 8.669061390441094, 49.895600069643557 ], [ 8.669565402417065, 49.895194067794186 ], [ 8.670261586767248, 49.894781864665916 ], [ 8.673124671495025, 49.893574398733918 ], [ 8.673629524733395, 49.893345118400809 ], [ 8.674342427282751, 49.892922144649305 ], [ 8.674819382005147, 49.892491759379901 ], [ 8.674736320536228, 49.892421371303975 ], [ 8.672765979649757, 49.890718613231556 ], [ 8.674792387907855, 49.892468748350652 ], [ 8.675103678783714, 49.892139082424514 ], [ 8.675352814311324, 49.89173503911158 ], [ 8.675569989327366, 49.891113694745357 ], [ 8.675619557136496, 49.890572829397172 ], [ 8.675513439060726, 49.889892567262976 ], [ 8.675391780448424, 49.888416270209653 ], [ 8.675279448440728, 49.888040895372519 ], [ 8.674951539554764, 49.887428817136531 ], [ 8.674068030693853, 49.886221556674414 ], [ 8.671976033580142, 49.883408099787964 ], [ 8.671448765837665, 49.882647041628125 ], [ 8.671091711429643, 49.882034869247732 ], [ 8.670937383093733, 49.882008797723678 ], [ 8.669767111034606, 49.881243206811071 ], [ 8.668965679502726, 49.880586588762299 ], [ 8.668677052720247, 49.880355061470979 ], [ 8.669470293516456, 49.879763703895392 ], [ 8.669975442367109, 49.879166124646254 ], [ 8.669071388165515, 49.878866737074858 ], [ 8.668729433386208, 49.878802351004367 ], [ 8.666482339696742, 49.87859353809705 ], [ 8.666353891592484, 49.878752367101889 ], [ 8.66642394851079, 49.878583926141069 ], [ 8.666240731096444, 49.878510545312551 ], [ 8.665188421855966, 49.877917937075971 ], [ 8.663830533354732, 49.877440459723125 ], [ 8.662632536401654, 49.87679074173176 ], [ 8.660795610801937, 49.875862569903539 ], [ 8.660198925441236, 49.876403177417693 ], [ 8.658855911632463, 49.877679568325519 ], [ 8.65888027026598, 49.877683752159925 ], [ 8.65756411360104, 49.877608303310403 ], [ 8.657431074851338, 49.877526961875816 ], [ 8.656871224183432, 49.877575224633468 ], [ 8.656795417553274, 49.877666741838887 ], [ 8.655854322953564, 49.878775644229087 ], [ 8.655314338382492, 49.879257032514261 ], [ 8.653384083146509, 49.879998702011399 ], [ 8.653064323987365, 49.880043616453094 ], [ 8.652772595582073, 49.879964493055034 ], [ 8.650651446375727, 49.880232814165424 ], [ 8.65062928830695, 49.880130744709618 ], [ 8.650290267398477, 49.876771711514316 ], [ 8.650323929965788, 49.876446670030703 ], [ 8.650508455232879, 49.876045182307571 ], [ 8.649280113689539, 49.875867434022283 ], [ 8.647890977637394, 49.875697279361162 ], [ 8.646026631210725, 49.875423123478072 ], [ 8.643388632405127, 49.875035931034027 ], [ 8.641257280502478, 49.874740639721104 ], [ 8.641447138159538, 49.87419212627416 ], [ 8.641487789904982, 49.873776716261183 ], [ 8.641651444285236, 49.873665243397355 ], [ 8.641792203393559, 49.873262284880632 ], [ 8.641066507598751, 49.873158854913228 ], [ 8.641546416252792, 49.871496847107252 ], [ 8.633958048778513, 49.870451837053935 ], [ 8.630233765406983, 49.869948931122394 ], [ 8.629606166639034, 49.869856535256574 ], [ 8.629589930938083, 49.869891048877356 ], [ 8.629601991962501, 49.869856521919779 ], [ 8.622385313144566, 49.868859160524202 ], [ 8.622264376375757, 49.868842576849786 ] ], [ [ 8.62080815813359, 49.873033186340706 ], [ 8.620791294403807, 49.873033603470759 ], [ 8.622264376375757, 49.868842576849786 ], [ 8.62080815813359, 49.873033186340706 ] ], [ [ 8.651482480876052, 49.884002645368042 ], [ 8.652335940264175, 49.884076711872922 ], [ 8.651483427274302, 49.884006844191148 ], [ 8.651482480876052, 49.884002645368042 ] ], [ [ 8.646563050778445, 49.880013188267995 ], [ 8.647585856854732, 49.880044633446218 ], [ 8.648955138506372, 49.88009061050802 ], [ 8.646563050778445, 49.880013188267995 ] ], [ [ 8.6174054874774, 49.883275675481052 ], [ 8.617408000288135, 49.883263822421796 ], [ 8.618836147812734, 49.878758347969814 ], [ 8.617635766867643, 49.87610333209048 ], [ 8.618842464073088, 49.878751623026567 ], [ 8.6174054874774, 49.883275675481052 ] ], [ [ 8.621151213418875, 49.883862989155396 ], [ 8.617297389271819, 49.883785574708803 ], [ 8.621148782271893, 49.883857578711158 ], [ 8.621151213418875, 49.883862989155396 ] ], [ [ 8.623220825122099, 49.88193236724323 ], [ 8.623114315027136, 49.881640239241513 ], [ 8.623129150505189, 49.881639305800363 ], [ 8.623220825122099, 49.88193236724323 ] ], [ [ 8.623571412430222, 49.88189847280924 ], [ 8.623569749067288, 49.881901121175481 ], [ 8.623220825122099, 49.88193236724323 ], [ 8.623571412430222, 49.88189847280924 ] ], [ [ 8.624439722389194, 49.880793149797476 ], [ 8.623920682406716, 49.881342366593977 ], [ 8.623689546502815, 49.881710381787208 ], [ 8.623924920949429, 49.881334285497459 ], [ 8.624439722389194, 49.880793149797476 ] ], [ [ 8.628819650842303, 49.871153261237204 ], [ 8.628281364529293, 49.871901866311859 ], [ 8.628281687862779, 49.871900295497937 ], [ 8.628581392560942, 49.871472228567377 ], [ 8.628815504000741, 49.871158628008935 ], [ 8.628819650842303, 49.871153261237204 ] ], [ [ 8.626008149645406, 49.878963837352259 ], [ 8.625373417168277, 49.879779367776131 ], [ 8.625289533654184, 49.879870159269487 ], [ 8.62534183970047, 49.879812994270608 ], [ 8.626031209378068, 49.878927741490621 ], [ 8.626008149645406, 49.878963837352259 ] ], [ [ 8.626043386759561, 49.87890867996758 ], [ 8.62653001849897, 49.87811515379267 ], [ 8.626475189412851, 49.878232759160483 ], [ 8.626043386759561, 49.87890867996758 ] ], [ [ 8.62709505254411, 49.876903151763244 ], [ 8.626849141738212, 49.877430640058471 ], [ 8.627195155605554, 49.876645787613946 ], [ 8.627578666687514, 49.875671920170838 ], [ 8.62709505254411, 49.876903151763244 ] ], [ [ 8.627696028423626, 49.875373119473586 ], [ 8.627914052408173, 49.874482181379769 ], [ 8.627733863852939, 49.875276790386046 ], [ 8.627696028423626, 49.875373119473586 ] ], [ [ 8.627924017818831, 49.874438234382637 ], [ 8.627922479031682, 49.874445020367688 ], [ 8.628112903794783, 49.872858403463148 ], [ 8.628133972654339, 49.872857897325268 ], [ 8.627924017818831, 49.874438234382637 ] ], [ [ 8.628085591866121, 49.872852946934373 ], [ 8.628223877811008, 49.872181145765445 ], [ 8.628133975626207, 49.872857874955152 ], [ 8.628112914837812, 49.87285831144964 ], [ 8.62811364214495, 49.872852251329732 ], [ 8.628085591866121, 49.872852946934373 ] ], [ [ 8.654624570395672, 49.880539361465154 ], [ 8.654816792692316, 49.880519696774108 ], [ 8.655687857830227, 49.880458877103266 ], [ 8.654624570395672, 49.880539361465154 ] ], [ [ 8.653450747775491, 49.884080049106956 ], [ 8.653421657592945, 49.884079962160193 ], [ 8.653419491562914, 49.883802032982828 ], [ 8.653450747775491, 49.884080049106956 ] ], [ [ 8.654775106953139, 49.88402328844721 ], [ 8.653739047227491, 49.88408091040192 ], [ 8.653479686656842, 49.884080135594274 ], [ 8.654775106953139, 49.88402328844721 ] ], [ [ 8.660542224818565, 49.882525232142122 ], [ 8.660266087136208, 49.882497573084287 ], [ 8.660801510154668, 49.880086746227228 ], [ 8.660266812505707, 49.882497442724549 ], [ 8.660542224818565, 49.882525232142122 ] ], [ [ 8.660211604102933, 49.882926307299897 ], [ 8.660240962496511, 49.882610694699174 ], [ 8.660262221989141, 49.882514975624993 ], [ 8.660227393580268, 49.882759060279938 ], [ 8.660211604102933, 49.882926307299897 ] ], [ [ 8.660537781403423, 49.882861154858269 ], [ 8.659004885345588, 49.883206084059488 ], [ 8.659774567517799, 49.883019465518416 ], [ 8.660211604102933, 49.882926307299897 ], [ 8.660537781403423, 49.882861154858269 ] ], [ [ 8.656006101193777, 49.883859653710886 ], [ 8.655966038858898, 49.883864979377208 ], [ 8.659004885345588, 49.883206084059488 ], [ 8.656006101193777, 49.883859653710886 ] ], [ [ 8.665130129389111, 49.880912859788118 ], [ 8.664265345106926, 49.880068495716678 ], [ 8.664180344755383, 49.879981904603554 ], [ 8.664516275219469, 49.880313416355087 ], [ 8.665130129389111, 49.880912859788118 ] ], [ [ 8.665522313937059, 49.881565626247195 ], [ 8.665782317295655, 49.882027993553798 ], [ 8.665130129389111, 49.880912859788118 ], [ 8.665522313937059, 49.881565626247195 ] ], [ [ 8.661571019177499, 49.878124646578591 ], [ 8.661617005097888, 49.878146022928313 ], [ 8.661332161420072, 49.878088970867793 ], [ 8.661571019177499, 49.878124646578591 ] ] ] ] } },
+{ "type": "Feature", "properties": { "ID": 11.0, "SYMBOL": 1.0, "ANGLE": 0.0, "WAHLBEZIRK": "860", "ID1": 11, "ortsteil": "Wixhausen", "ortsteilnr": 8 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 8.653809433179052, 49.922403295345653 ], [ 8.653407821510143, 49.922458759335889 ], [ 8.651370434153563, 49.923034128070015 ], [ 8.65122554830141, 49.923130829836758 ], [ 8.64994543285141, 49.92445451724199 ], [ 8.647116043434956, 49.925498283651457 ], [ 8.646746578733136, 49.922949981962411 ], [ 8.646493585072179, 49.922969448065302 ], [ 8.637706527063465, 49.92379902996457 ], [ 8.637557064502763, 49.92282988724579 ], [ 8.631450392436282, 49.923736146334811 ], [ 8.63141400673816, 49.922478640840616 ], [ 8.626267550894646, 49.92324061951301 ], [ 8.626260614441781, 49.923326941535045 ], [ 8.627235314491189, 49.925378058591747 ], [ 8.624240283463132, 49.926231837220335 ], [ 8.624195632597555, 49.926330179055469 ], [ 8.624423254763562, 49.927427759115282 ], [ 8.624048392847513, 49.928064683048134 ], [ 8.624119413015949, 49.930487949833868 ], [ 8.623661607966218, 49.930499956573627 ], [ 8.623667173982305, 49.930590366291881 ], [ 8.623727352140186, 49.930645875832951 ], [ 8.623855472827392, 49.932444680348055 ], [ 8.623913710444757, 49.932481295676318 ], [ 8.629008599918894, 49.932580000906007 ], [ 8.629039192748309, 49.932951109112309 ], [ 8.629308157675682, 49.93385453594481 ], [ 8.629430345984446, 49.934001981375616 ], [ 8.63009976690909, 49.934473614807722 ], [ 8.630526324580931, 49.934725912205195 ], [ 8.630794117756322, 49.934966909732253 ], [ 8.63096107215455, 49.935001169252999 ], [ 8.631485960477022, 49.935516855846743 ], [ 8.631735663565912, 49.935938576804489 ], [ 8.631885640816225, 49.936555604238862 ], [ 8.631956511093481, 49.937130557472258 ], [ 8.631613454013856, 49.937163196602583 ], [ 8.631154214815112, 49.939271772140316 ], [ 8.627226093453936, 49.93876678293956 ], [ 8.627070554028483, 49.942126957893102 ], [ 8.62879800557074, 49.94230923453312 ], [ 8.629097498988534, 49.944143655001376 ], [ 8.62912861895567, 49.944174784402286 ], [ 8.63072883263958, 49.943509374176017 ], [ 8.631330758078899, 49.943530176634489 ], [ 8.632858568602886, 49.943857463591527 ], [ 8.632967419921467, 49.943838920311627 ], [ 8.633246478067351, 49.944531904517831 ], [ 8.639596228519665, 49.943616863388549 ], [ 8.640552221363675, 49.943536184010611 ], [ 8.641025572264191, 49.943980163119548 ], [ 8.641225623033339, 49.944067126097373 ], [ 8.64514600125824, 49.9445662200119 ], [ 8.645341116876184, 49.944187712499613 ], [ 8.646050090832913, 49.944152102545075 ], [ 8.646216396234928, 49.944280776816299 ], [ 8.64964738760526, 49.9453907276813 ], [ 8.64996933101326, 49.945393048759087 ], [ 8.650349821173204, 49.945394196313323 ], [ 8.651429751603617, 49.945234202438485 ], [ 8.651350249553591, 49.944373221625234 ], [ 8.653752867743183, 49.944593580178996 ], [ 8.655017220592431, 49.94436664700617 ], [ 8.655015457810627, 49.944028011324562 ], [ 8.668147399524821, 49.946326108218223 ], [ 8.670292445134599, 49.949389340207944 ], [ 8.670656839292848, 49.949302682331265 ], [ 8.672301393051361, 49.951595453172139 ], [ 8.672446253883866, 49.95181711849947 ], [ 8.67342004052716, 49.95159456057749 ], [ 8.675194593993083, 49.951378286802004 ], [ 8.677173936842644, 49.95117739634631 ], [ 8.677117494321804, 49.950862893560355 ], [ 8.677759681685709, 49.950820158236375 ], [ 8.68222430473595, 49.950095853564065 ], [ 8.682574526126027, 49.949936266789344 ], [ 8.682793786368736, 49.949978689399252 ], [ 8.682974791615873, 49.949797052585893 ], [ 8.683166092287214, 49.949958120924208 ], [ 8.683895626030507, 49.949984395464121 ], [ 8.684591264359666, 49.949758287209498 ], [ 8.68485233721591, 49.949481077391908 ], [ 8.684897493664387, 49.949289624549138 ], [ 8.684766998405809, 49.949101741840508 ], [ 8.685063932180608, 49.949095802781166 ], [ 8.685130531577252, 49.948822111520109 ], [ 8.685343964995671, 49.948795708206177 ], [ 8.685106568311964, 49.94864935866277 ], [ 8.685333108019703, 49.948536647040847 ], [ 8.685424433162357, 49.948639428130477 ], [ 8.685732765842381, 49.948487812932122 ], [ 8.686273927505999, 49.948541893630974 ], [ 8.686464982645463, 49.948419639957571 ], [ 8.686962649670424, 49.9484101910665 ], [ 8.687546543185332, 49.948322723168658 ], [ 8.687535661820858, 49.94838880091114 ], [ 8.688262971347763, 49.948756370253022 ], [ 8.688520134693004, 49.948757061077792 ], [ 8.688767557125402, 49.948647097076076 ], [ 8.689036169985254, 49.948817807026991 ], [ 8.689434837405521, 49.948597618837432 ], [ 8.689819934375603, 49.948536589553804 ], [ 8.689877476090446, 49.94836675385082 ], [ 8.691527459719465, 49.948310442829566 ], [ 8.692033668332348, 49.948272663305168 ], [ 8.692046900909773, 49.948164768558527 ], [ 8.693258781328954, 49.948285353296086 ], [ 8.693517168389249, 49.948422297744337 ], [ 8.693701430933089, 49.948708798596947 ], [ 8.694155157281038, 49.949035134505507 ], [ 8.694600269952003, 49.949071384454449 ], [ 8.695111172450945, 49.949284540770648 ], [ 8.695782687753082, 49.949226942411372 ], [ 8.696034992966034, 49.949335533683509 ], [ 8.697363270165543, 49.949572405017335 ], [ 8.69801667827798, 49.949401420148256 ], [ 8.698526704421234, 49.949422983643245 ], [ 8.699416759464889, 49.949189196893727 ], [ 8.699605803736185, 49.949385309448203 ], [ 8.699652062902887, 49.94967953804759 ], [ 8.699583579621958, 49.949932995820426 ], [ 8.699992331238477, 49.950102694053911 ], [ 8.700461352560996, 49.949994627181205 ], [ 8.700691141536531, 49.950027599275714 ], [ 8.700804832629077, 49.950238355736325 ], [ 8.701221837620345, 49.950426958629308 ], [ 8.701247578570779, 49.950321793351058 ], [ 8.70165789780404, 49.950239203777592 ], [ 8.702014961347649, 49.949977042622656 ], [ 8.702770318272419, 49.949885891093267 ], [ 8.704011795828022, 49.950305944487233 ], [ 8.704386260672234, 49.950273171314201 ], [ 8.705248093917055, 49.949865231100638 ], [ 8.706070759411151, 49.949706772953348 ], [ 8.706303977734398, 49.949863861915802 ], [ 8.706569699832817, 49.95017753086583 ], [ 8.706809522144979, 49.950280670594566 ], [ 8.707127221717784, 49.950299011746708 ], [ 8.707483528854441, 49.950156903793918 ], [ 8.707611812322316, 49.950034457051039 ], [ 8.709275254547348, 49.950527020401758 ], [ 8.709449070189576, 49.950481585731474 ], [ 8.710788495786039, 49.95096791879417 ], [ 8.710823272964442, 49.951096172125588 ], [ 8.711426662201385, 49.951243379965902 ], [ 8.711917261931271, 49.951020645080689 ], [ 8.71281268016004, 49.950933823297298 ], [ 8.713123873385291, 49.950992605582016 ], [ 8.713329506448158, 49.950870343808099 ], [ 8.713642958743749, 49.950900798713363 ], [ 8.714565737962458, 49.951136471183347 ], [ 8.714845953962694, 49.95113041474486 ], [ 8.715056338101808, 49.950911024785213 ], [ 8.718112377308335, 49.952487520457211 ], [ 8.720112830833338, 49.95258950118059 ], [ 8.72051752042584, 49.952393505114678 ], [ 8.720654889190826, 49.952503114871284 ], [ 8.720948102335592, 49.952420175038959 ], [ 8.721064201871185, 49.952230228080346 ], [ 8.721464646085677, 49.952406576147062 ], [ 8.721562360919155, 49.952141033716416 ], [ 8.721731716991773, 49.952142789222009 ], [ 8.722035885387491, 49.951972179989419 ], [ 8.721758455802252, 49.951856839502447 ], [ 8.722009472455756, 49.951838553617591 ], [ 8.722211386044307, 49.951632621649566 ], [ 8.722907064946318, 49.952101081728848 ], [ 8.722796618453046, 49.952400322911785 ], [ 8.722589516320657, 49.952417366405982 ], [ 8.722753746635565, 49.952583701024977 ], [ 8.723115934089222, 49.952504967912354 ], [ 8.723383480106307, 49.952521795674734 ], [ 8.723369806235141, 49.952718734849917 ], [ 8.723812606472046, 49.95316904749118 ], [ 8.724070287489639, 49.953083316930218 ], [ 8.724205097628378, 49.953276561918074 ], [ 8.724648119888077, 49.953323484497794 ], [ 8.724649580062719, 49.953434115934847 ], [ 8.725273271920589, 49.953333061461336 ], [ 8.726272190116209, 49.953803568069311 ], [ 8.727140068428525, 49.953414367507818 ], [ 8.72769176442236, 49.953472327003922 ], [ 8.72820695562409, 49.95332917924317 ], [ 8.729196836688827, 49.953179043589259 ], [ 8.72979291830609, 49.952778395364383 ], [ 8.730453452277445, 49.952816358381234 ], [ 8.731689724066719, 49.952724785948234 ], [ 8.732288618237224, 49.952189219219157 ], [ 8.73244853128219, 49.951631051741053 ], [ 8.732524401142593, 49.951523296958428 ], [ 8.734219030576643, 49.950203703403808 ], [ 8.734257021835409, 49.950139032580367 ], [ 8.734375962019209, 49.948281563474183 ], [ 8.734025897816622, 49.948066250834003 ], [ 8.734258595638657, 49.947573005246191 ], [ 8.734968815250463, 49.946545249376754 ], [ 8.735168026099069, 49.945674170846765 ], [ 8.735325240365544, 49.944835374990724 ], [ 8.735452413512036, 49.943373215164371 ], [ 8.735294399363029, 49.942833205157456 ], [ 8.73496266359809, 49.942331922666391 ], [ 8.732453331125225, 49.942083319545461 ], [ 8.733021201871246, 49.941083577837482 ], [ 8.733262535628008, 49.940536388567772 ], [ 8.733321508674615, 49.940077821843623 ], [ 8.733495637843715, 49.939206687540839 ], [ 8.733707088943763, 49.938389603536891 ], [ 8.732900635337968, 49.936801178122991 ], [ 8.73242403334379, 49.935672210755371 ], [ 8.731772456534287, 49.934062547863689 ], [ 8.731522526345554, 49.933526366581397 ], [ 8.731387659207861, 49.933347969675928 ], [ 8.733243546838358, 49.932616979064328 ], [ 8.734577536430649, 49.932143797833419 ], [ 8.735509749348624, 49.931754680703747 ], [ 8.737074915447447, 49.931039154868074 ], [ 8.737714145039837, 49.930712764397342 ], [ 8.7391061935331, 49.929919919223856 ], [ 8.739955375739539, 49.929410507174396 ], [ 8.740841023388151, 49.928723085592146 ], [ 8.741114112510823, 49.92846196481922 ], [ 8.741564285025575, 49.927913874015957 ], [ 8.741831903159518, 49.927501637073838 ], [ 8.742015829857618, 49.927106752016698 ], [ 8.742149821082508, 49.926669932685499 ], [ 8.742344405249327, 49.92545075372945 ], [ 8.741195022620911, 49.925450892911641 ], [ 8.741133018056697, 49.924151544312181 ], [ 8.741337895977924, 49.923354666649722 ], [ 8.741338000773428, 49.922944531868026 ], [ 8.741737895500787, 49.922801066298611 ], [ 8.741524300918842, 49.92093069818204 ], [ 8.741172315603766, 49.919934256008823 ], [ 8.741128195370218, 49.919588780478662 ], [ 8.74035736297799, 49.919550630862595 ], [ 8.739695570962139, 49.919441217059251 ], [ 8.739053009734516, 49.919253593247753 ], [ 8.738476375621246, 49.919240152231545 ], [ 8.738095102226138, 49.919035573319398 ], [ 8.73761076695367, 49.91895622905448 ], [ 8.736971415769602, 49.918949384289576 ], [ 8.736509067540005, 49.919053566883179 ], [ 8.73613606461749, 49.919249691736667 ], [ 8.735985871713419, 49.919203479531809 ], [ 8.735843296432558, 49.918910393802157 ], [ 8.735538712496917, 49.918822006247424 ], [ 8.734997657363174, 49.918799185148735 ], [ 8.733297532827258, 49.919046226052643 ], [ 8.730717384092998, 49.919350563775723 ], [ 8.730256426170167, 49.919202437470403 ], [ 8.729170239921032, 49.919137846136287 ], [ 8.727790951818259, 49.91917509090306 ], [ 8.726463841698163, 49.919961209186333 ], [ 8.726499224559564, 49.920355238391977 ], [ 8.724692059049275, 49.920301044841629 ], [ 8.722082463088112, 49.920254346945399 ], [ 8.721387169725803, 49.920162287059469 ], [ 8.721367013078403, 49.920034071339927 ], [ 8.720547850020255, 49.920044242595111 ], [ 8.720119502081502, 49.920403427239982 ], [ 8.719313096914076, 49.92037449581219 ], [ 8.718927673062614, 49.920536807033891 ], [ 8.718168043987284, 49.920727889085413 ], [ 8.717697506784319, 49.920435332756753 ], [ 8.715651475022476, 49.920493743532774 ], [ 8.713721622107787, 49.920692714511965 ], [ 8.712389899626023, 49.921154869309134 ], [ 8.711076268608409, 49.920683456332085 ], [ 8.71019932930864, 49.920569290639463 ], [ 8.709129393644114, 49.920581452619068 ], [ 8.7072293672349, 49.92102593195898 ], [ 8.705774374661249, 49.921130180268953 ], [ 8.704424621549538, 49.921109209537718 ], [ 8.702540397606867, 49.921012651396623 ], [ 8.701933965461551, 49.920746665031515 ], [ 8.701384088853562, 49.920797866589588 ], [ 8.701131724651827, 49.921058947687179 ], [ 8.700194840999918, 49.920842017999114 ], [ 8.700019812373522, 49.920761966763116 ], [ 8.698726994583723, 49.920660129177335 ], [ 8.696549537950984, 49.920345501675627 ], [ 8.695900423427354, 49.920227776307591 ], [ 8.69431852417577, 49.920243854640411 ], [ 8.693524076437731, 49.920309214494857 ], [ 8.691965761196883, 49.920558722539077 ], [ 8.69071306624399, 49.92104782105509 ], [ 8.690384495445118, 49.921126543026922 ], [ 8.68949238157731, 49.92110392105905 ], [ 8.687254398873833, 49.921107351635975 ], [ 8.686632635735759, 49.921285107603168 ], [ 8.684765713202598, 49.921744148916041 ], [ 8.684478875896879, 49.92182971323323 ], [ 8.682886129184897, 49.922216616846384 ], [ 8.67902130928994, 49.923006019040358 ], [ 8.676592472293846, 49.923412105352817 ], [ 8.67461268357345, 49.923537433418581 ], [ 8.671557960650613, 49.923167256237207 ], [ 8.671054823551348, 49.923097024693746 ], [ 8.669019163222984, 49.922531344300445 ], [ 8.667715014401919, 49.922256440051022 ], [ 8.666976175968797, 49.922126153529312 ], [ 8.666150428975426, 49.922175046465952 ], [ 8.664406124535732, 49.922095810135936 ], [ 8.664380019072864, 49.922244138912795 ], [ 8.66454640129181, 49.922357947202229 ], [ 8.664160319411579, 49.922586181985245 ], [ 8.663936354736681, 49.922639498438713 ], [ 8.663568603744801, 49.922334877976724 ], [ 8.662780980475883, 49.922309655351377 ], [ 8.66258575301565, 49.922137748010513 ], [ 8.662222171679488, 49.922135340550923 ], [ 8.661303691301143, 49.921699591093947 ], [ 8.660502201013768, 49.921567731182762 ], [ 8.66017563904974, 49.921650420877533 ], [ 8.659284821745389, 49.921740897297759 ], [ 8.658198695856914, 49.921672943187509 ], [ 8.657449903248487, 49.921477808335823 ], [ 8.65691246187661, 49.921535581459246 ], [ 8.656834295313137, 49.921655422812478 ], [ 8.656321072660448, 49.921833337463561 ], [ 8.655503509033185, 49.922199224496836 ], [ 8.655091944769053, 49.92247862039109 ], [ 8.654878438030988, 49.9225292522014 ], [ 8.654299411446475, 49.922555859467202 ], [ 8.653809433179052, 49.922403295345653 ] ] ] ] } },
+{ "type": "Feature", "properties": { "ID": 24.0, "SYMBOL": 1.0, "ANGLE": 0.0, "WAHLBEZIRK": "412", "ID1": 24, "ortsteil": "Kranichstein", "ortsteilnr": 9 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 8.678320696864171, 49.894822040043572 ], [ 8.677601421441464, 49.894635210823971 ], [ 8.677105809429015, 49.894419319151453 ], [ 8.676577959628185, 49.894027947703457 ], [ 8.674817302745931, 49.892490404412172 ], [ 8.674466265694827, 49.892829401935892 ], [ 8.674145214650018, 49.893056504301541 ], [ 8.673570814021122, 49.893380030694942 ], [ 8.671139193752568, 49.894407947818443 ], [ 8.67113917599292, 49.894408403794202 ], [ 8.670854335457694, 49.894529911026339 ], [ 8.670261586767248, 49.894781864665916 ], [ 8.669565402417065, 49.895194067794186 ], [ 8.669061390441094, 49.895600069643557 ], [ 8.668518271020188, 49.896225866686507 ], [ 8.668247467202844, 49.896732367415481 ], [ 8.668084835438608, 49.897301237394515 ], [ 8.668070283619954, 49.897900212039978 ], [ 8.668189909524385, 49.898425368173974 ], [ 8.668314734106442, 49.898497229463509 ], [ 8.66838881350392, 49.898659337597458 ], [ 8.67163510356726, 49.901039005973331 ], [ 8.672198269032434, 49.901464227621993 ], [ 8.673630892900084, 49.902431550600106 ], [ 8.674659363970582, 49.903246619481273 ], [ 8.677469878606665, 49.905283567917166 ], [ 8.679866577590603, 49.907069716058132 ], [ 8.681087688406352, 49.907847483008538 ], [ 8.682223206303815, 49.908622304190509 ], [ 8.683666802602847, 49.909571992999012 ], [ 8.686828429948491, 49.911704108244315 ], [ 8.687511049362447, 49.912112038337476 ], [ 8.688549142268847, 49.912798840726964 ], [ 8.689008722109378, 49.913131960459815 ], [ 8.690139554466638, 49.913698924402432 ], [ 8.691158971494406, 49.914049719563636 ], [ 8.692118441434371, 49.914301860011868 ], [ 8.692236954527239, 49.914392566376833 ], [ 8.692173022471074, 49.914589369874598 ], [ 8.692544254198824, 49.914694237745387 ], [ 8.692630906595609, 49.914867156236383 ], [ 8.694040277814013, 49.916004153077523 ], [ 8.694924192696615, 49.916980554062754 ], [ 8.695370588809007, 49.91742963882939 ], [ 8.695682530676478, 49.917663857362136 ], [ 8.696958083190061, 49.918506356469734 ], [ 8.698741909866825, 49.919607846618177 ], [ 8.699538247942565, 49.920244003480441 ], [ 8.69936392851544, 49.920722492814605 ], [ 8.700019812373522, 49.920761966763116 ], [ 8.700194840999918, 49.920842017999114 ], [ 8.701131724651827, 49.921058947687179 ], [ 8.701384088853562, 49.920797866589588 ], [ 8.701933965461551, 49.920746665031515 ], [ 8.702540397606867, 49.921012651396623 ], [ 8.704424621549538, 49.921109209537718 ], [ 8.705774374661249, 49.921130180268953 ], [ 8.7072293672349, 49.92102593195898 ], [ 8.709129393644114, 49.920581452619068 ], [ 8.71019932930864, 49.920569290639463 ], [ 8.711076268608409, 49.920683456332085 ], [ 8.712389899626023, 49.921154869309134 ], [ 8.713721622107787, 49.920692714511965 ], [ 8.714185789312836, 49.920645290666862 ], [ 8.715651475022476, 49.920493743532774 ], [ 8.717697506784319, 49.920435332756753 ], [ 8.718168043987284, 49.920727889085413 ], [ 8.718927673062614, 49.920536807033891 ], [ 8.719313096914076, 49.92037449581219 ], [ 8.720119502081502, 49.920403427239982 ], [ 8.720547850020255, 49.920044242595111 ], [ 8.721367013078403, 49.920034071339927 ], [ 8.721387169725803, 49.920162287059469 ], [ 8.722082463088112, 49.920254346945399 ], [ 8.724692059049275, 49.920301044841629 ], [ 8.726499224559564, 49.920355238391977 ], [ 8.726463841698163, 49.919961209186333 ], [ 8.727790951818259, 49.91917509090306 ], [ 8.729170239921032, 49.919137846136287 ], [ 8.730256426170167, 49.919202437470403 ], [ 8.730717384092998, 49.919350563775723 ], [ 8.733297532827258, 49.919046226052643 ], [ 8.734997657363174, 49.918799185148735 ], [ 8.735256685380199, 49.918811918893347 ], [ 8.734840884772639, 49.918429165335844 ], [ 8.734427350393226, 49.918395840018071 ], [ 8.734006787304015, 49.918121002903021 ], [ 8.732682037219924, 49.918503808078214 ], [ 8.732322381466522, 49.918551547203911 ], [ 8.731011779404854, 49.91864025570014 ], [ 8.730642177190196, 49.918222516823086 ], [ 8.73014443352654, 49.917928598581867 ], [ 8.729221618419755, 49.918171989301221 ], [ 8.726727325933384, 49.917337773129972 ], [ 8.725434885259501, 49.916071934748338 ], [ 8.723245791282904, 49.915241063683688 ], [ 8.721693211639602, 49.91491220782985 ], [ 8.720771398249362, 49.91426106017903 ], [ 8.719410635012752, 49.912928881876063 ], [ 8.717857472113574, 49.912000958754568 ], [ 8.717035873842791, 49.911022185798338 ], [ 8.716553116464416, 49.910693167890365 ], [ 8.715638409997098, 49.909924621753675 ], [ 8.713880180722112, 49.908729013577499 ], [ 8.710051445082968, 49.904112215457694 ], [ 8.70916777092954, 49.903431388512715 ], [ 8.708688459177045, 49.903245354146271 ], [ 8.707960296554552, 49.902760532818576 ], [ 8.707753980614235, 49.902681763303725 ], [ 8.703547140009988, 49.901657885641697 ], [ 8.70215276875772, 49.900829991664935 ], [ 8.701791199465795, 49.900526856333506 ], [ 8.70191952305724, 49.900378781472092 ], [ 8.702031548829414, 49.899824575105541 ], [ 8.701944147257596, 49.899433101461376 ], [ 8.701757309936911, 49.899247789639119 ], [ 8.701347458768058, 49.898986351822288 ], [ 8.700599392635485, 49.898702453647047 ], [ 8.697550223659045, 49.897997038180705 ], [ 8.696772963882534, 49.897711689962797 ], [ 8.696012633517022, 49.897392652514128 ], [ 8.695555124036265, 49.897078452884394 ], [ 8.694726480116771, 49.896003711702107 ], [ 8.694417791777417, 49.895277063651314 ], [ 8.69351082787891, 49.895175387419208 ], [ 8.693512046039729, 49.895173488067854 ], [ 8.693061250241977, 49.895123726822945 ], [ 8.692377896665469, 49.894861532785896 ], [ 8.689770405009648, 49.893076424730772 ], [ 8.6886311939181, 49.893237965975054 ], [ 8.68817948241376, 49.893333889986401 ], [ 8.687346640308801, 49.893590681598276 ], [ 8.685332044675757, 49.894122188483074 ], [ 8.683062249224317, 49.89407148541332 ], [ 8.680805470052499, 49.894897712302637 ], [ 8.680230073257038, 49.895059372487246 ], [ 8.680210876126683, 49.895120030672913 ], [ 8.678320696864171, 49.894822040043572 ] ], [ [ 8.685580204943513, 49.89964217529122 ], [ 8.686042441495701, 49.899462147354903 ], [ 8.686042966434373, 49.899462645009663 ], [ 8.685592745521737, 49.899640860157938 ], [ 8.68379658024069, 49.899946277381062 ], [ 8.685580204943513, 49.89964217529122 ] ], [ [ 8.677272979001609, 49.896597290165154 ], [ 8.677274635481485, 49.89659739777877 ], [ 8.67731061875045, 49.897650526140794 ], [ 8.677240398122828, 49.895916435654868 ], [ 8.677272979001609, 49.896597290165154 ] ], [ [ 8.682497172609001, 49.901256784202886 ], [ 8.68255826845048, 49.900222165112332 ], [ 8.682561613708236, 49.900348992945958 ], [ 8.682497172609001, 49.901256784202886 ] ], [ [ 8.689789623057198, 49.896497299425967 ], [ 8.689794045389375, 49.896555909645336 ], [ 8.689591170660808, 49.896842518395069 ], [ 8.689758246744372, 49.896601684484004 ], [ 8.689789623057198, 49.896497299425967 ] ], [ [ 8.690321024197697, 49.895307669975651 ], [ 8.689732446900901, 49.895739517771318 ], [ 8.689754730359116, 49.896034853349782 ], [ 8.689730479539444, 49.895720624606703 ], [ 8.690321024197697, 49.895307669975651 ] ], [ [ 8.690658384238622, 49.89538885709927 ], [ 8.690339489835441, 49.8952947572065 ], [ 8.690349357135528, 49.895287857133788 ], [ 8.690658384238622, 49.89538885709927 ] ] ] ] } },
+{ "type": "Feature", "properties": { "ID": 49.0, "SYMBOL": 1.0, "ANGLE": 0.0, "WAHLBEZIRK": "620", "ID1": 49, "ortsteil": "Bessungen", "ortsteilnr": 4 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 8.654118427278169, 49.84090537709524 ], [ 8.653086921343425, 49.841329975064198 ], [ 8.650515213589259, 49.84154620906979 ], [ 8.65043778830589, 49.841868422289977 ], [ 8.648733668112413, 49.841828193098429 ], [ 8.647066836110705, 49.841824479416566 ], [ 8.647022972123578, 49.842118460401984 ], [ 8.64565358173531, 49.842234356858384 ], [ 8.645605353679155, 49.842267938157249 ], [ 8.641747478155716, 49.842334330375408 ], [ 8.640130597407827, 49.842344162826372 ], [ 8.637659098048704, 49.842256864104222 ], [ 8.638906985311694, 49.84529229587222 ], [ 8.639942725273938, 49.846853783991996 ], [ 8.640767723604096, 49.848425402705125 ], [ 8.641547649598321, 49.849609670360081 ], [ 8.641990699784884, 49.850361165473515 ], [ 8.642267717252246, 49.850993421596911 ], [ 8.643158282431598, 49.853598670782141 ], [ 8.643340101307139, 49.854128095756955 ], [ 8.643786624246019, 49.855268148176577 ], [ 8.644193218934911, 49.85673322026738 ], [ 8.644340780703578, 49.857383961340936 ], [ 8.644373855316758, 49.858279895508076 ], [ 8.644579588034414, 49.859251911113596 ], [ 8.644631548425874, 49.860419080967276 ], [ 8.647048760347845, 49.860352262149668 ], [ 8.646667841973015, 49.854777781190108 ], [ 8.646826399038307, 49.857073161718127 ], [ 8.647124602807361, 49.861400778578513 ], [ 8.647185433880269, 49.861645158908424 ], [ 8.649489918637634, 49.861590088352088 ], [ 8.651454743991836, 49.861461097537465 ], [ 8.652767109004936, 49.861222189538793 ], [ 8.653199961954542, 49.861104760421576 ], [ 8.653660564352981, 49.861192482576215 ], [ 8.654594715099016, 49.861590182890993 ], [ 8.654419388956262, 49.862481830787786 ], [ 8.654310185802929, 49.863161473920826 ], [ 8.654342614306568, 49.863589249290762 ], [ 8.654697484875967, 49.864166391248006 ], [ 8.655439911523926, 49.863956784484969 ], [ 8.655806407966992, 49.863781135258002 ], [ 8.655920038049878, 49.86394471896557 ], [ 8.65665514995294, 49.863588026016259 ], [ 8.656777723398953, 49.863667988445563 ], [ 8.657369657158927, 49.863192142323207 ], [ 8.658275379418798, 49.863795184560914 ], [ 8.66001663504211, 49.864603044384509 ], [ 8.660339277649532, 49.864726762147541 ], [ 8.661550666160609, 49.865205203335606 ], [ 8.664956813429153, 49.866131164920461 ], [ 8.666122836643131, 49.864421116560607 ], [ 8.66716606067896, 49.862953549473495 ], [ 8.667303905402877, 49.862635547150276 ], [ 8.668655617606646, 49.857246887343216 ], [ 8.66881101283222, 49.85649450830109 ], [ 8.669128191824989, 49.855274437283057 ], [ 8.669510865666785, 49.854545640977989 ], [ 8.670313159718997, 49.853173145612807 ], [ 8.670767329890623, 49.852358202865176 ], [ 8.671073895443332, 49.852075752362722 ], [ 8.671318903856537, 49.851946929217341 ], [ 8.671747419532295, 49.851834815055618 ], [ 8.673790057168665, 49.851547816028109 ], [ 8.67419603779469, 49.851372219518993 ], [ 8.674381367488659, 49.851117751535909 ], [ 8.674392106479454, 49.850761607011584 ], [ 8.674239579705343, 49.850171601419049 ], [ 8.674251969730474, 49.849569916763841 ], [ 8.674661070743968, 49.848615869536459 ], [ 8.675814590754113, 49.844917040365402 ], [ 8.676154825055454, 49.844267702015017 ], [ 8.676461884139735, 49.843898892833835 ], [ 8.676913139127725, 49.843492708644916 ], [ 8.6777759858903, 49.842994576253858 ], [ 8.678562353143105, 49.842701295924932 ], [ 8.679404439672536, 49.842498557308978 ], [ 8.68028179710921, 49.842324241975263 ], [ 8.680942161362346, 49.84215337040839 ], [ 8.682583601442841, 49.8415763936082 ], [ 8.683689383490224, 49.841239430747045 ], [ 8.681818447337234, 49.840233242111566 ], [ 8.675362725759486, 49.8366873167706 ], [ 8.67363571867644, 49.835732665697272 ], [ 8.673989900389214, 49.836416332260626 ], [ 8.672880064236585, 49.837051353518738 ], [ 8.672221384600331, 49.83790485379312 ], [ 8.672107820107678, 49.838966313281709 ], [ 8.670705601095481, 49.839330656243298 ], [ 8.669659578510281, 49.840075108778287 ], [ 8.66893406000632, 49.840620793535734 ], [ 8.668055409134382, 49.840982551052996 ], [ 8.666692319675324, 49.841711227661499 ], [ 8.666423069084315, 49.841730690409626 ], [ 8.665269492563427, 49.84141706087383 ], [ 8.664018661162165, 49.84129201885704 ], [ 8.662232890213783, 49.840995413092024 ], [ 8.660761895271046, 49.841032941244443 ], [ 8.658584825515399, 49.841205986541418 ], [ 8.658228452412931, 49.841155017870868 ], [ 8.65819862866285, 49.841242624634461 ], [ 8.657173043617977, 49.841128965856306 ], [ 8.655956767420506, 49.840842041089971 ], [ 8.655919514522218, 49.840800106891422 ], [ 8.655874329078941, 49.84070013570998 ], [ 8.654740102172237, 49.840611766651925 ], [ 8.654118427278169, 49.84090537709524 ] ], [ [ 8.644131588504882, 49.853474842830103 ], [ 8.644257997410815, 49.853464998736371 ], [ 8.643158282431598, 49.853598670782141 ], [ 8.644131588504882, 49.853474842830103 ] ], [ [ 8.660652821783652, 49.864063901597468 ], [ 8.660979620903898, 49.863380549995128 ], [ 8.660979002435392, 49.863383538211629 ], [ 8.660339277649532, 49.864726762147541 ], [ 8.660652821783652, 49.864063901597468 ] ], [ [ 8.643981917059874, 49.843170941033662 ], [ 8.644494111302915, 49.843310126142022 ], [ 8.645847515419574, 49.84310245240323 ], [ 8.645979233369479, 49.844984199702225 ], [ 8.645845389807311, 49.843107842505432 ], [ 8.644477401927421, 49.843312773195322 ], [ 8.643981252760728, 49.843171064949118 ], [ 8.643981917059874, 49.843170941033662 ] ], [ [ 8.649364811590498, 49.853376007667627 ], [ 8.646655374608878, 49.853339553060891 ], [ 8.646623229788521, 49.853338800376982 ], [ 8.649364811590498, 49.853376007667627 ] ], [ [ 8.658217385416467, 49.852193713433834 ], [ 8.656593121393358, 49.854039048422322 ], [ 8.656843822441166, 49.853746570777517 ], [ 8.658217385416467, 49.852193713433834 ] ], [ [ 8.654915324572615, 49.859662246581962 ], [ 8.656068177200677, 49.859541551046625 ], [ 8.654831752268951, 49.859675489243699 ], [ 8.654855111869001, 49.85961889470088 ], [ 8.654915324572615, 49.859662246581962 ] ], [ [ 8.657607337052657, 49.859683719704606 ], [ 8.659507634692627, 49.859868172077171 ], [ 8.656068177200677, 49.859541551046625 ], [ 8.657607337052657, 49.859683719704606 ] ], [ [ 8.660580757094337, 49.860966022522874 ], [ 8.660591465143201, 49.860905375495605 ], [ 8.660847498305342, 49.859998206364338 ], [ 8.6608475160034, 49.859998208081841 ], [ 8.660580757094337, 49.860966022522874 ] ], [ [ 8.662393950040615, 49.859506178804132 ], [ 8.662381299086336, 49.859550296421602 ], [ 8.662476637870741, 49.858901958730364 ], [ 8.662393950040615, 49.859506178804132 ] ], [ [ 8.662547830265193, 49.857793453690682 ], [ 8.662547850471059, 49.858096770363467 ], [ 8.662543599863296, 49.857795898615876 ], [ 8.662547830265193, 49.857793453690682 ] ], [ [ 8.665668014622591, 49.857245260460886 ], [ 8.662843226981805, 49.857622730646014 ], [ 8.665646382161734, 49.857247691672853 ], [ 8.665668014622591, 49.857245260460886 ] ], [ [ 8.660404563294943, 49.861963906542904 ], [ 8.660407831557043, 49.861945396930437 ], [ 8.66067534481569, 49.862040251470532 ], [ 8.660695482128505, 49.86208350777865 ], [ 8.660404563294943, 49.861963906542904 ] ], [ [ 8.660750278653387, 49.862201214007229 ], [ 8.660782263393108, 49.862269918874468 ], [ 8.660774087972907, 49.862474991549767 ], [ 8.660750278653387, 49.862201214007229 ] ], [ [ 8.646364724837381, 49.853334776181256 ], [ 8.64484756350981, 49.853419084401168 ], [ 8.645114977016792, 49.853398257706147 ], [ 8.646352842699992, 49.85333458313216 ], [ 8.646364724837381, 49.853334776181256 ] ] ] ] } },
+{ "type": "Feature", "properties": { "ID": 6.0, "SYMBOL": 1.0, "ANGLE": 0.0, "WAHLBEZIRK": "450", "ID1": 22, "ortsteil": "Arheilgen", "ortsteilnr": 6 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 8.658987586379007, 49.897813146754714 ], [ 8.655671602427873, 49.897714304901307 ], [ 8.655130409488613, 49.89774912332544 ], [ 8.654615548350701, 49.897898694220807 ], [ 8.65498494941064, 49.899695493670023 ], [ 8.65497731127487, 49.899784995208435 ], [ 8.654906216012062, 49.899313453998268 ], [ 8.643561236049273, 49.900363842584838 ], [ 8.643188527090977, 49.897656329416421 ], [ 8.642920319022643, 49.896358983610263 ], [ 8.642004073337336, 49.896275210361459 ], [ 8.641408986387317, 49.896255832882986 ], [ 8.63990601419785, 49.896152688412442 ], [ 8.637077015950048, 49.896304416213717 ], [ 8.63378319318322, 49.897160206522926 ], [ 8.634966441990255, 49.898119126032455 ], [ 8.634711944579463, 49.898630996467688 ], [ 8.633413539216061, 49.899086954618923 ], [ 8.63250125808209, 49.899576501805583 ], [ 8.631993000938431, 49.900493651657719 ], [ 8.631403314409159, 49.901129920099912 ], [ 8.630292155305199, 49.901670084633977 ], [ 8.628774447180541, 49.901835227158273 ], [ 8.627223785875302, 49.902480536215648 ], [ 8.627190518993956, 49.903273720991677 ], [ 8.628176986408446, 49.905921193034871 ], [ 8.628066355330345, 49.906453746506607 ], [ 8.628680573551863, 49.906989972139371 ], [ 8.629626167646665, 49.90790231262514 ], [ 8.630632139837585, 49.910213889446197 ], [ 8.628094584073201, 49.910932962582088 ], [ 8.626048920684154, 49.911251525520484 ], [ 8.625394949351985, 49.912068339006019 ], [ 8.625080722943068, 49.913794214192144 ], [ 8.624536333962164, 49.913676427547813 ], [ 8.624171628985726, 49.914364653225604 ], [ 8.622377954614461, 49.913963530673954 ], [ 8.622508427225268, 49.913308276704598 ], [ 8.620082098229288, 49.912864583481038 ], [ 8.618972891188264, 49.912576277295855 ], [ 8.618893348333957, 49.91339089252736 ], [ 8.618897617228011, 49.915765380759417 ], [ 8.620826189139631, 49.91602129177361 ], [ 8.622906998330159, 49.916316790633431 ], [ 8.625263032027057, 49.916690042300658 ], [ 8.624958184630898, 49.918279683779836 ], [ 8.625935643695749, 49.921844548011364 ], [ 8.626215685384576, 49.923191883658248 ], [ 8.626267550894646, 49.92324061951301 ], [ 8.63141400673816, 49.922478640840616 ], [ 8.631450392436282, 49.923736146334811 ], [ 8.637557064502763, 49.92282988724579 ], [ 8.637706527063465, 49.92379902996457 ], [ 8.646493585072179, 49.922969448065302 ], [ 8.646746578733136, 49.922949981962411 ], [ 8.647112467941533, 49.925499602584466 ], [ 8.64994543285141, 49.92445451724199 ], [ 8.65122554830141, 49.923130829836758 ], [ 8.651370434153563, 49.923034128070015 ], [ 8.653407821510143, 49.922458759335889 ], [ 8.653809433179052, 49.922403295345653 ], [ 8.654299411446475, 49.922555859467202 ], [ 8.654878438030988, 49.9225292522014 ], [ 8.655091944769053, 49.92247862039109 ], [ 8.655503509033185, 49.922199224496836 ], [ 8.656321072660448, 49.921833337463561 ], [ 8.656834295313137, 49.921655422812478 ], [ 8.65691246187661, 49.921535581459246 ], [ 8.657449903248487, 49.921477808335823 ], [ 8.658198695856914, 49.921672943187509 ], [ 8.659284821745389, 49.921740897297759 ], [ 8.66017563904974, 49.921650420877533 ], [ 8.660502201013768, 49.921567731182762 ], [ 8.661303691301143, 49.921699591093947 ], [ 8.662222171679488, 49.922135340550923 ], [ 8.66258575301565, 49.922137748010513 ], [ 8.662780980475883, 49.922309655351377 ], [ 8.663568603744801, 49.922334877976724 ], [ 8.663936354736681, 49.922639498438713 ], [ 8.664160319411579, 49.922586181985245 ], [ 8.66454640129181, 49.922357947202229 ], [ 8.664380019072864, 49.922244138912795 ], [ 8.664406124535732, 49.922095810135936 ], [ 8.666150428975426, 49.922175046465952 ], [ 8.666976175968797, 49.922126153529312 ], [ 8.667715014401919, 49.922256440051022 ], [ 8.669019163222984, 49.922531344300445 ], [ 8.671054823551348, 49.923097024693746 ], [ 8.671557960650613, 49.923167256237207 ], [ 8.67461268357345, 49.923537433418581 ], [ 8.674846771450134, 49.923531344280171 ], [ 8.676592472293846, 49.923412105352817 ], [ 8.67902130928994, 49.923006019040358 ], [ 8.682886129184897, 49.922216616846384 ], [ 8.684478875896879, 49.92182971323323 ], [ 8.684765713202598, 49.921744148916041 ], [ 8.686632635735759, 49.921285107603168 ], [ 8.687254398873833, 49.921107351635975 ], [ 8.68949238157731, 49.92110392105905 ], [ 8.690384495445118, 49.921126543026922 ], [ 8.69071306624399, 49.92104782105509 ], [ 8.691965761196883, 49.920558722539077 ], [ 8.693524076437731, 49.920309214494857 ], [ 8.69431852417577, 49.920243854640411 ], [ 8.695900423427354, 49.920227776307591 ], [ 8.696549537950984, 49.920345501675627 ], [ 8.698726994583723, 49.920660129177335 ], [ 8.69936392851544, 49.920722492814605 ], [ 8.699538247942565, 49.920244003480441 ], [ 8.698741909866825, 49.919607846618177 ], [ 8.696958083190061, 49.918506356469734 ], [ 8.695682530676478, 49.917663857362136 ], [ 8.695370588809007, 49.91742963882939 ], [ 8.694924192696615, 49.916980554062754 ], [ 8.694040277814013, 49.916004153077523 ], [ 8.692630906595609, 49.914867156236383 ], [ 8.692544254198824, 49.914694237745387 ], [ 8.692173022471074, 49.914589369874598 ], [ 8.692236954527239, 49.914392566376833 ], [ 8.692118441434371, 49.914301860011868 ], [ 8.691158971494406, 49.914049719563636 ], [ 8.690139554466638, 49.913698924402432 ], [ 8.689008722109378, 49.913131960459815 ], [ 8.688549142268847, 49.912798840726964 ], [ 8.687511049362447, 49.912112038337476 ], [ 8.686828429948491, 49.911704108244315 ], [ 8.683666802602847, 49.909571992999012 ], [ 8.682223206303815, 49.908622304190509 ], [ 8.681087688406352, 49.907847483008538 ], [ 8.679866577590603, 49.907069716058132 ], [ 8.677422059348761, 49.905249706565805 ], [ 8.674659363970582, 49.903246619481273 ], [ 8.674007102678432, 49.902707832229098 ], [ 8.673186032371438, 49.902114600242029 ], [ 8.672198269032434, 49.901464227621993 ], [ 8.669727197692689, 49.899639931225764 ], [ 8.66838881350392, 49.898659337597458 ], [ 8.668285910169946, 49.89843643591292 ], [ 8.667171861600245, 49.898251110460116 ], [ 8.66669685690808, 49.898077056778583 ], [ 8.665488539306086, 49.897934616483681 ], [ 8.664614546658219, 49.897771544837887 ], [ 8.663119595823707, 49.897702452952814 ], [ 8.6619895318864, 49.897722099793889 ], [ 8.660614416183162, 49.897839505608104 ], [ 8.660119306137792, 49.897855594272592 ], [ 8.658987586379007, 49.897813146754714 ] ], [ [ 8.653523457542395, 49.913612850343867 ], [ 8.653853298061076, 49.913601227129099 ], [ 8.652940116518256, 49.913673166193036 ], [ 8.651953250371498, 49.91377409189132 ], [ 8.650029745403158, 49.913962578357157 ], [ 8.653523457542395, 49.913612850343867 ] ], [ [ 8.654158757707522, 49.913590462227489 ], [ 8.654275812354461, 49.913606352297727 ], [ 8.65387355061554, 49.913600513420739 ], [ 8.654158757707522, 49.913590462227489 ] ], [ [ 8.654931041579866, 49.913695296742404 ], [ 8.654844719540494, 49.913730732351603 ], [ 8.654864003095224, 49.913720730769192 ], [ 8.654605957164874, 49.913651168486588 ], [ 8.654931041579866, 49.913695296742404 ] ], [ [ 8.670398363952025, 49.906894787533822 ], [ 8.670254300308903, 49.906883584920557 ], [ 8.670473529217171, 49.906900397677134 ], [ 8.670980436377569, 49.907005720246929 ], [ 8.670398363952025, 49.906894787533822 ] ], [ [ 8.657331988695425, 49.910105627910831 ], [ 8.657493764887329, 49.910861620322763 ], [ 8.656872684848464, 49.908026275248623 ], [ 8.657091164560464, 49.909008070719729 ], [ 8.657331988695425, 49.910105627910831 ] ], [ [ 8.652488264585989, 49.909972490797372 ], [ 8.65244593624552, 49.908013422078682 ], [ 8.652488565385818, 49.909972856572836 ], [ 8.652488264585989, 49.909972490797372 ] ], [ [ 8.657224923709153, 49.911229833503342 ], [ 8.657456682873955, 49.911082768601105 ], [ 8.657261447879149, 49.911215755927408 ], [ 8.657224923709153, 49.911229833503342 ] ], [ [ 8.654578353955467, 49.913931694099361 ], [ 8.654624924391685, 49.913846837462238 ], [ 8.654690047338926, 49.913797113488243 ], [ 8.654700719839846, 49.913793110998824 ], [ 8.654568592272067, 49.914072039559755 ], [ 8.654578353955467, 49.913931694099361 ] ], [ [ 8.654552741235927, 49.914299930920912 ], [ 8.654554248213778, 49.914278265100165 ], [ 8.654585753430435, 49.916710744799879 ], [ 8.654552741235927, 49.914299930920912 ] ], [ [ 8.654640007957026, 49.919899401536789 ], [ 8.654614570749313, 49.918413444264104 ], [ 8.654644079425973, 49.919899352903684 ], [ 8.654640007957026, 49.919899401536789 ] ], [ [ 8.649816317699543, 49.914911041896289 ], [ 8.649816041999943, 49.914910373286411 ], [ 8.650866880468802, 49.914634271185427 ], [ 8.651908718688606, 49.914445826143833 ], [ 8.651960703214302, 49.913825601479836 ], [ 8.652046794781683, 49.9144206069818 ], [ 8.650854296112785, 49.914640978961224 ], [ 8.649816317699543, 49.914911041896289 ] ], [ [ 8.650130197624145, 49.915672231969261 ], [ 8.650062326170675, 49.91550763903367 ], [ 8.650115874999052, 49.915630365667155 ], [ 8.650286168035416, 49.916102117413935 ], [ 8.650130197624145, 49.915672231969261 ] ], [ [ 8.651110168437503, 49.917664945477689 ], [ 8.651292680528297, 49.917945856183408 ], [ 8.651149558431774, 49.917734077750971 ], [ 8.651110168437503, 49.917664945477689 ] ], [ [ 8.651902049831211, 49.918847520042959 ], [ 8.652129914369288, 49.919095879018144 ], [ 8.65191244063503, 49.918862894656804 ], [ 8.651902049831211, 49.918847520042959 ] ], [ [ 8.652555238051542, 49.919551529896836 ], [ 8.652421608409666, 49.919408373046934 ], [ 8.652534517691029, 49.919527183461554 ], [ 8.652943338239156, 49.919919655556832 ], [ 8.652555238051542, 49.919551529896836 ] ] ] ] } }
+]
+}
diff --git a/index/obwahl_da_2023/da-qgis-freitag.qmd b/index/obwahl_da_2023/da-qgis-freitag.qmd
new file mode 100644
index 0000000000000000000000000000000000000000..722ac8e63ddfb830d7571cd0b4ca85013d88b066
--- /dev/null
+++ b/index/obwahl_da_2023/da-qgis-freitag.qmd
@@ -0,0 +1,26 @@
+<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
+<qgis version="3.22.3-Białowieża">
+  <identifier></identifier>
+  <parentidentifier></parentidentifier>
+  <language></language>
+  <type></type>
+  <title></title>
+  <abstract></abstract>
+  <links/>
+  <fees></fees>
+  <encoding></encoding>
+  <crs>
+    <spatialrefsys>
+      <wkt></wkt>
+      <proj4></proj4>
+      <srsid>0</srsid>
+      <srid>0</srid>
+      <authid></authid>
+      <description></description>
+      <projectionacronym></projectionacronym>
+      <ellipsoidacronym></ellipsoidacronym>
+      <geographicflag>false</geographicflag>
+    </spatialrefsys>
+  </crs>
+  <extent/>
+</qgis>
diff --git a/index/obwahl_da_2023/da-stadtteile-zentroide.qmd b/index/obwahl_da_2023/da-stadtteile-zentroide.qmd
new file mode 100644
index 0000000000000000000000000000000000000000..722ac8e63ddfb830d7571cd0b4ca85013d88b066
--- /dev/null
+++ b/index/obwahl_da_2023/da-stadtteile-zentroide.qmd
@@ -0,0 +1,26 @@
+<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
+<qgis version="3.22.3-Białowieża">
+  <identifier></identifier>
+  <parentidentifier></parentidentifier>
+  <language></language>
+  <type></type>
+  <title></title>
+  <abstract></abstract>
+  <links/>
+  <fees></fees>
+  <encoding></encoding>
+  <crs>
+    <spatialrefsys>
+      <wkt></wkt>
+      <proj4></proj4>
+      <srsid>0</srsid>
+      <srid>0</srid>
+      <authid></authid>
+      <description></description>
+      <projectionacronym></projectionacronym>
+      <ellipsoidacronym></ellipsoidacronym>
+      <geographicflag>false</geographicflag>
+    </spatialrefsys>
+  </crs>
+  <extent/>
+</qgis>
diff --git a/index/obwahl_da_2023/da-stadtteile-zentroide.xlsx b/index/obwahl_da_2023/da-stadtteile-zentroide.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..67b286ba1bf67f06add84fff64738a1ee8f106bf
Binary files /dev/null and b/index/obwahl_da_2023/da-stadtteile-zentroide.xlsx differ
diff --git a/index/obwahl_da_2023/da-stadtteile.csv b/index/obwahl_da_2023/da-stadtteile.csv
new file mode 100644
index 0000000000000000000000000000000000000000..9abae310df4455169291c6ba9f9af4e4420b4ea1
--- /dev/null
+++ b/index/obwahl_da_2023/da-stadtteile.csv
@@ -0,0 +1,10 @@
+nr,name,lon,lat
+1,Mitte,"8,652347272","49,8699467429"
+2,Nord,"8,6370046713","49,8833874951"
+3,Ost,"8,7039915156","49,8799722805"
+4,Bessungen,"8,6589419215","49,8504230763"
+5,West,"8,6054741291","49,8513346654"
+6,Arheilgen,"8,6557714618","49,9118588091"
+7,Eberstadt,"8,6444267492","49,823370301"
+8,Wixhausen,"8,6869707794","49,9348567185"
+9,Kranichstein,"8,6971135071","49,9075724005"
diff --git a/index/obwahl_da_2023/da-stadtteile.xlsx b/index/obwahl_da_2023/da-stadtteile.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..1aa4e01fc1f54c37526a98edb28fa9eef827256e
Binary files /dev/null and b/index/obwahl_da_2023/da-stadtteile.xlsx differ
diff --git a/index/obwahl_da_2023/da-wahlbezirke-test.xlsx b/index/obwahl_da_2023/da-wahlbezirke-test.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..a67880f4428606764f1a5779796de6844809d24b
Binary files /dev/null and b/index/obwahl_da_2023/da-wahlbezirke-test.xlsx differ
diff --git a/index/obwahl_da_2023/da-zuordnung.xlsx b/index/obwahl_da_2023/da-zuordnung.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..515d2d3d9e5e616b3ede9ce6fe6c3d979fc7b267
Binary files /dev/null and b/index/obwahl_da_2023/da-zuordnung.xlsx differ
diff --git a/index/obwahl_da_2023/parteien-kommunalwahl.xlsx b/index/obwahl_da_2023/parteien-kommunalwahl.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..e2e4390bc7e3b81842fd06e2556a245149b2429a
Binary files /dev/null and b/index/obwahl_da_2023/parteien-kommunalwahl.xlsx differ
diff --git a/index/obwahl_da_2023/wahlbezirke.xlsx b/index/obwahl_da_2023/wahlbezirke.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..27ec6cbda9b5b9a7e7803ad0278ab77cd524981f
Binary files /dev/null and b/index/obwahl_da_2023/wahlbezirke.xlsx differ
diff --git a/index/obwahl_da_stichwahl_2023/config.csv b/index/obwahl_da_stichwahl_2023/config.csv
new file mode 100644
index 0000000000000000000000000000000000000000..a6f27b20b752c0f57e9e396f0bcbda9f16d44c4c
--- /dev/null
+++ b/index/obwahl_da_stichwahl_2023/config.csv
@@ -0,0 +1,19 @@
+name,value,comment
+wahl_name,obwahl_da_stichwahl_2023,Welche Wahl?
+stimmbezirke_url,https://votemanager-da.ekom21cdn.de/2023-03-19/06411000/daten/opendata/Open-Data-06411000-Oberbuergermeisterstichwahl-Wahlbezirk.csv?ts=1680081844379,URL Daten-CSV Stimmbezirke
+wahlberechtigt,113726,Anzahl Wahlberechtigte lt. Wahlamt (kommt Sonntag)
+briefwahl,21864,Anzahl Briefwahlstimmen lt. Wahlamt (kommt Sonntag)
+top,2,Anzahl der Top-Kandidaten in den Darstellungen
+kandidaten_fname,da-kandidaten.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+zuordnung_fname,da-zuordnung.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+stadtteile_fname,da-stadtteile.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+startdatum,2023-03-19 16:00:00,Beginn der Auszählung
+top_id,8Fckl,„Toptorte“
+karte_sieger_id,polGP,
+karte_kand1_id,BjnRx,Kolmer (Grüne)
+karte_kand2_id,aqbzb,Benz (SPD)
+tabelle_alle_id,gLoxr,Alle Stimmen mit Balken
+hochburgen_id,gkhiB,
+tabelle_stadtteile_id,MDpFd,
+social1_id,8Fckl,5 stärkste
+social2_id,S9BbQ,Alle Stimmen angepasst
diff --git a/index/obwahl_da_stichwahl_2023/config_test.csv b/index/obwahl_da_stichwahl_2023/config_test.csv
new file mode 100644
index 0000000000000000000000000000000000000000..9ea63766ff59d367a298306aab3d882ed7389c66
--- /dev/null
+++ b/index/obwahl_da_stichwahl_2023/config_test.csv
@@ -0,0 +1,19 @@
+name,value,comment
+wahl_name,obwahl_da_stichwahl_2023,Welche Wahl?
+stimmbezirke_url,./index/obwahl_da_stichwahl_2023/muster1.csv,URL Daten-CSV Stimmbezirke
+wahlberechtigt,113726,Anzahl Wahlberechtigte lt. Wahlamt (kommt Sonntag)
+briefwahl,21864,Anzahl Briefwahlstimmen lt. Wahlamt (kommt Sonntag)
+top,2,Anzahl der Top-Kandidaten in den Darstellungen
+kandidaten_fname,da-kandidaten.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+zuordnung_fname,da-zuordnung.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+stadtteile_fname,da-stadtteile.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+startdatum,2023-03-19 16:00:00,Beginn der Auszählung
+top_id,8Fckl,„Toptorte“
+karte_sieger_id,polGP,
+karte_kand1_id,BjnRx,Kolmer (Grüne)
+karte_kand2_id,aqbzb,Benz (SPD)
+tabelle_alle_id,gLoxr,Alle Stimmen mit Balken
+hochburgen_id,gkhiB,
+tabelle_stadtteile_id,MDpFd,
+social1_id,8Fckl,5 stärkste
+social2_id,S9BbQ,Alle Stimmen angepasst
diff --git a/index/obwahl_da_stichwahl_2023/da-kandidaten.xlsx b/index/obwahl_da_stichwahl_2023/da-kandidaten.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..1b7408fb6938a74347165024d297092ccf808ca9
Binary files /dev/null and b/index/obwahl_da_stichwahl_2023/da-kandidaten.xlsx differ
diff --git a/index/obwahl_da_stichwahl_2023/da-stadtteile.xlsx b/index/obwahl_da_stichwahl_2023/da-stadtteile.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..1aa4e01fc1f54c37526a98edb28fa9eef827256e
Binary files /dev/null and b/index/obwahl_da_stichwahl_2023/da-stadtteile.xlsx differ
diff --git a/index/obwahl_da_stichwahl_2023/da-zuordnung.xlsx b/index/obwahl_da_stichwahl_2023/da-zuordnung.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..515d2d3d9e5e616b3ede9ce6fe6c3d979fc7b267
Binary files /dev/null and b/index/obwahl_da_stichwahl_2023/da-zuordnung.xlsx differ
diff --git a/index/obwahl_da_stichwahl_2023/muster1.csv b/index/obwahl_da_stichwahl_2023/muster1.csv
new file mode 100644
index 0000000000000000000000000000000000000000..226f63ae1f232c93ffa2cc0bc5986d439782302c
--- /dev/null
+++ b/index/obwahl_da_stichwahl_2023/muster1.csv
@@ -0,0 +1,155 @@
+"datum";"wahl";"ags";"gebiet-nr";"gebiet-name";"anz-schnellmeldungen";"max-schnellmeldungen";"A1";"A2";"A3";"A";"B";"B1";"C";"D";"D1";"D2"
+03.04.23;"obstichwahl-test";6411000;10;"00010 - Stadtverwaltung";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;20;"00020 - Justus-Liebig-Haus";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;30;"00030 - Justus-Liebig-Haus";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;40;"00040 - Literaturhaus";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;50;"00050 - Justus-Liebig-Haus";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;60;"00060 - Interimsgeb√§ude Erasmus-Kittler-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;90;"00090 - Goetheschule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;100;"00100 - Goetheschule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;120;"00120 - Stadthaus Frankf. Str.";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;130;"00130 - Ehemalige Kyritzschule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;140;"00140 - Ehemalige Kyritzschule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;150;"00150 - Ehemalige Kyritzschule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;180;"00180 - Schillerschule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;190;"00190 - Schillerschule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;200;"00200 - Schillerschule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;210;"00210 - Schillerschule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;220;"00220 - Interimsgeb√§ude Bertolt-Brecht-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;230;"00230 - Interimsgeb√§ude Bertolt-Brecht-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;240;"00240 - Kiga Ev.Thomasgemeinde";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;250;"00250 - Chr.-Morgenstern-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;260;"00260 - Kiga Ev.Thomasgemeinde";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;270;"00270 - Kiga Ev.Thomasgemeinde";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;280;"00280 - Abendgymnasium";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;290;"00290 - Abendgymnasium";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;310;"00310 - Abendgymnasium";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;320;"00320 - Abendgymnasium";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;330;"00330 - Abendgymnasium";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;340;"00340 - Elly-Heuss-Knapp-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;350;"00350 - Elly-Heuss-Knapp-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;370;"00370 - K√§the-Kollwitz-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;380;"00380 - K√§the-Kollwitz-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;390;"00390 - K√§the-Kollwitz-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;411;"00411 - Erich K√§stner-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;412;"00412 - Erich K√§stner-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;413;"00413 - Familienzentrum";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;421;"00421 - Erich K√§stner-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;422;"00422 - Erich K√§stner-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;431;"00431 - Kinderhort, J√§gertorstr.";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;432;"00432 - Erich K√§stner-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;440;"00440 - Kinderhort, J√§gertorstr.";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;450;"00450 - Stadtteilschule Arheilg.";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;460;"00460 - Stadtteilschule Arheilg.";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;481;"00481 - Astrid-Lindgren-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;482;"00482 - Wilhelm-Busch-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;483;"00483 - Wilhelm-Busch-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;490;"00490 - Astrid-Lindgren-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;500;"00500 - Astrid-Lindgren-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;510;"00510 - Astrid-Lindgren-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;521;"00521 - Wilhelm-Busch-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;522;"00522 - Wilhelm-Busch-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;530;"00530 - Freiwillige Feuerwehr DA-Arheilgen";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;540;"00540 - Ludwig-Georgs-Gymnasium";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;550;"00550 - Ludwig-Georgs-Gymnasium";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;560;"00560 - Ludwig-Georgs-Gymnasium";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;570;"00570 - Heinrich-Hoffmann-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;580;"00580 - Heinrich-Hoffmann-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;600;"00600 - Georg-Büchner-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;610;"00610 - Alice-Eleonoren-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;620;"00620 - Lichtenbergschule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;630;"00630 - Herderschule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;640;"00640 - Herderschule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;650;"00650 - Lichtenbergschule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;660;"00660 - Herderschule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;680;"00680 - Mornewegschule (Schulcontainer)";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;690;"00690 - Mornewegschule (Schulcontainer)";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;710;"00710 - Georg-Moller-Haus";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;720;"00720 - Mornewegschule (Schulcontainer)";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;730;"00730 - Heinrich-Heine-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;750;"00750 - Heinrich-Heine-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;760;"00760 - Heinrich-Heine-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;780;"00780 - Wilhelm-Leuschner-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;790;"00790 - Wilhelm-Leuschner-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;800;"00800 - Verwaltungsseminar";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;810;"00810 - Verwaltungsseminar";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;820;"00820 - Friedrich-Ebert-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;831;"00831 - Friedrich-Ebert-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;832;"00832 - Friedrich-Ebert-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;840;"00840 - Friedrich-Ebert-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;850;"00850 - Friedrich-Ebert-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;860;"00860 - Ehem. Außenst. Georg-Aug.-Zinn-Sch.";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;870;"00870 - Ehem. Außenst. Georg-Aug.-Zinn-Sch.";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;880;"00880 - Zinn-Schule, Brechtstr.";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;890;"00890 - Zinn-Schule, Brechtstr.";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;900;"00900 - Frankensteinschule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;910;"00910 - Andersenschule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;920;"00920 - Andersenschule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;930;"00930 - Andersenschule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;940;"00940 - Gutenbergschule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;950;"00950 - Gutenbergschule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;960;"00960 - Haus der Vereine";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;970;"00970 - Haus der Vereine";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;980;"00980 - Ludwig-Schwamb-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;990;"00990 - Ludwig-Schwamb-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;1000;"01000 - Ludwig-Schwamb-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;1010;"01010 - Ludwig-Schwamb-Schule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;1020;"01020 - Haus der Vielfalt";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;1030;"01030 - Haus der Vielfalt";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;1040;"01040 - Frankensteinschule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;1050;"01050 - Frankensteinschule";0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;91010;91010;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;91011;91011;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;91012;91012;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;91013;91013;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;91014;91014;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;91015;91015;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;91016;91016;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;92020;92020;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;92021;92021;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;92022;92022;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;92023;92023;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;92024;92024;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;92025;92025;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;92026;92026;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;92027;92027;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;92028;92028;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;93030;93030;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";6411000;93031;93031;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;93032;93032;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;93033;93033;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;93034;93034;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;93035;93035;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;93036;93036;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;94040;94040;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;94041;94041;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;94042;94042;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;94043;94043;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;94044;94044;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;94045;94045;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;95050;95050;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;95051;95051;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;95052;95052;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;95053;95053;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;95054;95054;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;95055;95055;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;96060;96060;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;96061;96061;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;96062;96062;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;96063;96063;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;96064;96064;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;96065;96065;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;96066;96066;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;97070;97070;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;97071;97071;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;97072;97072;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;97073;97073;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;97074;97074;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;97075;97075;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;97076;97076;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;97077;97077;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;98080;98080;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;98081;98081;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;99090;99090;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;99091;99091;0;1;;;;;;;;;;
+03.04.23;"obstichwahl-test";;99092;99092;0;1;;;;;;;;;;
diff --git a/index/obwahl_da_stichwahl_2023/stichwahl-muster.csv b/index/obwahl_da_stichwahl_2023/stichwahl-muster.csv
new file mode 100644
index 0000000000000000000000000000000000000000..e1d3d2fad116c0544020bff076fd82dcec756420
--- /dev/null
+++ b/index/obwahl_da_stichwahl_2023/stichwahl-muster.csv
@@ -0,0 +1,118 @@
+"datum";"wahl";"ags";"gebiet-nr";"gebiet-name";"max-schnellmeldungen";"anz-schnellmeldungen";"A1";"A2";"A3";"A";"B";"B1";"C";"D";"D1";"D2"
+03.04.23;"Oberbürgermeisterwahl";6411000;30;"Justus-Liebig-Haus (30)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;40;"Literaturhaus (R) (40)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;50;"Justus-Liebig-Haus (50)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;60;"Erasmus-Kittler-Schule (60)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;90;"Goetheschule (90)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;100;"Goetheschule (100)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;120;"Stadthaus Frankfurter Straße 71 (120)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;130;"Ehem. Kyritzschule (130)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;140;"Ehem. Kyritzschule (140)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;150;"Ehem. Kyritzschule (150)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;180;"Schillerschule (180)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;190;"Schillerschule (190)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;200;"Schillerschule (200)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;210;"Schillerschule (210)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;220;"Christoph-Graupner-Schule (220)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;230;"Christoph-Graupner-Schule (230)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;240;"Seniorenwohnanlage (240)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;250;"Christian-Morgenstern-Schule (R) (250)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;260;"Kindergarten Ev. Thomasgemeinde (260)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;270;"Kindergarten Ev. Thomasgemeinde (270)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;280;"Abendgymnasium (280)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;290;"Abendgymnasium (290)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;310;"Abendgymnasium (310)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;320;"Abendgymnasium (320)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;330;"Abendgymnasium (330)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;340;"Elly-Heuss-Knapp-Schule (R) (340)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;350;"Elly-Heuss-Knapp-Schule (350)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;370;"Ehemalige Lessingschule (370)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;390;"Käthe-Kollwitz-Schule (390)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;411;"Erich Kästner-Schule (411)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;412;"Erich Kästner-Schule (412)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;421;"Erich Kästner-Schule (R) (421)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;422;"Erich Kästner-Schule (422)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;431;"Kinderhort";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;432;"Erich Kästner-Schule (432)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;440;"Kinderhort";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;450;"Stadtteilschule Arheilgen (450)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;460;"Stadtteilschule Arheilgen (460)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;481;"Astrid-Lindgren-Schule (481)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;482;"Wilhelm-Busch-Schule (482)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;483;"Wilhelm-Busch-Schule (483)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;490;"Astrid-Lindgren-Schule (R) (490)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;500;"Astrid-Lindgren-Schule (500)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;510;"Astrid-Lindgren-Schule (510)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;520;"Wilhelm-Busch-Schule (520)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;530;"Wilhelm-Busch-Schule (530)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;540;"Ludwig-Georgs-Gymnasium (540)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;550;"Ludwig-Georgs-Gymnasium (550)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;560;"Ludwig-Georgs-Gymnasium (560)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;570;"Heinrich-Hoffmann-Schule (R) (570)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;580;"Heinrich-Hoffmann-Schule (580)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;600;"Georg-Büchner-Schule (R) (600)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;610;"Alice-Eleonoren-Schule";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;620;"Lichtenbergschule (620)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;630;"Herderschule (R) (630)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;640;"Herderschule (640)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;660;"Herderschule (660)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;680;"Mornewegschule (680)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;690;"Mornewegschule (690)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;710;"Ehemalige Außenstelle der Peter-Behrens-Schule (710)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;720;"Ehemalige Außenstelle der Peter-Behrens-Schule (720)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;730;"Heinrich-Heine-Schule (730)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;750;"Heinrich-Heine-Schule (750)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;760;"Heinrich-Heine-Schule (R) (760)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;780;"Wilhelm-Leuschner-Schule (780)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;790;"Wilhelm-Leuschner-Schule (790)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;800;"Jobcenter Darmstadt (800)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;820;"Friedrich-Ebert-Schule (820)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;830;"Friedrich-Ebert-Schule (830)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;840;"Friedrich-Ebert-Schule (840)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;850;"Friedrich-Ebert-Schule (850)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;860;"Ehemalige Außenstelle der Georg-August-Zinn-Schule (860)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;870;"Ehemalige Außenstelle der Georg-August-Zinn-Schule (870)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;880;"Georg-August-Zinn-Schule";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;890;"Georg-August-Zinn-Schule";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;900;"Frankensteinschule (900)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;910;"Andersenschule (910)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;920;"Andersenschule (920)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;930;"Andersenschule (930)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;940;"Gutenbergschule (R) (940)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;950;"Gutenbergschule (R) (950)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;960;"Haus der Vereine (960)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;970;"Haus der Vereine (970)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;980;"Ludwig-Schwamb-Schule (980)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;990;"Ludwig-Schwamb-Schule (990)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;1000;"Ludwig-Schwamb-Schule (1000)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;1010;"Ludwig-Schwamb-Schule (1010)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;1020;"Wilhelm-Hauff-Schule (1020)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;1030;"Wihelm-Hauff-Schule (1030)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;1040;"Frankensteinschule (1040)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;1050;"Frankensteinschule (1050)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;"91061";"Briefwahlbezirk (B91061)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;"91062";"Briefwahlbezirk (B91062)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;"91063";"Briefwahlbezirk (B91063)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;"92064";"Briefwahlbezirk (B92064)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;"92065";"Briefwahlbezirk (B92065)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;"92066";"Briefwahlbezirk (B92066)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;"92067";"Briefwahlbezirk (B92067)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;"93068";"Briefwahlbezirk (B93068)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;"93069";"Briefwahlbezirk (B93069)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;"93070";"Briefwahlbezirk (B93070)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;"94071";"Briefwahlbezirk (B94071)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;"94072";"Briefwahlbezirk (B94072)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;"94073";"Briefwahlbezirk (B94073)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;"95074";"Briefwahlbezirk (B95074)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;"95075";"Briefwahlbezirk (B95075)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;"95076";"Briefwahlbezirk (B95076)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;"96077";"Briefwahlbezirk (B96077)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;"96078";"Briefwahlbezirk (B96078)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;"96079";"Briefwahlbezirk (B96079)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;"97080";"Briefwahlbezirk (B97080)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;"97081";"Briefwahlbezirk (B97081)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;"97082";"Briefwahlbezrik (B97082)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;"97083";"Briefwahlbezirk (B97083)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;"98084";"Briefwahlbezirk (B98084)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;"99085";"Briefwahlbezirk (B99085)";1;0;;;;;;;;;;
+03.04.23;"Oberbürgermeisterwahl";6411000;"99086";"Briefwahlbezirk (B99086)";1;0;;;;;;;;;;
diff --git a/index/obwahl_ffm_stichwahl_2023/config.csv b/index/obwahl_ffm_stichwahl_2023/config.csv
new file mode 100644
index 0000000000000000000000000000000000000000..42e1ae8232506ce744da937ec8d5e708fcf48d90
--- /dev/null
+++ b/index/obwahl_ffm_stichwahl_2023/config.csv
@@ -0,0 +1,19 @@
+name,value,comment
+wahl_name,obwahl_ffm_stichwahl_2023,Welche Wahl?
+stimmbezirke_url,https://votemanager-ffm.ekom21cdn.de/2023-03-05/06412000/daten/opendata/Open-Data-06412000-OB-Stichwahl-Wahlbezirk.csv?ts=1679658148857,URL Daten-CSV Stimmbezirke
+wahlberechtigt,508182,Anzahl Wahlberechtigte lt. Wahlamt (kommt Sonntag)
+briefwahl,250000,Anzahl Briefwahlstimmen lt. Wahlamt (kommt Sonntag)
+kandidaten_fname,kandidaten.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+zuordnung_fname,ffm_zuordnung_wahllokale.csv,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+stadtteile_fname,ffm_stadtteile.csv,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+startdatum,2023-03-05 16:00:00,Beginn der Auszählung
+top,2,
+top_id,d6Xab,
+karte_sieger_id,LVCv7,
+karte_kand1_id,yltxI,Becker (CDU)
+karte_kand2_id,E4OuF,Josef (SPD)
+tabelle_alle_id,Ws7uW,
+hochburgen_id,318FI,
+tabelle_stadtteile_id,vSNkO,
+social1_id,mswAL,Stärkste
+social2_id,S9BbQ,Alle Stimmen angepasst
diff --git a/index/obwahl_ffm_stichwahl_2023/config_test.csv b/index/obwahl_ffm_stichwahl_2023/config_test.csv
new file mode 100644
index 0000000000000000000000000000000000000000..5da086fe62d2945645ce0f22d06f5f06c9b9832e
--- /dev/null
+++ b/index/obwahl_ffm_stichwahl_2023/config_test.csv
@@ -0,0 +1,19 @@
+name,value,comment
+wahl_name,obwahl_ffm_stichwahl_2023,Welche Wahl?
+stimmbezirke_url,https://votemanager-ffm.ekom21cdn.de/2023-03-05/06412000/daten/opendata/Open-Data-06412000-OB-Stichwahl-Wahlbezirk.csv?ts=1679658148857,URL Daten-CSV Stimmbezirke
+wahlberechtigt,508182,Anzahl Wahlberechtigte lt. Wahlamt (kommt Sonntag)
+briefwahl,250000,Anzahl Briefwahlstimmen lt. Wahlamt (kommt Sonntag)
+kandidaten_fname,kandidaten.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+zuordnung_fname,ffm_zuordnung_wahllokale.csv,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+stadtteile_fname,ffm_stadtteile.csv,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+startdatum,2023-03-05 16:00:00,Beginn der Auszählung
+top,2,
+top_id,028Fp,
+karte_sieger_id,jjShE,
+karte_kand1_id,Eh1HU,Becker (CDU)
+karte_kand2_id,7gscI,Josef (SPD)
+tabelle_alle_id,PLwHI,
+hochburgen_id,Im2PX,
+tabelle_stadtteile_id,sytFg,
+social1_id,,Stärkste
+social2_id,S9BbQ,Alle Stimmen angepasst
diff --git a/index/obwahl_ffm_stichwahl_2023/ffm_stadtteile.csv b/index/obwahl_ffm_stichwahl_2023/ffm_stadtteile.csv
new file mode 100644
index 0000000000000000000000000000000000000000..b07902a0b1c6a861a2489ce79713d62c611f502f
--- /dev/null
+++ b/index/obwahl_ffm_stichwahl_2023/ffm_stadtteile.csv
@@ -0,0 +1,45 @@
+nr,name,lon,lat
+1,Altstadt,8.682385346400634,50.11059669873516
+2,Innenstadt,8.682664888207869,50.113790989177375
+4,Westend-Süd,8.6594393465439925,50.11682467903111
+5,Westend-Nord,8.666488952498467,50.128769620533795
+6,Nordend-West,8.684596043386934,50.13022858244322
+7,Nordend-Ost,8.69761974358955,50.127318654892264
+8,Ostend,8.719218276147204,50.11554639352114
+9,Bornheim,8.712407551447747,50.13090801018288
+10,Gutleut- und Bahnhofsviertel,8.652137942960298,50.099479845695974
+11,Gallus,8.636377745265355,50.10300477630784
+12,Bockenheim,8.632922516089874,50.12128753657858
+13,Sachsenhausen-Nord,8.684579993638577,50.10051804775371
+14,Sachsenhausen-Süd und Flughafen,8.629663957345496,50.0607635296547
+16,Oberrad,8.727138168461476,50.09922899999497
+17,Niederrad,8.636199605275262,50.081631798202295
+18,Schwanheim,8.572652070944704,50.081760019105545
+19,Griesheim,8.600109548586545,50.09781734654457
+20,Rödelheim,8.603076601631098,50.127692431637506
+21,Hausen,8.626134516198546,50.13524298077671
+22,Praunheim,8.61444644716483,50.14547905112678
+24,Heddernheim,8.64020132453368,50.158128239125205
+25,Niederursel,8.616911198776547,50.16683966510584
+26,Ginnheim,8.648134546192246,50.14388748058928
+27,Dornbusch,8.670541998003081,50.14434313041997
+28,Eschersheim,8.659950213724542,50.16002839395001
+29,Eckenheim,8.683795236784233,50.148564823086005
+30,Preungesheim,8.697198159142667,50.15544843144313
+31,Bonames,8.665887880254154,50.18258113675648
+32,Berkersheim,8.702941786636124,50.17015956481773
+33,Riederwald,8.73274589886058,50.12667040584185
+34,Seckbach,8.726644066440096,50.147246840458955
+35,Fechenheim,8.762275115113775,50.12551773891441
+36,Höchst,8.539657322936813,50.098523172532
+37,Nied,8.57676379509509,50.103479453362766
+38,Sindlingen,8.51273746688725,50.07800492013246
+39,Zeilsheim,8.495768400332896,50.097784690964886
+40,Unterliederbach,8.525490184772172,50.10992510336304
+41,Sossenheim,8.574019745075416,50.12010605434964
+42,Nieder-Erlenbach,8.709219115856458,50.20871646737095
+43,Kalbach-Riedberg,8.639008245521376,50.1846309062546
+44,Harheim,8.689844680792895,50.18583895746724
+45,Nieder-Eschbach,8.668094243977997,50.20106152063871
+46,Bergen-Enkheim,8.766772308170399,50.15913246211432
+47,Frankfurter Berg,8.673427563622,50.169778678198924
diff --git a/index/obwahl_ffm_stichwahl_2023/ffm_zuordnung_wahllokale.csv b/index/obwahl_ffm_stichwahl_2023/ffm_zuordnung_wahllokale.csv
new file mode 100644
index 0000000000000000000000000000000000000000..c673346f90a2723d028487a82298881b49dd4ceb
--- /dev/null
+++ b/index/obwahl_ffm_stichwahl_2023/ffm_zuordnung_wahllokale.csv
@@ -0,0 +1,576 @@
+"nr","name","ortsteilnr"
+"01001","010-01",1
+"01002","010-02",1
+"04001","040-01",2
+"07001","070-01",2
+"08001","080-01",2
+"09001","090-01",10
+"10001","100-01",4
+"10002","100-02",4
+"11001","110-01",4
+"11002","110-02",4
+"12001","120-01",6
+"12002","120-02",6
+"12003","120-03",6
+"12004","120-04",6
+"13001","130-01",7
+"13002","130-02",7
+"13003","130-03",7
+"14001","140-01",8
+"14002","140-02",8
+"14003","140-03",8
+"14004","140-04",8
+"14005","140-05",8
+"15101","151-01",10
+"15102","151-02",10
+"15103","151-03",10
+"15104","151-04",10
+"15301","153-01",11
+"15302","153-02",11
+"15401","154-01",11
+"15402","154-02",11
+"16101","161-01",11
+"16102","161-02",11
+"16103","161-03",11
+"16104","161-04",11
+"16201","162-01",11
+"16202","162-02",11
+"16203","162-03",11
+"16204","162-04",11
+"16205","162-05",11
+"16301","163-01",12
+"16302","163-02",12
+"16303","163-03",12
+"16401","164-01",11
+"16501","165-01",11
+"16502","165-02",11
+"16503","165-03",11
+"16504","165-04",11
+"17001","170-01",4
+"17002","170-02",4
+"17003","170-03",4
+"18001","180-01",4
+"18002","180-02",4
+"18003","180-03",4
+"19101","191-01",5
+"19102","191-02",5
+"19103","191-03",5
+"19201","192-01",5
+"19202","192-02",5
+"20101","201-01",6
+"20102","201-02",6
+"20201","202-01",6
+"20202","202-02",6
+"20301","203-01",6
+"20302","203-02",6
+"20303","203-03",6
+"20304","203-04",6
+"21101","211-01",6
+"21102","211-02",6
+"21103","211-03",6
+"21201","212-01",6
+"21202","212-02",6
+"21203","212-03",6
+"21301","213-01",6
+"22101","221-01",7
+"22102","221-02",7
+"22103","221-03",7
+"22201","222-01",7
+"22202","222-02",7
+"22203","222-03",7
+"22204","222-04",7
+"23001","230-01",7
+"23002","230-02",7
+"23003","230-03",7
+"24001","240-01",9
+"24002","240-02",9
+"25101","251-01",8
+"25102","251-02",8
+"25103","251-03",8
+"25104","251-04",8
+"25201","252-01",8
+"25202","252-02",8
+"25203","252-03",8
+"25204","252-04",8
+"25205","252-05",8
+"26101","261-01",8
+"26102","261-02",8
+"26103","261-03",8
+"26201","262-01",33
+"26202","262-02",33
+"27101","271-01",9
+"27102","271-02",9
+"27201","272-01",9
+"27202","272-02",9
+"27203","272-03",9
+"27204","272-04",9
+"27205","272-05",9
+"28101","281-01",9
+"28102","281-02",9
+"28103","281-03",9
+"28201","282-01",9
+"28202","282-02",9
+"28203","282-03",9
+"29001","290-01",9
+"29002","290-02",9
+"30001","300-01",13
+"30002","300-02",13
+"32101","321-01",13
+"32102","321-02",13
+"32103","321-03",13
+"32201","322-01",13
+"32202","322-02",13
+"32203","322-03",13
+"32204","322-04",13
+"32205","322-05",13
+"32301","323-01",14
+"32302","323-02",14
+"32303","323-03",14
+"32304","323-04",14
+"32305","323-05",14
+"32306","323-06",14
+"32401","324-01",13
+"32402","324-02",13
+"32403","324-03",13
+"32404","324-04",13
+"32601","326-01",14
+"32602","326-02",14
+"32603","326-03",14
+"33101","331-01",13
+"33102","331-02",13
+"33103","331-03",13
+"33201","332-01",14
+"33202","332-02",14
+"33203","332-03",14
+"33204","332-04",14
+"33205","332-05",14
+"33206","332-06",14
+"34101","341-01",12
+"34102","341-02",12
+"34103","341-03",12
+"34201","342-01",12
+"34202","342-02",12
+"34301","343-01",12
+"34401","344-01",12
+"35001","350-01",12
+"35002","350-02",12
+"35003","350-03",12
+"35004","350-04",12
+"36101","361-01",12
+"36102","361-02",12
+"36103","361-03",12
+"36201","362-01",12
+"36202","362-02",12
+"36203","362-03",12
+"36204","362-04",12
+"37101","371-01",17
+"37102","371-02",17
+"37103","371-03",17
+"37104","371-04",17
+"37105","371-05",17
+"37106","371-06",17
+"37201","372-01",17
+"37202","372-02",17
+"37203","372-03",17
+"37204","372-04",17
+"37205","372-05",17
+"37206","372-06",17
+"38001","380-01",16
+"38002","380-02",16
+"38003","380-03",16
+"38004","380-04",16
+"38005","380-05",16
+"38006","380-06",16
+"39001","390-01",34
+"39002","390-02",34
+"39003","390-03",34
+"39004","390-04",34
+"39005","390-05",34
+"39006","390-06",34
+"39007","390-07",34
+"40101","401-01",20
+"40102","401-02",20
+"40103","401-03",20
+"40104","401-04",20
+"40105","401-05",20
+"40201","402-01",20
+"40202","402-02",20
+"40203","402-03",20
+"40204","402-04",20
+"41001","410-01",21
+"41002","410-02",21
+"41003","410-03",21
+"42201","422-01",22
+"42202","422-02",22
+"42203","422-03",22
+"42301","423-01",22
+"42302","423-02",22
+"42401","424-01",22
+"42501","425-01",22
+"42601","426-01",22
+"42602","426-02",22
+"43101","431-01",24
+"43102","431-02",24
+"43103","431-03",24
+"43104","431-04",24
+"43105","431-05",24
+"43201","432-01",24
+"43202","432-02",24
+"43203","432-03",24
+"43204","432-04",24
+"44101","441-01",26
+"44102","441-02",26
+"44103","441-03",26
+"44104","441-04",26
+"44105","441-05",26
+"44106","441-06",26
+"44107","441-07",26
+"44108","441-08",26
+"44201","442-01",27
+"44202","442-02",27
+"44203","442-03",27
+"44204","442-04",27
+"45101","451-01",28
+"45102","451-02",28
+"45103","451-03",28
+"45104","451-04",28
+"45201","452-01",28
+"45202","452-02",28
+"45203","452-03",28
+"45204","452-04",28
+"46101","461-01",29
+"46102","461-02",29
+"46103","461-03",29
+"46104","461-04",29
+"46105","461-05",29
+"46106","461-06",29
+"46107","461-07",29
+"46201","462-01",27
+"46202","462-02",27
+"46203","462-03",27
+"46204","462-04",27
+"46205","462-05",27
+"46206","462-06",27
+"46301","463-01",27
+"46302","463-02",27
+"47001","470-01",30
+"47002","470-02",30
+"47003","470-03",30
+"47004","470-04",30
+"47005","470-05",30
+"47006","470-06",30
+"47007","470-07",30
+"48101","481-01",25
+"48102","481-02",25
+"48103","481-03",25
+"48201","482-01",25
+"48202","482-02",25
+"48203","482-03",25
+"48301","483-01",25
+"49101","491-01",31
+"49102","491-02",31
+"49103","491-03",31
+"49201","492-01",47
+"49202","492-02",47
+"49203","492-03",47
+"49204","492-04",47
+"50001","500-01",32
+"50002","500-02",32
+"51001","510-01",35
+"51002","510-02",35
+"51003","510-03",35
+"51004","510-04",35
+"52001","520-01",35
+"52002","520-02",35
+"52003","520-03",35
+"53101","531-01",18
+"53102","531-02",18
+"53103","531-03",18
+"53104","531-04",18
+"53105","531-05",18
+"53201","532-01",18
+"53202","532-02",18
+"53203","532-03",18
+"53204","532-04",18
+"53205","532-05",18
+"53206","532-06",18
+"54101","541-01",19
+"54102","541-02",19
+"54201","542-01",19
+"54202","542-02",19
+"54203","542-03",19
+"55101","551-01",19
+"55102","551-02",19
+"55201","552-01",19
+"55202","552-02",19
+"55203","552-03",19
+"56101","561-01",37
+"56102","561-02",37
+"56103","561-03",37
+"56104","561-04",37
+"56105","561-05",37
+"56201","562-01",37
+"56202","562-02",37
+"56203","562-03",37
+"56204","562-04",37
+"57001","570-01",36
+"57002","570-02",36
+"57003","570-03",36
+"58001","580-01",36
+"58002","580-02",36
+"59101","591-01",36
+"59102","591-02",36
+"60101","601-01",38
+"60102","601-02",38
+"60201","602-01",38
+"60202","602-02",38
+"60401","604-01",39
+"61101","611-01",39
+"61102","611-02",39
+"61201","612-01",39
+"61202","612-02",39
+"62101","621-01",40
+"62102","621-02",40
+"62103","621-03",40
+"62104","621-04",40
+"62201","622-01",40
+"62202","622-02",40
+"62203","622-03",40
+"63101","631-01",41
+"63102","631-02",41
+"63103","631-03",41
+"63104","631-04",41
+"63201","632-01",41
+"63202","632-02",41
+"63203","632-03",41
+"64001","640-01",42
+"64002","640-02",42
+"64003","640-03",42
+"65001","650-01",43
+"65002","650-02",43
+"65003","650-03",43
+"65101","651-01",43
+"65102","651-02",43
+"65103","651-03",43
+"65104","651-04",43
+"65105","651-05",43
+"65106","651-06",43
+"65107","651-07",43
+"66001","660-01",44
+"66002","660-02",44
+"66003","660-03",44
+"67001","670-01",45
+"67002","670-02",45
+"67003","670-03",45
+"67004","670-04",45
+"67005","670-05",45
+"67006","670-06",45
+"68001","680-01",46
+"68002","680-02",46
+"68003","680-03",46
+"68004","680-04",46
+"68005","680-05",46
+"68006","680-06",46
+"68007","680-07",46
+"68008","680-08",46
+"68009","680-09",46
+"68010","680-10",46
+90101,"901-01",1
+90201,"902-01",2
+90202,"902-02",2
+90401,"904-01",4
+90402,"904-02",4
+90403,"904-03",4
+90404,"904-04",4
+90405,"904-05",4
+90501,"905-01",5
+90502,"905-02",5
+90503,"905-03",5
+90601,"906-01",6
+90602,"906-02",6
+90603,"906-03",6
+90604,"906-04",6
+90605,"906-05",6
+90606,"906-06",6
+90607,"906-07",6
+90608,"906-08",6
+90609,"906-09",6
+90701,"907-01",7
+90702,"907-02",7
+90703,"907-03",7
+90704,"907-04",7
+90705,"907-05",7
+90706,"907-06",7
+90707,"907-07",7
+90801,"908-01",8
+90802,"908-02",8
+90803,"908-03",8
+90804,"908-04",8
+90805,"908-05",8
+90806,"908-06",8
+90807,"908-07",8
+90808,"908-08",8
+90809,"908-09",8
+90901,"909-01",9
+90902,"909-02",9
+90903,"909-03",9
+90904,"909-04",9
+90905,"909-05",9
+90906,"909-06",9
+90907,"909-07",9
+90908,"909-08",9
+90909,"909-09",9
+91001,"910-01",10
+91002,"910-02",10
+91003,"910-03",10
+91101,"911-01",11
+91102,"911-02",11
+91103,"911-03",11
+91104,"911-04",11
+91105,"911-05",11
+91106,"911-06",11
+91107,"911-07",11
+91108,"911-08",11
+91201,"912-01",12
+91202,"912-02",12
+91203,"912-03",12
+91204,"912-04",12
+91205,"912-05",12
+91206,"912-06",12
+91207,"912-07",12
+91208,"912-08",12
+91209,"912-09",12
+91210,"912-10",12
+91211,"912-11",12
+91301,"913-01",13
+91302,"913-02",13
+91303,"913-03",13
+91304,"913-04",13
+91305,"913-05",13
+91306,"913-06",13
+91307,"913-07",13
+91308,"913-08",13
+91309,"913-09",13
+91310,"913-10",13
+91401,"914-01",14
+91402,"914-02",14
+91403,"914-03",14
+91404,"914-04",14
+91405,"914-05",14
+91406,"914-06",14
+91407,"914-07",14
+91408,"914-08",14
+91409,"914-09",14
+91601,"916-01",16
+91602,"916-02",16
+91603,"916-03",16
+91701,"917-01",17
+91702,"917-02",17
+91703,"917-03",17
+91704,"917-04",17
+91705,"917-05",17
+91706,"917-06",17
+91801,"918-01",18
+91802,"918-02",18
+91803,"918-03",18
+91804,"918-04",18
+91805,"918-05",18
+91806,"918-06",18
+91901,"919-01",19
+91902,"919-02",19
+91903,"919-03",19
+91904,"919-04",19
+91905,"919-05",19
+92001,"920-01",20
+92002,"920-02",20
+92003,"920-03",20
+92004,"920-04",20
+92005,"920-05",20
+92101,"921-01",21
+92102,"921-02",21
+92201,"922-01",22
+92202,"922-02",22
+92203,"922-03",22
+92204,"922-04",22
+92205,"922-05",22
+92401,"924-01",24
+92402,"924-02",24
+92403,"924-03",24
+92404,"924-04",24
+92405,"924-05",24
+92501,"925-01",25
+92502,"925-02",25
+92503,"925-03",25
+92504,"925-04",25
+92601,"926-01",26
+92602,"926-02",26
+92603,"926-03",26
+92604,"926-04",26
+92701,"927-01",27
+92702,"927-02",27
+92703,"927-03",27
+92704,"927-04",27
+92705,"927-05",27
+92706,"927-06",27
+92801,"928-01",28
+92802,"928-02",28
+92803,"928-03",28
+92804,"928-04",28
+92901,"929-01",29
+92902,"929-02",29
+92903,"929-03",29
+92904,"929-04",29
+93001,"930-01",30
+93002,"930-02",30
+93003,"930-03",30
+93004,"930-04",30
+93101,"931-01",31
+93102,"931-02",31
+93201,"932-01",32
+93301,"933-01",33
+93401,"934-01",34
+93402,"934-02",34
+93403,"934-03",34
+93501,"935-01",35
+93502,"935-02",35
+93503,"935-03",35
+93504,"935-04",35
+93601,"936-01",36
+93602,"936-02",36
+93603,"936-03",36
+93701,"937-01",37
+93702,"937-02",37
+93703,"937-03",37
+93704,"937-04",37
+93801,"938-01",38
+93802,"938-02",38
+93901,"939-01",39
+93902,"939-02",39
+93903,"939-03",39
+94001,"940-01",40
+94002,"940-02",40
+94003,"940-03",40
+94004,"940-04",40
+94101,"941-01",41
+94102,"941-02",41
+94103,"941-03",41
+94104,"941-04",41
+94201,"942-01",42
+94202,"942-02",42
+94301,"943-01",43
+94302,"943-02",43
+94303,"943-03",43
+94304,"943-04",43
+94305,"943-05",43
+94401,"944-01",44
+94402,"944-02",44
+94501,"945-01",45
+94502,"945-02",45
+94503,"945-03",45
+94601,"946-01",46
+94602,"946-02",46
+94603,"946-03",46
+94604,"946-04",46
+94605,"946-05",46
+94701,"947-01",47
+94702,"947-02",47
diff --git a/index/obwahl_ffm_stichwahl_2023/kandidaten.xlsx b/index/obwahl_ffm_stichwahl_2023/kandidaten.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..ba591552f0c7414ab002742e3dedc3bb0d2c3f0f
Binary files /dev/null and b/index/obwahl_ffm_stichwahl_2023/kandidaten.xlsx differ
diff --git a/index/obwahl_ks_stichwahl_2023/config.csv b/index/obwahl_ks_stichwahl_2023/config.csv
new file mode 100644
index 0000000000000000000000000000000000000000..caf7dee9944e83f9bfe32c4d90fe39e36ae65abb
--- /dev/null
+++ b/index/obwahl_ks_stichwahl_2023/config.csv
@@ -0,0 +1,19 @@
+name,value,comment
+wahl_name,obwahl_ks_stichwahl_2023,Welche Wahl?
+stimmbezirke_url,https://votemanager-ks.ekom21cdn.de/2023-03-12/06611000/daten/opendata/Open-Data-06611000-Stichwahl-zum-Oberbuergermeister-Wahlbezirk.csv?ts=1679659542062,URL Daten-CSV Stimmbezirke
+wahlberechtigt,147463,Anzahl Wahlberechtigte lt. Wahlamt (kommt Sonntag)
+briefwahl,39092,Anzahl Briefwahlstimmen lt. Wahlamt (kommt Sonntag)
+top,1,Anzahl der Top-Kandidaten in den Darstellungen
+kandidaten_fname,kandidaten.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+zuordnung_fname,wahlbezirke.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+stadtteile_fname,ks-stadtteile.csv,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+startdatum,2023-03-26 16:00:00,Beginn der Auszählung
+top_id,VGUTe,
+karte_sieger_id,KqTwC,DUMMY
+karte_kand1_id,7xFA2,Schoeller Zustimmung
+karte_kand2_id,0na1W,Carqueville
+tabelle_alle_id,ViRl3,
+hochburgen_id,HGEM0,
+tabelle_stadtteile_id,mr0FY,
+social1_id,VGUTe,5 stärkste
+social2_id,S9BbQ,Alle Stimmen angepasst
diff --git a/index/obwahl_ks_stichwahl_2023/config_test.csv b/index/obwahl_ks_stichwahl_2023/config_test.csv
new file mode 100644
index 0000000000000000000000000000000000000000..8c2e436731078e59a1d0619b113f72e81e26311d
--- /dev/null
+++ b/index/obwahl_ks_stichwahl_2023/config_test.csv
@@ -0,0 +1,23 @@
+name,value,comment
+wahl_name,obwahl_ks_2023,Welche Wahl?
+stimmbezirke_url,https://www.eggers-elektronik.de/files/test.csv,URL Daten-CSV Stimmbezirke
+wahlberechtigt,147463,Anzahl Wahlberechtigte lt. Wahlamt (kommt Sonntag)
+briefwahl,39092,Anzahl Briefwahlstimmen lt. Wahlamt (kommt Sonntag)
+kandidaten_fname,kandidaten.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+zuordnung_fname,wahlbezirke.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+stadtteile_fname,ks-stadtteile.csv,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+startdatum,2023-01-01 18:00:00 CET,Beginn der Auszählung
+top,6,
+top_id,028Fp,
+karte_sieger_id,7gscI,
+karte_kand1_id,hM9SE,Schöller
+karte_kand2_id,07CR4,Carqueville
+karte_kand3_id,whgzp,Kühne-Hörmann
+karte_kand4_id,5CpYu,Bock
+karte_kand5_id,pc6vH,Käufler
+karte_kand6_id,sEJhl,Geselle
+tabelle_alle_id,PLwHI,
+hochburgen_id,Im2PX,
+tabelle_stadtteile_id,BM8kD,
+social1_id,028Fp,5 stärkste
+social2_id,S9BbQ,Alle Stimmen angepasst
diff --git a/index/obwahl_ks_stichwahl_2023/kandidaten.xlsx b/index/obwahl_ks_stichwahl_2023/kandidaten.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..23b72f52458ae4c0857c3f7df96ca09355ad3c48
Binary files /dev/null and b/index/obwahl_ks_stichwahl_2023/kandidaten.xlsx differ
diff --git "a/index/obwahl_ks_stichwahl_2023/ks-stadtteile-mit-d\303\266nchelandschaft.csv" "b/index/obwahl_ks_stichwahl_2023/ks-stadtteile-mit-d\303\266nchelandschaft.csv"
new file mode 100644
index 0000000000000000000000000000000000000000..55d79178ae67d8e7dfaf41be60ed3a8967e9e4d9
--- /dev/null
+++ "b/index/obwahl_ks_stichwahl_2023/ks-stadtteile-mit-d\303\266nchelandschaft.csv"
@@ -0,0 +1,25 @@
+nr,name,lon,lat
+1,Mitte,9.4894928677,51.3151211858
+2,Südstadt,9.4882009490,51.3005087449
+3,Vorderer Westen,9.4640787357,51.3163544480
+4,Wehlheiden,9.4654088136,51.3056032748
+5,Bad Wilhelmshöhe,9.4011506791,51.3116605680
+6,Brasselsberg,9.3972256665,51.2912775844
+7,Süsterfeld-Helleböhn,9.4469292484,51.2964342813
+8,Harleshausen,9.4151173612,51.3391059157
+9,Kirchditmold,9.4391198473,51.3249890808
+10,Rothenditmold,9.4771802265,51.3287075207
+11,Nord-Holland,9.4937754140,51.3323742823
+12,Philippinenhof-Warteberg,9.4941950806,51.3457423064
+13,Fasanenhof,9.5123139521,51.3347662999
+14,Wesertor,9.5148784085,51.3221887268
+15,Wolfsanger-Hasenhecke,9.5457989433,51.3396806416
+16,Bettenhausen,9.5384097499,51.3044330002
+17,Forstfeld,9.5418612035,51.2915878853
+18,Waldau,9.5100487565,51.2868080527
+19,Niederzwehren,9.4709628876,51.2783155707
+20,Oberzwehren,9.4443563894,51.2747255123
+21,Nordshausen,9.4245341169,51.2790202220
+22,Jungfernkopf,9.4607713668,51.3409314760
+23,Unterneustadt,9.5160276635,51.3119155114
+25,Dönchelandschaft (ortsbezirksfrei),9.4320779328,51.2918551834
diff --git a/index/obwahl_ks_stichwahl_2023/ks-stadtteile.csv b/index/obwahl_ks_stichwahl_2023/ks-stadtteile.csv
new file mode 100644
index 0000000000000000000000000000000000000000..ddb583ea89f10e3957368e62487ab0c38976dd13
--- /dev/null
+++ b/index/obwahl_ks_stichwahl_2023/ks-stadtteile.csv
@@ -0,0 +1,24 @@
+nr,name,lon,lat
+1,Mitte,9.4894928677,51.3151211858
+2,Südstadt,9.4882009490,51.3005087449
+3,Vorderer Westen,9.4640787357,51.3163544480
+4,Wehlheiden,9.4654088136,51.3056032748
+5,Bad Wilhelmshöhe,9.4011506791,51.3116605680
+6,Brasselsberg,9.3972256665,51.2912775844
+7,Süsterfeld-Helleböhn,9.4469292484,51.2964342813
+8,Harleshausen,9.4151173612,51.3391059157
+9,Kirchditmold,9.4391198473,51.3249890808
+10,Rothenditmold,9.4771802265,51.3287075207
+11,Nord-Holland,9.4937754140,51.3323742823
+12,Philippinenhof-Warteberg,9.4941950806,51.3457423064
+13,Fasanenhof,9.5123139521,51.3347662999
+14,Wesertor,9.5148784085,51.3221887268
+15,Wolfsanger-Hasenhecke,9.5457989433,51.3396806416
+16,Bettenhausen,9.5384097499,51.3044330002
+17,Forstfeld,9.5418612035,51.2915878853
+18,Waldau,9.5100487565,51.2868080527
+19,Niederzwehren,9.4709628876,51.2783155707
+20,Oberzwehren,9.4443563894,51.2747255123
+21,Nordshausen,9.4245341169,51.2790202220
+22,Jungfernkopf,9.4607713668,51.3409314760
+23,Unterneustadt,9.5160276635,51.3119155114
diff --git a/index/obwahl_ks_stichwahl_2023/parteien-kommunalwahl.xlsx b/index/obwahl_ks_stichwahl_2023/parteien-kommunalwahl.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..5b382a6653d2514848c5bbbe8651c2b62bdb5d04
Binary files /dev/null and b/index/obwahl_ks_stichwahl_2023/parteien-kommunalwahl.xlsx differ
diff --git a/index/obwahl_ks_stichwahl_2023/wahlbezirke.xlsx b/index/obwahl_ks_stichwahl_2023/wahlbezirke.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..83f1863a5b2b328129005c5cc33f5690644392c6
Binary files /dev/null and b/index/obwahl_ks_stichwahl_2023/wahlbezirke.xlsx differ
diff --git a/index/obwahl_of_2023/config_test.csv b/index/obwahl_of_2023/config_test.csv
new file mode 100644
index 0000000000000000000000000000000000000000..2284df5cc637bf3620610451f7dd1a9fb0dd714a
--- /dev/null
+++ b/index/obwahl_of_2023/config_test.csv
@@ -0,0 +1,22 @@
+name,value,comment
+wahl_name,obwahl_of_2023,Welche Wahl?
+stimmbezirke_url,./testdaten/test.csv,URL Daten-CSV Stimmbezirke
+wahlberechtigt,74279,Anzahl Wahlberechtigte lt. Wahlamt (kommt Sonntag)
+briefwahl,30000,Anzahl Briefwahlstimmen lt. Wahlamt (kommt Sonntag)
+top,4,Anzahl der Top-Kandidaten in den Darstellungen
+kandidaten_fname,of_kandidaten.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+zuordnung_fname,of_zuordnung.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+stadtteile_fname,of_stadtteile.xlsx,"XLSX oder CSV, wird im Ordner <wahl_name> erwartet"
+startdatum,2023-09-15 16:00:00,Beginn der Auszählung
+top_id,uNQX6,„Toptorte“
+karte_sieger_id,08FFZ,
+karte_kand1_id,FSFX1,Schwenke (SPD)
+karte_kand2_id,j3E4e,Bruszynski (CDU)
+karte_kand3_id,yf9Z3,Erinç-Çiftçi (LINKE)
+karte_kand4_id,XAnsE,Schaper-Herget (Ofa)
+tabelle_alle_id,rack2,Alle Stimmen mit Balken
+hochburgen_id,ZnhAX,"Tabelle stärkste, schwächste"
+tabelle_stadtteile_id,PNtz1,
+social1_id,8Fckl,5 stärkste
+social2_id,S9BbQ,Alle Stimmen angepasst
+stadtteil_str,Wahllokal,ggf. Ersatz für die Bezeichnung „Stadtteil“
diff --git a/index/obwahl_of_2023/of_kandidaten.xlsx b/index/obwahl_of_2023/of_kandidaten.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..1c632a842daa70acd6c450ee16e0ea4a300e9ef9
Binary files /dev/null and b/index/obwahl_of_2023/of_kandidaten.xlsx differ
diff --git a/index/obwahl_of_2023/of_stadtteile.xlsx b/index/obwahl_of_2023/of_stadtteile.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..be9f9dd629346671b1841a137e84b6fa2ace5841
Binary files /dev/null and b/index/obwahl_of_2023/of_stadtteile.xlsx differ
diff --git a/index/obwahl_of_2023/of_zuordnung.xlsx b/index/obwahl_of_2023/of_zuordnung.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..4c0e07219a0506b429e75fb0b3a4972187f395a7
Binary files /dev/null and b/index/obwahl_of_2023/of_zuordnung.xlsx differ
diff --git a/obwahlen.Rproj b/obwahl.Rproj
similarity index 100%
rename from obwahlen.Rproj
rename to obwahl.Rproj
diff --git a/sitemap.md b/sitemap.md
index 8c560576c32f7dc9354be1821c7d8355875203f4..1f3884f1017cdac62ef748944b8878ee04acddca 100644
--- a/sitemap.md
+++ b/sitemap.md
@@ -1,5 +1,7 @@
 # Was ist wo? Die Sitemap für das Projekt
 
+(Stand: 9.9.2023)
+
 ## Programme
 ...liegen im Ordner "R":