6. Hochrechnung zum Testen: FRW14 - Fakeratswahl 2014¶
Die Wahl FRW14 ist eine wohldefinierte Hochrechnung von Testen und Entwickeln. Die verwendet die Ergebnisse und Konfiguration der NRW13.
What | Name | Id |
---|---|---|
Hochrechnung | FRW14 | 5 |
Alte Wahl | NRW 2008 | 1 |
Fiktive Basis | Fikt FRW14 | 30 |
Ergebnis | FRW14 | 31 |
Für das Ergebnis wird das Ergebnis der NRW13 genommen. Als fiktive Basis wird das Ergebnis der NRW13 genommen, wobei die Listen 1 und 2 vertauscht werden. Das Ergebnis der NRW13 ist in als WahlID 5 gespeichert.
6.1. Eingabelisten¶
Antretende Parteien: SPÖ, ÖVP, FPÖ, BZÖ, Grüne, KPÖ, Neos, Pirat, Frank, CPÖ, Wandl, EUAUS, M, SLP
Partei | SPÖ | ÖVP | FPÖ | BZÖ | Grüne | KPÖ | Neos | Pirat | Frank | CPÖ | Wandl | EUAUS | M | SLP |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ParteiID | 1 | 2 | 3 | 6 | 4 | 5 | 12 | 8 | 7 | 17 | 24 | 26 | 25 | 27 |
ListenID | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
Bundesweit | SPÖ | ÖVP | FPÖ | BZÖ | Grüne | KPÖ | Neos | Pirat | Frank | CPÖ | Wandl | EUAUS | M | SLP |
Vergleich08 | SPÖ | ÖVP | FPÖ | BZÖ | Grüne | KPÖ | DC | LINKE | ||||||
BGLD | SPÖ | ÖVP | FPÖ | BZÖ | Grüne | KPÖ | Neos | Pirat | Frank | CPÖ | ||||
KTN | SPÖ | ÖVP | FPÖ | BZÖ | Grüne | KPÖ | Neos | Pirat | Frank | |||||
NOE | SPÖ | ÖVP | FPÖ | BZÖ | Grüne | KPÖ | Neos | Pirat | Frank | |||||
OOE | SPÖ | ÖVP | FPÖ | BZÖ | Grüne | KPÖ | Neos | Pirat | Frank | CPÖ | Wandl | |||
SBG | SPÖ | ÖVP | FPÖ | BZÖ | Grüne | KPÖ | Neos | Pirat | Frank | |||||
STMK | SPÖ | ÖVP | FPÖ | BZÖ | Grüne | KPÖ | Neos | Pirat | Frank | CPÖ | ||||
Tirol | SPÖ | ÖVP | FPÖ | BZÖ | Grüne | KPÖ | Neos | Pirat | Frank | |||||
VBG | SPÖ | ÖVP | FPÖ | BZÖ | Grüne | KPÖ | Neos | Pirat | Frank | CPÖ | EUAUS | M | ||
Wien | SPÖ | ÖVP | FPÖ | BZÖ | Grüne | KPÖ | Neos | Pirat | Frank | CPÖ | EUAUS | M | SLP |
6.2. Vorbereitung der alten Wahl¶
Jede Wahl hat eine eigenes Python Modul wsgi.wahlen.name
. Für die NRW13 ist das die NRW08.
Ist das da Modul wsgi.wahlen.nrw08
. Wenn man Glück hat ist alles von der letzten Wahl noch da:
cd /opt/hr/wsgi/wahlen
mkdir nrw08
touch nrw08/__init__.py
touch nrw08/prepare.py
Die Datei __init__.py
macht aus dem Verzeichnis ein Python Modul und in wsgi.wahlen.nrw08.prepare
wird die Wahl
selbst vorbereitet. Die Logik steckt in der Funktion prepare
.
Dh in der Datei nrw08/prepare.py
muss eine Funktion namens prepare
vorhanden sein. Diese wird ausgeführt, sobald
der Befehl:
hrcli prepare wahl nrw08
ausgeführt wird.
Das Anlegen einer Wahl läuft grundsätzlich immer nach dem gleichen Schema ab:
- Anlegen der Wahl
- Anlegen etwaiger neuer Parteien
- Definieren der Listenplätze, mit Berücksichtigung der Bundesländer
- Einspielen der Ergebnisse bei der alten Wahl
- Vorbereitung der UWS (Urnenwahlsummen). Diese Gemeinden enden auf 98 (analog zu den Wahlkarten) und bilden das Gegenstück zu den Wahlkarten. Das wir die Wahlkarten nun direkt rechnen, werden die Urnenwahlergebnisse in eine eine Gemeinde und die Wahlkarten in einen eigene Gemeinde, zB 10098 und 10099 gespielt und das Gesamtwergebnis ist dann die Hochrechnung über diese beiden Gemeinden. Dass 10098 und 10099 ihrerseits selbst Hochrechnungen sind ist irrelevant
- Vorbereitung der Wahlkartengemeinden. Analog zu den UWS müssen die WK aus dem BMI-Excel genommen und eingespielt werden. Das muss zT manuell gemacht werden, weil die Listenreihenfolge der Wahlkarten nicht mit der Reihenfolge an der Urne übereinstimmen muss.
Diese Punkte werden der Reihe nach in prepare abgearbeitet.
” Prepare Wahl NR08
-
wsgi.wahlen.nrw08.prepare.
export_existing_ergebnisse
(path)[Quellcode]¶ Die bestehenden Einspielfiles aus 2008 haben die aktuellen Gemeindezusammenlegungen und Trennungen nicht berücksichtigt. Beim Wieder-drübergehen über die NRW08 muss das Ergebnis neu exportiert werden. Bei Gemeindezusammenlegungen werden alle Ergebnisse in der Datenbank korrekt adaptiert.
Parameter: path – Outputfile
-
wsgi.wahlen.nrw08.prepare.
prepare
(delete_if_exists=False)[Quellcode]¶ MAIN - prepare für die NRW08. Ruft ihrerseite die anderen prepares auf
Parameter: delete_if_exists – Lösche die Wahl falls es sie schon gibt
-
wsgi.wahlen.nrw08.prepare.
prepare_eingabelisten
(wahl)[Quellcode]¶ Erstellt die EingabeListen für die Wahl. Das ist die Reihenfolge, wie sie am Stimmzettel stehen und demzufolge via BMI gemeldet werden. Diese kann je nach Bundesland unterschiedlich sein. Die Hauptreihenfolge beinhaltet alle Listen und sieht (meist) so aus wie das BMI meldet. Die EingabeListen können je Bundesland unterschiedlich sein. Wenn BL=0 oder es eh nur ein BL gibt, ist das die Hauptreihenfolge.
Parameter: wahl – Für Welche Wahl werden die Listen angelegt
-
wsgi.wahlen.nrw08.prepare.
prepare_ergebnisse
(wahl, importfile)[Quellcode]¶ Die Gemeindeergebnisse liegen im richtigen Format in
/opt/hr/wahlen/nrw08/gemeindeergebnisse.in
.Parameter: wahl – wahl
-
wsgi.wahlen.nrw08.prepare.
prepare_uws
(wahl)[Quellcode]¶ Erstellt Urnenwahlsummen (UWS) Ergebnisse. Die GKZs der UWS enden auf 98, die der Wahlkarten auf 99. Die UWS eines Bezirks, Landes oder des Bundes sind die Urnenwahlergebnisse der entsprechenden Ebenen. Mit der vermehrten Nutzung der Eahlkarten und deren Berücksichtigung in der HR wurden die UWS eingeführt. Die QA liefert ein Ergebnise für die UWS und die WK und diese Ergebnisse werden in die jeweils korrekten GKZs geschrieben. Dann kann eine einfache HR über diese beiden GKZs gemacht werden und man hat das Gesamtergebnis.
-
wsgi.wahlen.nrw08.prepare.
prepare_wahl
(delete_if_exists=False)[Quellcode]¶ Return Das
wsgi.models.Wahl
for die Wahl. Es wird angelegt falls es noch nicht existiert.Parameter: delete_if_exists – Falls die Wahl schon existiert, wird sie zuerst gelöscht Rückgabe: das Wahl-Objekt
-
wsgi.wahlen.nrw08.prepare.
prepare_wahlkarten
()[Quellcode]¶ Die Wahlkarten sind aus dem Ergebnisexcel des BMI genommen, manuell aufbereitet etc. Vorhandene GemeindeErgebnisse der Wahl für die Bundes- und LandesWK werden zuerst gelöscht. Danach werden die aufbereiteten Ergebnisse eingesepielt. Obacht auf die Reihenfolge! Alle Gemeindeergebnisse müssen in der EingabeHauptrreihenfolge eingespielt werden. Das BMI sortiert hier gerne nach Anzahl der Wahllkartenstimmen. Damit haben in diesem Beispiel die Grünen die FPÖ überholt.
6.3. Vorbereitung der neuen Wahl¶
Genauso wie die alte. Siehe wsgi.wahlen.frw14
6.4. Vorbereitung der Hochrechnung¶
Die alte und die neue Wahl sind vorbereitet - nun kommt die Hochrechnung selbst:
cd /opt/hr/wsgi/hochrechnungen
mkdir frw14
touch frw14/__init__.py
touch frw14/prepare.py
Tip: Einfach die letzte Hochrechnung kopieren...