Använd öppna data del 1 – Grannsämja.nu

Att använda öppna data är inte svårt, men ändå så är det största problemet med öppna data idag att den inte används. Till stor del är detta på grund av att de som publicerar öppna data i de flesta fall helt bortser, eller underskattar, värdet av att marknadsföra sig till de som kan använda datan. Men vi som har den tekniska kunskapen som ofta krävs har också ett ansvar. Vi bör experimentera, leka och testa vad man kan göra med tillgänglig öppna data. Jag har gjort några sådana små experiment och tänkte dela med mig av hur jag har gjort det. Först ut är Grannsämja.nu och i ett senare inlägg så kommer jag att beskriva hur jag har använt Koladas API för Öppna Helsingborg.

Deprimerande valresultat

Resultatet av EU-valet gjorde mig deprimerad. I mitt valdistrik så röstade drygt 20% på Sverigedemokraterna samtidigt som minst 20% av invånarna har utländsk bakgrund. Hur kan man tycka så illa om sina grannar (som man antagligen aldrig pratat med) så att man röstar på ett parti som snällt sagt är invandrarkritiskt? Vad säger det om grannsämjan i mitt valdistrikt? Vad säger det om grannsämjan i vårt land?

Av ren nyfikenhet så började jag gräva efter vilken data som fanns om valresultatet och om svenska folkets bakgrund och jag hittade hur mycket som helst. Valmyndigheten publicerar detaljerade filer med valresultatet. Statistiska centralbyråns statistikdatabas innehåller mycket statistik om utländsk/svensk bakgrund. Jag valde att definiera “utländsk bakgrund” som att man själv är född utomlands eller om man har minst en förälder som är det.

Så byggde jag grannsämja.nu

Först laddade jag ner valresultat och statistik om befolkningens bakgrund från Valmyndigheten respektive SCB. Sedan skrev jag et enkelt script (en rake task i ruby) som gick igenom filerna och sparade det jag var intresserad av i en databas. När jag väl hade kommunvis data om hur mycket röster SD fick, hur stor befolkningen är och hur många som har utländsk bakgrund så skrev jag ytterligare ett litet script som genererade en markdownfil för varje kommun för Jekyll.

Med Jekyll kan man generera en statisk webbsajt (dvs bara ren HTML/CC/JS, ingen PHP eller likande på servern) och det passar detta projekt perfekt eftersom jag vill ha så lite underhåll som möjligt när det väl var klart (WordPress eller liknande är ju bra, men inte underhållsfria). Sedan var det bara att använda lite jQuery (mest för kommunsökningen) och Charts.js (för snygga cirkeldiagram), generera sajten ifrån Jekyll och ladda upp till servern. Ett stort tack till Kemie som hjälpte mig att få sajten att se snygg ut (CSS är inte min vän). Ni får ursäkta om jag inte delar med mig av min kod, men den är ett fult snabbhack så jag tror inte ni vill se den.

Har man väl lite programmeringskunskap så är det inte svårt att använda öppna data, och det finns väldigt mycket öppna data (för att inte tala om kommersiella APIer) tillgängligt. Har ni en ide så sätt igång. Gillar ni inte grannsämja.nu så gör en egen sajt med ännu mer eller kanske annorlunda data.

Hur har du använt öppna data?