keskiviikko 10. kesäkuuta 2015

Geodeettiset koordinaatistoformaatit

Törmäsin eilen Poliisiammattikorkeakoulun toimittamaan aineistoon, jossa oli mukana paikkatietoa.

Koordinaatit esitettiin aineistossa seuraavasti:

KOORDINAATTI_N,KOORDINAATTI_E
5927140,1909800
5949646,2256613
5950522,2303040
5955028,2316795
5956577,2320602
6002411,2402822


Koordinaatit olivat kuvauksen mukaan WGS84-koordinaatistossa ja niiden piti osua maanteiden varsille. Emme kuitenkaan saaneet aluksi selvää missä muodossa koordinaatit ovat, koska sellaisenaan ne eivät olleet ainakaan suoraan asteita eivätkä ne tuntuneet olevan myöskään maantieteellisiä koordinaatteja.

Sitten huomasin, että koordinaattien kolmas ja neljäs numero juoksee niin, että se ei saanut ikinä arvoja yli 60, josta mieleeni tuli, että koordinaattejahan voi esittää myös minuutteina ja sekunteina. Minuuteissa ja sekunneissa suurin arvo on tuo 60.

KOORDINAATTI_N,KOORDINAATTI_E
6059804,2537278
6059975,2540441
6100120,2348604
6100178,2426829
6100207,2422961


Ensinsiksi oletin, että koordinaatit olivat muotoa
Eli, kaksi ensimmäistä numeroa kuvaavat asteita, kaksi seuraavaa minuutteja ja loput sekunteja ja sekuntien desimaaleja. Pian huomasin kuitenkin, että sekunnit juoksivat arvoihin yli 60. Eli esimerkiksi tässä itä-koordinaatissa:
  • 2426829 → 24° 26' 82.9''
joka ei voinut ollut oikein, koska sekunnit eivät voi saada arvoa yli 60. Eli täytyi olla niin, että koordinaatit olivat muotoa:
Eli edellä mainittu koordinaattipiste on muotoa:
  • 2426829 → 24° 26.829'

Muunnos


Halusin muuntaa koordinaatit muotoon:
koska tämä on Google Mapsin suoraan tukema formaatti. Tein konvertoinnin Excelissä seuraavalla kaavalla:
  • =REGEXEXTRACT(A2, "^([0-9]{2})") & "." & TEXT(ROUND(REGEXEXTRACT(A2, "^[0-9]{2}([0-9]{5})")/1000/60*100000), "00000")
Kaava ottaa koordinaatin ensimmäiset kaksi numeroa sellaisenaan. Viisi viimeistä numeroa muunnetaan minuuteista desimaaleiksi jakamalla 60:llä, jonka jälkeen luku kerrotaan tarvittavan suurella luvulla, jotta saadaan mukaan riittävästi tarkkuutta. Lopputulos pyöristetään kokonaisluvuksi ja lisätään mahdolliset tarvittavat etunollat text()-funktiolla. Lopuksi asteet ja asteiden desimaalit yhdistetään erottamalla ne pisteellä.


Opittua


Usein kun saan käyttööni paikkatietoa ovat koordinaatistot ja formaatit jonkinmoinen murheenkryyni, joka useimmin juontaa siihen, että aineistoa ei ole kuvattu riittävällä tarkkuudella. Välillä aineistosta ei käy edes ilmi missä koordinaatistossa koordinaatit ovat. Ja kun yhdessä koordinaatistossa koordinaatit voidaan esittää useammassa formaatissa (maantieteellisesti, metrejä ja geodeettisesti, asteita), niin on ongelma vielä monimuotoisempi. Ja tosiaan, geodeettiset koordinaatit voidaan esittää myös käyttäen minuutteja ja sekunteja.

perjantai 8. toukokuuta 2015

Nuijamaan rajamiehillä oli todella hyvä pito

Julkaisimme Yle Uutisten sivuilla 6.5. jutun "He valvovat rajojamme", joka kertoo rajavartioiden työstä Nuijamaalla. Juttu on erikoistaitettu, jossa on annettu suuri tila kuville ja videoille. Materiaalia jutussa on paljon eli juttu on siis pitkä lukupaketti. Jutussa edettiin vierittämällä alaspäin kuten netissä on luontevaa. (Kuva 1)

Juttu Nuijamaan rajavartioista julkaistiin keskiviikkona kello 11 jälkeen. (Kuva 1)
Juttu keräsi noin 20 000 klikkausta.

Juttu jakautui kuvien, videoiden ja grafiikoiden myötä 15:sta kokonaisuuteen. Seurasimme miten pitkälle lukijat vierittivät sivua. Tallensimme tiedon kun käyttäjä saavutti kokonaisuuden alun.

Ensimmäisen kokonaisuuden alkuun vieritti noin 18 000 käyttäjää. Heti alussa menetettiin siis noin 10 % kävijöistä. Tämän jälkeen pito oli todella hyvä. Loppuun asti jutun vieritti 11 600 käyttäjää eli noin 60 %:a kävijöistä. Tämä on todella suuri osuus, koska aikaisemmin olemme nähneet lähempänä 10–20 % olevia lukuja. Toki edelleen ymmärryksemme lukujen takana perustuu pieneen otantaan. Emme ole vielä tarpeeksi usein mitanneet kuinka kuinka pitkälle tämänkaltaisia pidempiä juttuja vieritetään.

Jotain perusteluja hyvälle pidolle voidaan kuitenkin etsiä julkaisuajasta. Juttu julkaistiin selkeästi päivällä – kello 11 jälkeen – jolloin ihmiset ovat työpaikoillaan tietokoneiden ääressä. Yleinen sääntö meillä julkaisulle on, että paras julkaisuaika on heti aamulla, mutta tästä ehkä opimme, että tämänkaltaisten erikoistaitettujen juttujen kohdalla viisautta voidaan hakea myös muunlaisesta julkaisuajankohdasta.

Tilastonikkareille


Luvut ovat Google Analyticsin yksilöidyt tapahtumat -lukuja.

Jutun lukijamäärä: 20 028
  1. osion alkuun: 18 176
  2. osion alkuun: 17 340
  3. osion alkuun: 16 240
  4. osion alkuun: 15 318
  5. osion alkuun: 14 981
  6. osion alkuun: 14 512
  7. osion alkuun: 13 774
  8. osion alkuun: 13 579
  9. osion alkuun: 13 142
  10. osion alkuun: 13 074
  11. osion alkuun: 12 516
  12. osion alkuun: 12 451
  13. osion alkuun: 11 928
  14. osion alkuun: 11 702
  15. osion alkuun: 11 432

maanantai 27. huhtikuuta 2015

Yli 2 miljoonaa "swaippausta", Kandideitti oli menestys

Julkaisimme vaalien alla Kandideitti-nimisen sovelluksen, joka tunnettiin myöhemmin myös Vaalitinder-nimellä.

Kandideitti oli eräänlainen minivaalikone, jonka avulla sopivaa ehdokas etsittiin viiden asiakysymyksen kautta perustuen pelkästään ehdokkaiden kasvokuvaan, ikään ja etunimeen. Idea oli lainattu suositusta treffipalvelu Tinderistä.

Ehdokkaat saattoi joko hyväksyä tai hylätä annettujen tietojen perusteella. (Kuva 1)

Kandideitin tarkoitus oli lisätä erityisesti sellaisten ihmisten kiinnostusta vaaleihin, jotka eivät tavallisesti vaaleista innostu. Miten tämä tavoite täytty lukujen valossa?

Google Analytics -lukujen mukaan Kandideitillä oli noin 50 000 yksilöityä käyttäjää. Nämä käyttäjät hylkäsivät ja hyväksyivät ehdokkaita 2 150 000 kertaa. Eli reilut kaksi miljoonaa kertaa. Sovelluksen käyttäjät olivat siis erittäin ahkeria. Keskimäärin yksittäinen käyttäjä kävi läpi yli 40 ehdokasta, joka on todella suuri luku.

Tämä kertoo, että Kandideitti löysi erittäin aktiivisen käyttäjäryhmän, joka koki sovelluksen siinä määrin erittäin hyödylliseksi, että sen parissa viettiin paljon aikaa. Vaikeampi kysymys on arvioida ovatko nämä käyttäjät olleet etenkin sellaisia, jotka eivät muuten kiinnostu vaaleista. Ja vielä vaikeampi kysymys on saiko Kandideitti nämä ihmiset äänestämään tai vaikuttiko Kandideitti heidän äänestyspäätökseensä.

Kuten odottaa saattoi oli hylkääminen (1 800 000) erittäin paljon hyväksymistä (350 000) yleisempää. Löytöjä syntyi noin 57 %:ssa hyväksymisistä, joka on käytännössä sama kuin löydölle asetettu raja-arvo (3/5 asiakysymyksestä tuli olla samaa mieltä).

Kävijämäärä oli lopulta pienoinen pettymys. Odotimme jutulle yli 100 000 klikkausta, mutta jäimme tavoitteesta. Jutulla on tällä hetkellä ComScoren mukaan noin 79 000 klikkiä. Mutta ehkä näissä luvuissa näkyy juuri se, että Kandideitti oli kuitenkin lopulta pienemmän kohderyhmän niche-palvelu verrattuna Ylen muihin vaalituotteisiin (Vaalikone ja Vaaligalleria).

sunnuntai 19. huhtikuuta 2015

KML to GeoJSON to TopoJSON on Mac OS X

These introductions help you to convert a KML file to TopoJSON which allows you to reduce filesize.

Converting KML to TopoJSON


# Get KML (File -> Download -> KML)
https://www.google.com/fusiontables/DataSource?docid=153JjwSASwB6C4r1o0itwZr7imkDfuedEGIjk4LHr#map:id=3

# Install node via ports or brew (if not yet available)
port install npm
brew install node.js

# Install togeojson (might need admin privilidges)
npm install -g togeojson

# Rename file to data.kml
cd Downloads
mv Kuntarajat\ 2015.kml data.kml

# Convert KML to GeoJson with togeojson
togeojson data.kml > data.json

# Install topojson (might need admin privilidges)
npm install -g topojson

# Convert GeoJson to TopoJson
topojson data.json -o data.tjson -p Name

# Simplify if needed
topojson data.json -o data.tjson --simplify-proportion=0.5 -p Name

# Use tools to determinate appropriate simplify value
http://www.mapshaper.org/
http://shancarter.github.io/distillery/



Implementation guidelines


# Get TopoJSON library
https://github.com/mbostock/topojson

# In your implementation define a map
var map = new google.maps.Map($('.map_container')[0], {
    center:new google.maps.LatLng(60.25, 24.87),
    mapTypeControl:false,
    mapTypeId:google.maps.MapTypeId.ROADMAP,
    minZoom:9,
    overviewMapControl:true,
    panControl:true,
    scaleControl:false,
    streetViewControl:false,
    zoom:yleApp.zoom,
    styles:styler,
    zoomControl:true
});

# Attach polygons to the map
$.getJSON('data.tjson', function (data) {
    yleApp.map.data.addGeoJson(topojson.feature(data, data.objects.data));
});

# Define polygon styles
yleApp.map.data.setStyle(function (feature) {
  return {
    cursor:'pointer',
    fillColor:'#f00',
    fillOpacity:0.6,
    strokeColor:'#666',
    strokeWeight:0.5
  }
});

# Attach listeners
map.data.addListener('mouseover', function (event) {
  yleApp.map.data.overrideStyle(event.feature, {
    fillOpacity:0.8,
    strokeWeight:1
  });
});

map.data.addListener('mouseout', function (event) {
  map.data.revertStyle();
});

maanantai 9. helmikuuta 2015

Ohjeilla on väliä ja reagointi kannattaa

Julkaisimme tänään 9.2.2015 jutun jossa käsittelimme pääkaupunkiseudun ikääntymistä. Juttuun olimme tehneet kartan josta ikääntymistä oli mahdollista tarkastella alueittain. (Kuva 1)

Uutissovelluksella pystyi tarkastelemaan ilmiötä monista eri näkökulmista. (Kuva 1)
Uutissovellusta oli mahdollista käyttää monella tavalla. Ilmiötä saattoi tarkastella pitkällä aikajaksolla koko pääkaupunkiseudun tasolla tai ottaa tarkasteluun vain yksittäisen alueen.

Aamulla kello 8–9 välillä tarkkailimme miten eri toiminnallisuuksia sovelluksessa käytettiin ja havaitsimme, että yksittäinen alue valittiin tarkasteluun yllättävän harvoin. Uutissovelluksessa saattoi siis valita tarkasteluun yksittäisen alueen tiedot. (Kuva 2)

Klikkaamalla aluetta sai nähtäväkseen valitun alueen tiedot viivadiagrammina. (Kuva 2)
Oletuksemme oli, etteivät ihmiset tajua, että karttaa on myös mahdollista klikata. Mietimme Plus-tiimimme kanssa miten voisimme tukea tämän toiminnallisuuden löytymistä.

Päätimme lyhyiden keskustelujen pohjalta yksinkertaisesti lisätä osoittaessa avautuvaan tietoikkunaan lisätekstin, että klikkaamalla saat lisätietoa. (Kuva 3)

Lisäsimme toteutukseen ohjeen jossa kehotettiin osoittamisen lisäksi myös klikkaamaan aluetta. (Kuva 3)
Mitä tapahtui? Alueen valitsemisen suosio alkoi välittömästi nousta ja siitä tuli sovelluksen käytetyin ominaisuus.

Toki myös muilla tekijöillä on vaikutusta tähän kuten, että yhdeksän jälkeen ihmisten työpöytäkäyttö kasvattaa suosiotaan suhteessa mobiilikäyttöön.

Summasummarun reaaliaikaisen käytön seurannan avulla pystymme reakoimaan nopeasti ja parantamaan uutissovellusten toimintaa.

maanantai 2. helmikuuta 2015

NODA15 – Päällimmäiset tuntemukset

Viime viikonloppuna Norjan Ålensundissa pidettiin järjestyksessään toinen pohjoismainen datajournalismikonferenssi. Viime vuonna tapahtuma järjestettiin Ruotsissa Tukholmassa, missä olin myös paikalla. Tässä päällimmäiset ajatukseni tämän vuoden meiningeistä. (Kuva 1)

Ålesundissa tapahtuma ei ainakaan jäänyt maisemista kiinni. (Kuva 1)

1. Suomalaisedustuksen kapeus

Verrattuna muihin pohjoismaihin ja etenkin Norjaan ja Ruotsiin suomalaisten edustus oli konferenssissa hävyttömän kapea. Suomalaisista mediayhtiöistä olivat paikalla HS ja Yle kun muut pohjoismaat edustivat valtamedioiden lisäksi myös maakuntatasolla. Tästä kertoo jo sekin, että konferenssi järjestettiin 40 000 asukkaan Ålesundissa. 

Tietenkään tekemisen tasoa ei voida pelkästään mitata konfferenssiosallistumisilla, mutta mielestäni tämä on hälyttävä merkki kun sama tilanne oli myös viime vuonna Ruotsissa.

2. Ei palkintoja Suomeen

Konferenssissa jaettiin pohjoismaiset datajournalismipalkinnot viime vuoden tapaan. Viime vuonna Suomesta ehdolla oli töitä Yleltä ja Helsingin Sanomilta ja voittokin yhdessä kategoriassa tuli HS:lle. Tänä vuonna ehdolle pääsi enää Helsingin Sanomat, mutta palkinnot kiersivät Suomen mennen Norjaan, Tanskaan ja Ruotsiin.

Pelkästään tästäkään ei dramaattisia johtopäätöksiä kannata vetää, mutta fiilis on, että viime vuoteen verrattuna myös tekemisen tasossa olemme jääneet pohjoismaisia kumppaneitamme jälkeen. Näkemykseni on, että Ruotsissa Suomi nähtiin vielä pohjoismaisella tasolla datajournalismin edelläkävijänä. Enää tästä ei ollut pelkoa.

3. Melkein 400 osallistujaa

Datajournalismista ei voida puhua pienen porukan puuhasteluna. Konfenressiin oli ilmoittautunut melkein 400 henkilöä siitäkin huolimatta, että tapahtuma järjetettiin kaikella kunnioituksella hieman vaikeiden kulkuyhteyksien päässä. Paikalla oli hyvin arvovaltainen puhujajoukko sekä akateeminen puoli. (Kuva 2)

Ja miksi puhuttaisiinkaan. NY Timesin viime vuoden top 20:sta luetuimmasta jutusta puolet oli datajuttuja. Sama trendi on nähtävissä Ylellä. Vuonna 2013 top 5:sta luetuimmasta kolme oli PlusDeskin tuotantoa. Vuonna 2014 sama lukema oli kaksi. Datajournalistiselle tekemiselle on tilausta.

Illallisella ei tyhjiä paikkoja ollut. (Kuva 2)

4.  Haasteet ovat yheiset

Suurista pieniin toimijoihin kaikilla tuntui olevan samat asiat mielessä. Miten voimme analysoida lukijoitamme paremmin? Miten käännämme huomiomme lukijamääristä vaikuttavuuteen? Mobiilikäytön kasvu ja sen vaikutukset verkon tekemiseen sekä datajournalismiin? Verkkovideon muoto? Mitä normaalin toimittajan pitäisi opiskella? Miten ottaa sosiaalinen media huomioon? Mikä tulee olemaan vanhan median rooli?

Kovin selkeitä vastauksia näihin kysymyksiin ei saatu, mutta on jotenkin lohduttavaa, että The Guardian kaikkine resursseineenkaan ei ole juurikaan pidemmällä esimerkiksi uutissovellusten sisäisessä analytiikassa.

5. NODA16 Helsingissä

Vuoden 2016 Nordic Datajournalism Conference järjestetään huhtikuun lopulla Helsingissä. Silloin viimeistään on suomalaisen median aika herätä muutokseen.

maanantai 26. tammikuuta 2015

Puolet kävijöistä klikkaa yli kolme kertaa

Julkaisimme Yle Uutisten sivuilla perjantaina 23.1.2015 jutun "Omistusasuminen saattaa lisätä työttömyyttä – katso kuinka paljon omalla alueellasi on vuokra-asumista". Juttu keräsi viikonlopun aikana n. 46 000 yksilöityä sivun katselua (Google Analytics).

Jutun oheen olimme toteuttaneet uutissovelluksen, jonka avulla lukija pystyi tarkastelemaan postinumeroittain kuinka monta vuokra- ja omistustaloutta alueella on. Aineisto esiteltiin graafisesti sekä numeerisesti. Lisäksi sovellus kertoi postinumeroalueella asuvien ihmisten ammattiaseman jakautumisen. (Kuva 1)

Laskurista pystyi katsomaan minkälaisessa omistussuhteessa taloudet asuvat valitulla postinumeroalueella. (Kuva 1)

Aineistot hankittiin Tilastokeskuksen Paavo-palvelusta, josta ne saa ladattua tiedostoina tai rajapinnan kautta. Postinumerokohtaiset aineistot ovat olleet avointa dataa 14.1.2015 lähtien. Ruututietokanta on edelleen Tilastokeskuksen maksullinen palvelu.

Mittasimme kuinka paljon jutussa ollutta uutissovellusta käytettiin. Google-raportin mukaan postinumero valittiin n. 25 000 yksilöidyn käyttäjän toimesta. Eli n. 55 % jutun lukijoista käytti konetta vähintään kerran. Yhteensä postinumero valittiin koneella 84 000 kertaa eli keskimäärin yksittäinen käyttäjä valitsi postinumeroalueen n. 1,8 kertaa. Kuitenkin kun 45 % ei käyttänyt konetta ollenkaan on luku konetta ylipäänsä käyttäneiden osalta huomattavasti suurempi eli noin n. 3,3 kertaa.

Luvut ovat hieman parempia kuin osasin odottaa. Meillä ei kuitenkaan ole vielä tarpeeksi vertailuaineistoa, että voisimme yksikäsitteisesti numeroihin perustuen sanoa, että uutissovellus toimi hyvin ja että sitä osattiin ja haluttiin käyttää. Se, että keskimäärin konetta käyttänyt henkilö tarkasteli sen avulla yli kolmea postinumeroaluetta kertoo siitä, että aineisto on koettu hyödylliseksi ja kone on toiminut. Hypoteettisesti tämän luvun voisi olettaa olevan lähempänä kahta (edellinen ja nykyinen asuinpaikka).

Suosituimmat postinumeroalueet löytyivät Helsingistä ja muista suurista kaupungeista. Suurten aineistojen kohdalla kun valittavissa on esimerkiksi yli 3 000 postinumeroaluetta kannattaa meidän jatkossa miettiä onko järkevää tukea näiden suosituimpien alueiden löytymistä. Nyt postinumeroalueet olivat valittavissa kunnittain aakkosjärjestyksessä. Toisaalta suosituimpienkin aineistojen suosio oli kaikista valinnoista vain prosentin luokkaa. (Kuva 2)

Suosituimmat postinumeroalueet löytyivät Helsingistä ja muista suurimmista kaupungeista. (Kuva 2)

Se minkä keräämämme aineisto myös kertoo on, että koneella onnistuttiin hakemaan mobiilikäyttöliittymässä, jossa valinta tehtiin kirjoittamalla ei valitse, myös paljon alueita, joita ei ole olemassa. Tähän täytyy myös jatkossa kiinnittää huomiota.

Kooditeknisesti tämänkaltaisen käyttötiedon keräämisen implementointi on hyvin yksinkertaista. Tässä esimerkki tästä toteutuksesta ja postinumeroalueen valinnan käytön seurannasta. (Kuva 3)

Käytännössä yhdellä koodirivillä pystyy Google-analyticsiin lisäämään tapahtumien seurannan. (Kuva 3)

Lisää tapahtumien seurannasta voit lukea Google Analytics -dokumentaatiosta.