Tilastokeskuksen PC Axis-muotoisten aineistojen visualisointi Suomen kartalla

Lisäsimme avoimen Suomi-datan R-pakettiin (sorvi) välineitä Maanmittauslaitoksen uusimpien julkisten kartta-aineistojen sekä Tilastokeskuksen StatFin-tietokannan PC Axis-muotoisten tilastojen lukemiseen ja esikäsittelyyn. Alla on visualisoitu esimerkiksi Suomen väestönkasvu kuntatasolla 2010.

Haasteita: (1) Visualisointi näyttää Suomen kartan nyt hassulla projektiolla. En vielä löytänyt tapaa projektion vaihtamiseen; vinkkejä otetaan vastaan. Visualisointi PlotShape-funktion kutsumalla spplot-funktiolla on ggplot2:a nopeampi. (2) PC Axis-datan lukemiseen käytetty pxR-paketti on vasta kehitteillä, ja sillä saa luetuksi vain osaa Tilastokeskuksen aineistoista.

PÄIVITYS 6.1.2013: Blogin R-skriptejä ylläpidetään jatkossa Githubissa. Tämän artikkelin koodit löytyvät täältä.

Tietoja antagomir

http://www.iki.fi/Leo.Lahti
This entry was posted in paikkatieto, R, sorvi, tiedonlouhinta, visualisointi and tagged , , . Bookmark the permalink.

8 vastausta artikkeliin: Tilastokeskuksen PC Axis-muotoisten aineistojen visualisointi Suomen kartalla

  1. Joona sanoo:

    En löytänyt funktioita ”putsaa.shape.mml” ja ”putsaa.px” Sorvi-paketista, varmaan tulossa seuraaviin versioihin? Tuosta projektiosta: miksi se on mielestäsi hassu? Mielestäni se näyttää ihan oikealta ETRS-TM35FIN -projektiolta, joka on määritetly MML:lta ladattuun shapeen. En ole R:ssä paljon projektioilla leikkinyt, mutta kun homma perustuu GDALiin niin readShapePoly:n proj4string-parametrilla voi määritellä projektiomuunnoksia. Toinen vaihtoehto olisi käyttää rgdal-paketin spTransform-funktiota.

    • antagomir sanoo:

      Jep, oli jäänyt lisäämättä SVN:ään nuo funktiot, nyt pitäisi löytyä viimeisimmästä versiosta.

      Karttaprojektio lie ok, lounais-Suomen kohdalla taitaa olla merialueitakin mukana mikä aluksi hämäsi. Koitin aiemmin muutella projektioita readShapePoly:n proj4string-parametrilla, esim. argumentilla proj4string=CRS(”+proj=merc”) en vielä onnistunut muuntamaan karttaa Mercatorin projektiolle, ehkä tässä pitäisi jotenkin muunnella myös datumien määrittelyjä? Sama tilanne spTransform:in kanssa. Lisäksi ggplot2:lla pitäisi onnistua vaihtamaan projektiota lennossa esim. coord_map(project= ”mercator”), mutta tämäkään ei toiminut ainakaan alla olevan ggplot2-esimerkin kanssa. Mutta jo toimiva ETRS-TM35FIN -projektio on varsin standardi, joten ilman projektiovaihdoksiakin tultaneen toistaiseksi toimeen, ellei löydetä tähän toimivia esimerkkejä.

  2. Joona sanoo:

    Joo, tuossa MML:n shapessa on tosiaan merialueita mukana. Leikkasin shapen Suomen rantaviivalla, shape voi ladata täältä: http://109.74.199.6:8080/share/kunta1_p_maa.zip . Kiemuraisen rantaviivan haittapuolena shapen koko kasvoi melkoisesti…

    Karttaprojektion voi määrittää oikeaksi (ETRS-TM35FIN) sisäänlukuvaiheessa parametrilla proj4string=CRS(”+init=epsg:3047”), lisää tietoa yksityiskohdista löytyy täältä http://spatialreference.org/ref/epsg/3047/ . Kun projektio on määritelty sp-oliolle oikein, voi spTransform:in avulla muuntaa esim. tuon ETRS-Suomen vaikkapa lat/lon WGS84-Suomeksi seuraavasti:

    sp <- readShapePoly("kunta1_p", proj4string=CRS("+init=epsg:3047"))
    sp.wgs84 <- spTransform(sp, CRS("+proj=longlat +datum=WGS84"))

    Vertailemalla näistä tehtyjä spplotteja, huomaa jo eroja.

    ggplot:in käyttämä coord_map tukee ilmeisesti vain mapproj-paketin koordinaatti-järjestelmiä, joihin UTM (ETRS-TM35FIN:in projektio) ei kuulu toistaiseksi. ggplotillakin onnistuu Suomen piirtäminen kartalle kunhan tekee ensin tuon WGS84-muunnoksen ja sitten käyttää tuota sinunkin mainitsemaasi coord_map(project= “mercator”)-funktiota.

  3. antagomir sanoo:

    Loistavaa, kiitoksia. Hauska tuo shapen fraktaalinomainen rantaviiva. Pitää vielä vähän setviä, minkä verran valmiita datoja R-pakettiin voidaan/kannattaa lisätä. Projektioitten muuntelu onnistuu nätisti antamillasi esimerkeillä, tästä varmasti jatkossa apua. MML:n datoistakin näyttää löytyvän erikseen coast_p ja kunta1_p. Täytyy katsella operaatioita shapejen yhdistelyyn R:ssä myöhemmin tarpeen mukaan (esim. http://stackoverflow.com/questions/2962433/combining-bordering-shapefiles-in-r), ensi alkuun pärjättäneen valmiiksi tarjotuilla.

  4. MV sanoo:

    Ehkä tyhmä kysymys, mutta eikö tuo ETRS-TM35FIN ole nimenomaan järkevin projektio? Eikö se säilytä Suomen mittakaavan mahdollisimman järkevänä? Mercator tekee pohjoisista kunnista isompia. Mikä on jo valmiiksi ongelma kaikissa väestöpohjaisissa tarkasteluissa.

    R:ssä ei ole kovin hyviä työkaluja kartogrammien tekemiseksi. Ei-jatkuvan muodon säilyttävän kartogrammin tekee helposti, mutta se ei Suomeen oikein sovi. Nimim. kokm. on. R:n cartogram -paketti vaatii väestöpohjatiedot ruudukkopohjaisena. Eikä siltikään tunnu piirtävän mielekkäitä karttoja.

    Onkohan noiden MML:n kartta-aineistojen liittäminen pakettiin tai jakeleminen muokattuna netissä ihan lisenssiehtojen mukaista. Jos on, niin mahtavaa+upeaa.

    • antagomir sanoo:

      ETRS-TM35FIN on standardiprojektio, mutta oltiin vaan yleisesti uteliaita muiden projektioiden visualisoinnin osalta. Koko maan lisäksi tarkoitus on visualisoida aineistoja esim. kaupunkitasolla taikka Suomea laajemmassa kontekstissa.

      MML:n karttoja saa lisenssiehtojen mukaan jatkokäyttää varsin vapaasti ja käytäntömme on lisenssiehtojen mukainen (http://www.maanmittauslaitos.fi/node/6417). Kartat on MML:n sivuilla saatavilla vapaasti, mutta vasta erillisen kirjautumisen jälkeen. Tästä syystä niitä ei saada luettua R:ään suoraan verkon yli (toisin kuin esim. Tilastokeskuksen PC Axis-datat). Analyysien sujuvoittamiseksi päätettiin sen vuoksi toistaiseksi pistää MML:n peruskartat valmiiksi sorviin. Pitää kuitenkin ehkä miettiä muita tapoja jatkossa, jos tulee lisää vastaavia tilanteita. Yksi mahdollisuus on tehdä erillisiä datapaketteja tai jakaa aineistoja lisenssiehtojen mukaisesti vähemmin rajoituksin sopivalla palvelimella.

    • Joona sanoo:

      On, ETRS-TM35FIN on järkevin projektio ja siirtymävaiheen myötä uusi MML:n virallinen projektio. Muunnoksia saattaa kuitenkin tulla eteen muiden kuin MML:n aineistojem kanssa.

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out / Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out / Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out / Muuta )

Google+ photo

Olet kommentoimassa Google+ -tilin nimissä. Log Out / Muuta )

Muodostetaan yhteyttä palveluun %s