Instructies en scripts om EML verkiezingsuitslagen die de Kiesraad publiceert te verrijken met stembureaulocaties van https://WaarIsMijnStemlokaal.nl/data.
- https://github.com/bwbroersma/csv2json
- clone the repo,
cdinto it and runcargo build
- clone the repo,
- jq
- xsltproc
-
Maak een nieuwe
stm_lookup.jsonenstm_lookup2.jsonop basis van de stembureaudata (.csv) van 'Waar is mijn stemlokaal' (hieronder wordt als voorbeeld de.csvvan de 2021TK verkiezingen gebruikt https://ckan.dataplatform.nl/datastore/dump/eb2c1546-7f8d-41d4-9719-61b53b6d2111):cat eb2c1546-7f8d-41d4-9719-61b53b6d2111.csv | <PATH_TO_CSV2JSON>/target/debug/csv2json -t -l | jq -s 'map({N:.["Nummer stembureau"],S:.["Naam stembureau"],P:.["Postcode"],L:.["Plaats"],X:[.["Longitude"],.["Latitude"]],G:.["CBS gemeentecode"]})|group_by(.G)|map({key:.[0].G,value:map({key:.N|tostring,value:.})|group_by(.key)|map({key:.[0].key, value:map(.value|{S,P,L,X})})|from_entries})|from_entries' > stm_lookup.jsoncat eb2c1546-7f8d-41d4-9719-61b53b6d2111.csv | <PATH_TO_CSV2JSON>/target/debug/csv2json -t -l | jq -s 'map({N:.["Nummer stembureau"],S:.["Naam stembureau"],P:.["Postcode"],L:.["Plaats"],X:[.["Longitude"],.["Latitude"]],G:.["CBS gemeentecode"]})|group_by(.G)|map({key:.[0].G,value:map({key:.P|tostring,value:.})|group_by(.key)|map({key:.[0].key, value:map(.value|{S,L,X})|unique})|from_entries})|from_entries' > stm_lookup2.json
-
Plaats de
.eml.xmlbestanden van alle gemeenten in deemlfolder -
Run
./eml2geojson.sh(duurt minuutje), waarna alle data per gemeente als.geojsonbestanden in degeojsonfolder terecht komen -
Run
./add_locations_to_geojson.sh(duurt paar minuten), waarna alles.geojsonbestanden verrijkt worden met locaties en in degeojson_with_loc/geojsonfolder terechtkomen -
Run
./create_final_geojson.sh, waarna alles.geojsonbestanden samengevoegd worden in 1 bestand:verkiezingsuitslagenlocaties.geo.json -
Run
./stembureaus_zonder_loc.pyomstembureaus_zonder_loc.csvte maken waar stembureaus in staan die geen locaties hebben; deze kunnen via bv. een cloud spreadsheet door een team ingevuld worden -
Download het handmatig aangevulde
stembureaus_zonder_loc.csvbestand en noem hetstembureaus_zonder_loc_filled.csven run./csv_locations2geojson.pywaarna de locaties worden toegevoegd en opgeslagen inverkiezingsuitslagenlocaties_filled.geo.json
-
Volgens mij haalden we eerder de opkomstcijfers eruit? (was dat omdat die enkel deels in de CSV zaten en niet in de EML? dus niet relevant voor recente verkiezingen?)
grep -v ' "Opkomst' verkiezingsuitslagenlocaties_filled.geo.json > verkiezingsuitslagenlocaties_filled_zonder_opkomst.geo.json
-
Soms geeft
verkiezingsuitslagenlocaties.geo.jsonerrors. Bekijk dan het.jsonbestand dat problemen geeft. Het kan bv. zijn dat er bij sommige stembureau 'description'-velden tabs ipv spaties gebruikt worden. Pas dat dan aan.