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":