Cartografie electorală în linie de comandă - Partea 0: Introducere
Motivație și scop
2019 a fost un an fierbinte în istoria recentă a României. Iar unul din evenimentele principale ale acestui an au fost alegerile prezidențiale din luna noiembrie. Evident, procesul electoral are o importantă dimensiune geospațială iar înțelegerea corectă și completă a rezultatelor se poate face doar ținînd cont de acest aspect, utilizînd mijloace specifice cartografiei. Demersul de față vine ca răspuns la o provocare foarte interesantă lansată pe Twitter sub eticheta #HartaPrezidentiale2019, provocare anunțată și pe lista de discuții a geo-spatial.org. Considerăm că acest demers are potențialul de a dinamiza comunitatea geospațială românească în a crea reprezentări cartografice statice sau interactive ce ne pot ajuta să înțelegem mai bine evenimetele din jurul nostru. Materialul de față a fost posibil datorită:
- Disponibilității în format deschis a datelor cu privire la alegeri (BEC a publicat rezultatelor detaliate înregistrate în cele două tururi ale alegerilor pe o platformă dedicată;) și a celor geospațiale suport (ex: locațiile secțiilor de votare, limitele unităților administrativ teritoariale, județe, etc.);
- Disponibilității unor foarte puternice soluții software open source ce aduc oricui posibilitatea de a face astfel de prelucrări și reprezentări.
Demersul are două scopuri:
- Prezentarea pas cu pas a unor tehnici de lucru în prelucrarea datelor și obținerea de reprezentări cartografice relevante;
- Sublinierea importanței faptului că o înțelegere comprehensivă a rezultatului acestui acestui exercițiu civic de bază, alegerile libere, nu se poate face doar doar prin seaca constatare a rezultatului la nivel de țară județ sau chiar UAT ci mergînd și analizînd mai în detaliu rezultatele, eventual prin coroborarea acestora cu alte surse de informații (ex: statistici demografice). Un exemplu foarte elocvent a celor exprimate anterior este reprezentat, în opinia noastră, de către analiza cartografică a ultimelor alegeri prezidențiale americane, creată de către Nick Knudson sub titul "Land Doesn’t Vote, People Do".
Exemplu rezultate turul 2 la nivel de secție de votare.
Structura tutorialului și abordarea tehnică
Pentru o parcurgere mai ușoară, materialul a fost sctructurat în mai multe părți logice. Acestea detaliază fiecare pas parcurs de la descărcarea datelor, prelucrarea lor primară, crearea datelor intermediare și a celor finale. Am ales să fac toată partea de prelucrare a datelor în linie de comandă. Acest lucru poate fi intimidant pentru utilizatorii mai puțin tehnici. Însă, cei ce vor fi curioși să treacă prin toate capitolele materialului vor descoperi că "dracul nu este chiar atît de negru" și că puterea pe care acest mediu de lucru ne-o oferă, merită să ieșim din zona de confort și să experimentăm un flux de lucru flexibil și ușor de automatizat. În mod voit, comenzile au fost rulate separat, pentru ca fiecare pas să fie simplu de înțeles. Altfel, multe din ele (mai ales interogările SQL) ar fi putut grupate, compactînd codul și reducînd numărul de rezultate intermediare salvat. Chiar și așa, nu ne îndoim de faptul că cineva cu cunoștințe mai bune de PostgreSQL/Post ar fi putut scrie acele interogări mai mai elegant și mai eficient. Rezultatele finale au fost publicate pe web într-o formă interactivă și pot fi consultate în secțiunea "Hartă". De asemenea, cu siguranță, codul JavaScript ce alimentează harta interactivă, se putea scrie într-o manieră mult mai eficientă. Tutorialul nu detaliază și modul în care au fost realizate aceste hărți interactive dar pune la dispoziția celor interesați codul sursă a acestora. Toți pașii necesari pentru realizarea datelor au fost făcuți cu diverse aplicații geospațiale open source, cele mai importante fiind:
- GDAL/OGR - briceagul elvețian al transformării datelor geospațiale;
- PostgreSQL + PostGIS - cel mai cunoscut sistem relațional de gestiune a bazelor de date cu caracter geospațial;
- Mapshaper - un foarte versatil și puternic editor pentru datele vectoriale;
- GeoServer - server prin intermediul căruia datele geospațiale pot fi publicate prin servicii web standardizate cum ar fi WMS, WFS, WCS, etc.
Cei interesați să afle mai multe informații despre aplicațiile geospațiale cu sursă liberă (open source) pot consulta două materiale mai vechi, pe alocuri cu conținut expirat, de pe geo-spatial.org: "I. Software GIS open-source, o alternativă completă la soluțiile proprietare. Introducere, librării și toolkit-uri de dezvoltare" și II. Software GIS open-source, o alternativă completă la soluțiile proprietare. Aplicații desktop. Bineînțeles, astăzi, Internetul ne oferă mult mai multe surse de informare, mai actualizate și mai corecte.
Revenind la tutorialul nostru, fiecare comandă este inclusă în text și explicată. Cei ce doresc să parcurgă pașii și să înțeleagă rezultatul comenzilor o pot face simplu, utilizînd OSGeo Live. Evident, se poate utiliza și propriul calculator, cu precizarea că este necesară adaptarea comenzilor pentru a se potrivi cu căile de pe mașina locală și cu sistemul de operare utilizat.
Inspirație
Evident, mai nimic nu e nou pe lumea asta. În crearea datelor și dezvoltarea micii aplicații cartografice, ne-am inspirat dintr-o serie de resurse disponibile online. Cele mai importante ar fi:
- Articolul "Mapping every vote: extremely detailed maps on the 2019 election" din The Guardian;
- Postarea lui Nick Knudsen, "Land Doesn’t Vote, People Do: This Electoral Map Tells the Real Story", de pe DemCastUSA;
- Tutorialul "Interactive Charts" scris de Mehak Sachdeva;
- Răspunsul lui Darafei Praliaskouski la thread-ul "Split polygons based on polygons' area" pe lista de discuții postgis-users și postarea lui Paul Ramsey, "PostGIS Polygon Splitting", pe același subiect, de pe blog.cleverelephant.ca;
- Aplicația LPvis, dezvoltată de EOX IT Services GmbH și descrisă pe blogul lor;
Viitor
În viitorul apropiat, ne dorim să integrăm datele/aplicația cu un demers mai vechi al geo-spatial.org: politicalcolours.ro.