SOUernas geografi 2

För några månader sedan extraherade jag alla ortsnamn ur Statens offentliga utredningar i ett försök att skapa en bild av utredningarnas geografiska ”räckvidd”. Men jag körde fast när det kom till att visualisera denna datamängd. Jag visste inte hur jag skulle gå vidare för att lägga ”data på karta”.

Men under sommaren har jag haft som hobbyprojekt att lära mig programmeringsspråket Python. Jag kan verkligen rekommendera alla som vill öka sin digitala bildning att lära sig ett programmeringsspråk. Om man vill göra något som går utöver de formpressade och anpassade verktygen är det en sann frihet att kunna skriva sina egna små program och skript. Det är inte alltid det finns en ”app” för det problem man vill undersöka, och även om det finns en app är det inte säkert att man kan bryta ned i minsta detalj vad den gör (vilket är ett krav om man vill arbeta vetenskapligt, dvs. ”metodredovisning).

Trots att jag verkligen inte har blivit särskilt ”bra” på Python, kan jag med väldigt enkla medel göra massor av saker som tidigare begränsade mig. Till exempel följande.

De hundra mest frekvent omnämnda ortsnamnen i alla SOUer 1922-1996 ser ut så här på en världskarta:

Vi zoomar lite:

Lite till:

För att till sist landa i Sverige:

Jag har begränsat mig till de hundra mest omnämnda platserna (ladda ned både filen med ortnamn (SOU100utf.txt) och pythonskriptet (soukarta.py) från min Github-sida).

Det mest uppenbara är att topp 100-listan för var någonstans SOUerna gör nedslag följer ungefär de områden som är mest befolkade. Nu gör denna karta ingen skillnad mellan att Stockholm nämns tio gånger oftare än Umeå (ett framtida projekt).

Skriptet som jag skrev för att skapa denna karta har vissa begränsningar. Det läser först in en lista med ortnamn från en fil och skickar sedan namnet till Googles databas över orter som returnerar longitud och latitud. Här är man alltså begränsad av att Google i sin tur har en lika hög ”upplösning” som ”staten” (kanske är Google en ny stat?). Dessutom har Google en begränsning hur många anrop man får göra per dygn och per sekund. Således är detta första test begränsat till hundra platser.

Hur går man vidare härifrån? Finns det andra intressanta visualiseringar man kan göra? Fler orter? (det går att fixa så att skriptet tuggar mot Googles maxgräns vecka ut och vecka in). Andra visualiseringsformer? Kommentera gärna!

Uppdatering: Gustaf Nelhans har gjort en liknande visualisering.

15 svar på “SOUernas geografi 2”

  1. Coolt. Intressant vore om du kunde kolla endast på icke-svenska orter/länder och därigenom ge en bild av svenskt utredningsväsendes internationaliserings’horisont’ – som jag föredrar istället för räckvidd. Vad det ger en bild av är ju vilka länder/världsdelar som anses som relevanta/intressanta/pregnanta i svenskt utredningsväsendes mentala horisont/landskap. Dvs vad anses som viktiga internationella politiska referenspunkter för att förändra svenskt samhälle. Min gissning är mycket USA, England, Tyskland och EU/Bryssel och Strassburg och lite Peking och Mumbai. Det blir en intressant transnationell politisk idéhistoria. Om du kan lägga till hur nya länder tillkommer över tid får du en bild av utredningsväsendets tidsgeografi.

  2. Mats: Ja, en sådan karta vore verkligen relevant. Då skulle man till exempel kunna testa om det sker en ”amerikanisering” efter andra världskriget. Ska se om jag kan få fram något i den riktningen.

    Dock kräver detta att jag gör om själva ortnamnsextraheringen eftersom datamängden nu bara är en ”klump” utan information om årtal. Kanske med en reducerad lista på länder och städer så att det inte tar en vecka att tröska igenom alla dessa miljontals ord som korpuset nu väger in på.

    1. Kan du inte bara göra enkel tredelning: före 1945/48, 1945/48-1989, 1990-
      Bara det borde ge intressanta resultat. Ser vi en övergång från Tyskland & UK till USA efter El Alamein alt. Kalla kriget.
      Annars kanske du kan göra en decenniindelning men jag tycker att kallakrigsperiodiseringen borde vara nog intressant. Hitta någon spännande fråga och hör en periodisering utifrån den, som inverkan av sossarnas regeringshegemoni 1933-73 om jag inte misstar mig helt på den periodiseringen.

  3. Fint! Detta skall göras. Jag ska bara komma på ett sätt att optimera själva sökningen efter platser i SOUerna. Tror att det blir intressantast med en teoretiskt motiverad tidsindelning. Fast själva rådatan är nog bäst årsvis så att man flexibelt kan ändra vilka historiska perioder man vill undersöka. Rimligtvis borde det finnas någon form av eftersläpning mellan den/de händelser som orsaker en ”vändning” och själva vändningen, eftersom utredningar ofta tar lång tid att skriva. Precis som vetenskapliga artiklar ”släpar efter” pga. peer-review.

  4. Johanna: Tack för kommentaren! Listan som jag har matchat SOUerna mot har bara svenska ortnamn. Se text-filen features.txt i SOUlab-skriptens arkiv. Jag måste på något sätt få tag på en lista med utländska orter och länder. Undrar dock vad Googles API svarar på ”England” eller ”Tyskland”. Kanske måste man översätta länderna. Däremot har nog städerna ganska internationella namn… Paris, London, Tokyo osv.

  5. För att få lite mer tydlig visualisering skulle det kunna vara intressant med en heatmap snarare än bara platser. Även förändring över tid skulle som tidigare nämnt vara intressant. Kanske en kombination på något vis, där en SOU ger ett avklingande utslag över tid på kartan eller så…

    Med det gjort skulle det sen kunna vara intressant att jämföra med en befolkningskarta över samma tidsintervall, och se hur SOU-representationen korrelerar (eller inte!) med befolkningstäthet.

  6. Petter: Ja! Ska läsa på hur man gör en heatmap. Helt klart vore det även intressant att korrelera med den faktiska befolkningstätheten. Känns som att jag måste ta mig vidare in i matplotlib och basemap.

    Jag måste nog även hitta ett alternativ grep för att matcha ortnamnen. Kanske är det bättre att först skapa en databas eller hashtabell i minnet för att snabbare kunna gå igenom all data. Är inte insatt i detta (ännu) dock.

  7. Hej Christopher!
    Lite tveksam till din ortnamnslista 🙂 En sortering på vilka orter som det talas mest om börjar: skäl, stockholm, juni, högsta, göteborg, uppsala, malmö, os, danmark, norrland, örebro…

    Försöker göra någon sorts visualisering av detta. Återkommer!

  8. Sverker: Ja, jag försökte göra en stoppords-lista för att sortera ut de orter vars namn även finns i vardagsspråket. Det lyckades inte helt och hållet.

    Men när man väl har en grov uppfattning om ”rankningen” av städer blir det enklare att ta ort-för-ort och göra statistik år-för-år. Då slipper man tugga igenom den långa listan. Ska bli spännande att se vad du får fram för visualiseringar!

    Sedan funderar jag på var man skulle kunna få tag på en lista på länder (kan inte vara så svårt, finns ju inte så många) och utländska städer (svårare, för de blir genast väldigt många om man inte begränsar sig).

    1. Jag använde wikipedia för lista av orter. Mathematica har faktiskt en sorts strukturerad information om både orter och länder. Det rör sig (kollade nu) om 240 länder och 164 445 städer. Man kan fråga typ efter länderna i Europa, EU, G20, Arab League, osv.

      Såklart rör det sig om ett urval – förmodligen utifrån vilken typ av information som finns enklast tillgänglig i öppna databaser. Men för detta urval finns en mängd ytterligare information, tex statsskuld, import- och exportförhållanden, etc.

      Ytterligare ett problem är för övrigt språket – alla ort och landsnamn är på Engelska..

      Jag prövar vidare lite. Mycket roligt att bli pushad av det du gör. Pinga mig gärna på FB, jag är dålig på att följa blogg.

  9. Aha. Intressant. Jag ska söka runt och se vad det finns för andra listor som kan vara användbara. Känns ju som att det borde finnas svenska kartografer som sitter med öppna datakällor.

  10. Petter: Tack för tipset! D3.js har jag sneglat på en del och det ser väldigt lovande ut. Finns bra kopplingar python -> d3 som gör det hela ganska enkelt (tror jag).

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *

Time limit is exhausted. Please reload CAPTCHA.