Päivitys: Uudempi postaus tästä aiheesta!
Kolmannessa HS Openissa yhtenä avattuna datana on Asuntojen vuokrat ja hintapyynnöt Oikotiellä. Talosen Jaakko ehtikin jo tehdän vuokrahinnoista mainion visualisoinnin. Itse olen jo pidempään fiilistellyt mahdollisuutta käyttää GoogleMapsin karttoja R-visualisoinnin pohjana, ja tässähän tarjoutui loistava tilaisuus kokeilla tuota käytännössä.
Ideana on siis näyttää Oikotiedatan perusteella asuntojen hintapyynnöt kartalla, käytännössä keskimääräiset neliöhinnat postinumeroa kohden. Helpommin sanottu kuin tehty. Tämä vaatii nimittäin maantieteelliseti koordinaatit kullekin postinumerolle. Geonames tarjoaa tällaista tietoa, mutta itse en ainakaan onnistunut saamaan sieltä Helsingin kaupunginosien postinumerotietoja ulos. Kertokaa jos onnistutte paremmin.
Helsinki Region Infosharesta löytyy pääkaupunkiseudun aluejakokartat, jossa kaupunginosille on annettu koordinaatit parilla eri tarkkuustasolla. Tämä data on mm. GoogleMapsin käyttämässä KML-formaatissa, minkä takia jouduin vähän kikkailemaan jotta sain datan R:n ymmärtämään muotoon. Lopulta päädyin käyttämään erillistä kmlcsv-konvertteria, jolla sain alueiden pistetiedot käännettyä csv:ksi.
Seuraavaksi tarvittaisiin sitten tiedot postinumerojen ja kaupunginosien yhteyksistä. Postilla on hakupalvelu joka antaa katujen nimet postinumeroiden perusteella, mutta siitä ei ole tässä apua. Lisäksi Itella tarjoaa koko maan kattavaa postinumerotiedostoa, muttei sentään ilmaisena ja avoimena datana, olisi liian helppoa… Yksi mahdollisuus olisi yhdistää postinumerot ja alueiden nimet käsin, mutta se ei oikein istu avoimen datan ideaan. Pienen kaivelun jälkeen löysin vanhempaa asuntohintatietoa Helsingistä, HRI:stä jälleen. Tätä dataa voisi toki visualisoida suoraankin, ja myös verrata Oikotien tarjoamiin uudempiin hintatietoihin. Tässä tiedostossa on hintatietojen lisäksi useimmille Helsingin postinumeroalueille myös nimi, joten sillä päästään eteenpäin. Alueiden nimet eivät edelleenkään osu täysin yksiin aluejakokarttojen nimien kanssa, mutta pienellä korjailulla saadaan melko kattava aineisto aikaan.
Sitten vain yhdistetään kaikki yllä oleva data ja visualisoidaan. Oikotien myyntihintadata sisältää muuten vielä jonkun verran virheitä, ja lisäksi mukana on epäoleellista dataa kuten myytäviä tehdashalleja ja hevostiloja, ja lisäksi asumisoikeusasuntoja, jotka vääristävät keskimääräisiä hintoja. Päädyin alustavasti suodattamaan datan yksinkertaisesti asuntojen koon ja hinnan mukaan, ja lopputulos näyttää melko järkevältä.
Tuloksena näin aluksi hyvin yksinkertainen karttavisualisointi, jossa datapisteiden koko kertoo keskimääräiset neliöhinnan kyseisellä alueella. Lisäksi kartalla näkyy kutakin pistettä vastaavan paikannimi, niiden avulla voidaan arvioida kuinka hyvin aluejakokarttojen koordinaatit osuvat kohdilleen. Osa nimistä tosin peittyy datapisteiden alle, pitää korjata tämä tulevaisuudessa. Data näyttää suunnilleen siltä mitä odotinkin, eli Helsingin ytimen hinnat ovat korkealla ja muualla on halvempaa.
Tässä siis vähän esimakua mitä HS Open 3:n datoilla voidaan saada aikaan. Tarvittavien datojen pyörittely aiheuttaa kyllä päänvaivaa ja työtä. Seuraavaksi olisi mielenkiintoista laajentaa visualisointi koko pääkaupunkiseudulle, mutta se vaatii postinumeroiden ja alueiden yhdistämistä käsin tai jotenkin muuten, ideoita otetaan vastaan. Lisäksi visualisoinnista saa helpostikin paljon paremman näköisen.
PÄIVITYS 6.1.2013: Blogin R-skriptejä ylläpidetään jatkossa Githubissa. Tämän artikkelin koodit löytyvät täältä.
Geonames-tietoja saa kätevästi R:ään tämän clientin (https://r-forge.r-project.org/projects/geonames/) avulla, mutta valitettavasti Helsingin (ja Suomen) osalta PostalCodeSearch tms. ei sisällä tietoja kaupunginosien nimistä. Koordinaatit jokaiselle postinumerolle kyllä saa, tarkkuudesta en sitten tiedä.
Joona: Joo kokeilin itse asiassa tuota R-clientia kun mainostit sitä Facebookissa, se toimikin erittäin näppärästi, propsit siitä! Mutta tosiaan tähän tarkoitukseen siitä ei tuntunut olevan apua, se palautti kaikille niille Helsingin postinumeroille mitkä sielä löytyi pelkästään Helsingin nimen ja yhdet koordinaatit. Pitää vielä tutustua palveluun tarkemmin, R-clientista on varmasti hyötyä tulevaisuudessa.
Hgin kaupunginosat ja postinumeroalueet EIVÄT ihan mene yksi yhteen – esim. 00370 jakautuu Helsingin ja Espoon kesken! Helsingin tilastoaluejaosta löytyy lisätietoa oheisen linkin takaa (http://www.stat.fi/virsta/thaku/05/03/). Tiedän, että suuntaa antava suurpiiri-postinumeroalue avain on tehty Helsingin kaupungin tietokeskuksessa (tietokeskus.kirjasto@hel.fi) ja itse taisin päivittää sen vielä pienemmille ositteille. Kyseisestä aluejaosta ei varmaan kuitenkaan ole hyötyä jos et geokoodaa osoitteita – siihenkin on olemassa avoimen lähdekoodin työkalu, jota minulle esiteltiin keväällä 2009. Valitettavasti en enää muista sen nimeä – ehkä Google voisi auttaa.
Postinumeroiden sijaan voisi käyttää osoitteiden koordinaatteja suoraan ja vaikka bucketoida niitä. Reittioppaan webbiversiossa on ainakin dokumentoimaton API jolla saa osoitetietoja vastaavia koordinaatteja, mutta sen hyödyntäminen lienee käyttöehtojen vastaista. Yahoo Placefinder saattaisi toimia, en tiedä, onko niillä Suomen osoitetietoja. Tämäkin voisi toimia: http://tinygeocoder.com/blog/how-to-use/
Kiitos Tiku ja Janne vinkistä, osoitteiden koordinaattien kauttahan tuo kannattaa ilman muuta tehdä. Googlella näyttäisi oma geocoding-palvelu: http://code.google.com/apis/maps/documentation/geocoding/, jota luulisi voivan käyttää R:stäkin käsin, pitää tutustua.
Googlen geocoding-palvelu toimii varsin hyvin. Käyttöehtojen mukaan sitä tosin saa käyttää vain, jos tiedot esitetään Googlen karttoja käyttäen. Eräs esimerkki löytyy R-ohjelmointiblogista: http://www.r-ohjelmointi.org/?p=802.
OpenStreetMap:in geokoodaus rajapinta voisi olla myös hyvä vaihtoehto: http://wiki.openstreetmap.org/wiki/Nominatim.
Paluuviite: HS Open3 raportti: Pääkaupunkiseudun asuntojen hinnat ja lukioiden paremmuus | Louhos
Paluuviite: Avoin data pääkaupunkilaisen silmin 3-9.10. | Helsinki Region Infoshare
Paluuviite: Avoin data pääkaupunkilaisen silmin 3.-9.10. | Helsinki Region Infoshare
Paluuviite: Avoin data pääkaupunkilaisen silmin 3.-9.10. – Helsinki Region Infoshare
Paluuviite: Avoin data pääkaupunkilaisen silmin 3.-9.10.2011 - Avoimen datan palvelu