-
Notifications
You must be signed in to change notification settings - Fork 3
kuntarajat leikkatuna suomen rantaviivalla
Maanmittauslaitoksen jakamaa kuntaraja-aineistoa on käytetty monissa yhteyksissä esimerkiksi erilaisten interaktiivisten karttavisualisointien tekemiseen. Hiukan harmillisesti (mutta ihan oikein) MML:n aineistossa on rannikkokunnissa mukana myös merialueet, vaikka visualisointien kannalta pelkkien maa-alueiden kuvaaminen olisi usein parempi ratkaisu.
Tämä ohje kuvaa, kuinka vapaasti saatavilla olevista MML:N aineistoista saadaan näppärästi irti kuntarajat pelkästään maa-alueille. Valmiiksi käsitellyistä aineistoista kiinnostuneet voivat ladata aineistot Datavaalien sivuilta pian. Pelkästään aineistosta kiinnostuneet voivat ladata paikkatietoaineiston Datavaalit-hankkeen sivuilta:
Em. aineistot sisältävät Maanmittauslaitoksen Yleiskartta 1:1 000 000 aineistoa, 2011
MML:n jakama kuntajakoaineisto tulee hiukan hankalassa XML/GML formaatissa, mutta onneksi avoimen lähdekoodin paikkatieto-ohjelma Quantum GIS (QGIS) osaa lukea tätä(kin) formaattia sujuvasti. Syvällisemmin kyseisestä aineisosta ja sen haltuunotosta on kirjoittanut mm. Jukka Rahkonen Latuviitta-sivustolla (pdf). Tässä esimerkissä on käytetty kuntajakoaineiston 1:1 000 000 versiota.
Käyttöehdot ja latauspalvelu löytyvät MML:n sivuilta.
Suomen rantaviiva löytyy MML:n vuoden 2011 ilmaisista vektoriaineistoista, jotka on erittäin näppäsrästi esikäsitelty paketoituun muotoon Latuviitta-sivuilla. Ladattava paketti sisältää Spatialite-paikkatietokannan, sen katseluun soveltuvan Windows-ohjelman sekä käyttöehdot.
Ohjeet olettavat, että Quantum GIS on asennettuna (testattu versiolla 1.8.0).
- Lataa kuntajakoaineisto (1:1 000 000) MML:n latauspalvelusta
- Lataa Maanmittauslaitoksen ilmaiset vektorit (1:1 000 000) Spatialite-tietokantana Latuviitasta koneellesi ja pura zip-paketti.
- Käynnistä QGIS
- Lisää kuntajakoaineisto näkymään klikkaamalla 'Add Vector Layer'
- Klikkaa 'Browser' ja mene kansioon, johon tallensit MML:n kuntajako-XML -tiedoston ja valitse alhaalla 'Filter'-pudotusvalikosta 'All files'. Kuntajako-XML -tiedoston pitäisi nyt näkyä dialogissa, valitse se ja klikkaa 'Open'.
- Ruudulle aukeaa uusi dialogi, valitse siitä oikea taso
AdministrativeUnit
ja klikkaa 'Ok'.
- Kuntajaon pitäisi nyt näkyä ikkunassa
- Seuraavaksi lisätään näkymään Suomen rantaviivat Spatialite-tietokannasta. Klikkaa työkalupalkin painiketta 'Add Spatialite Layer'
- Avautuvassa dialogissa, lisää kytkös Spatialite-tietokantaan klikkaamalla painiketta 'New'
- Etsi avautuvassa tiedostodialogissa paikka, johon tallensit Spatialite-tietokannan kohdassa 2 ja klikkaa 'Open'.
- Yhdistä tietokantaan painamalla painiketta 'Connect'
- Dialogiin aukeaa kaikki tietokannassa olevat tasot. Valitse niistä aluetaso
coast_p
- Molempien tasojen pitäisi nyt näkyä ikkunassa
- Joudumme muokkaamaan rantaviiva-tasoa hiukan, joten tehdään siitä ensin kopio. Klikkaa hiiren oikealla nappulalla tason
coast_p
päällä ja valitse 'Save as...'
- Talenna tiedosto ESRI Shapefile-muodossa nimellä
fin_coast_p.shp
haluamaasi paikkaan
- Poista alkuperäinen
coast_p
-taso näkymästä klikkaamalla sen päällä hiiren oikeaa nappullaa ja painalla 'Remove' - Lisää kohdassa 14 luotu shapefile näkymään kuten kohdassa 4
- Klikkaa taas hiiren oikealla painikkellaa kohdassa 17 lisätyn shapefilen
fin_coast_p
päällä ja valitse 'Toggle Editing'
- Poistetaan
fin_coast_p
-tasolta Itämeri, jotta voimme leikata kuntatason pelkällä rantaviivalla. Valitse työkalupalkista työkalu 'Select Single Feature'
- Klikkaa Itämeren päällä mitä tahansa kohtaa, jolloin Itämerta kuvaava polygoni aktioivoituu
- Valitse 'Edit'-valikosta 'Delete Selected'
- Poistu muokkaustilasta samalla tavalla kuin aktivoitkin sen kohdassa 18
- Muista tallentaa muutokset ohjelman sitä kysyessä
- Seuraavaksi leikataan kuntajako-taso rantaviivalla. Valitse 'Vector'-valikosta 'Geoprocessing Tools' > 'Clip'
- Täytä 'Clip'-dialogi seuraavalla tavalla (voit myös valita jonkun muun nimen tulostiedostolle) - tässä vaiheessa saattaa kestää hiukan, joten malttia.
- MML:n kuntajakoaineistossa on mukana 3 tasoisia hallinnollisia rajoja: aluevirastokeskus (2ndOrder), maakunta (3rdOrder) ja kunta (4thOrder). Eri rajoja ei välttämättä heti huomaa, koska korkeamman tason rajaukset noudattalevat nekin kuntarajoja.
- Nyt mukaan halutaan vain kunnat, joten kysellään kunnat erilleen muista rajoista. Klikkaa kuntajakotason (
fin_hallinnollinen_maa
) päällä hiiren oikeaa nappullaa ja valitse 'Query'
- Avautuvassa kyselydialogissa, aktivoi vasemmalla olevasta listasta 'nationalLevel' ja klikkaa oikealla olevaa painiketta 'All'. Toiminto listaa kaikki
fin_hallinnollinen_maa
-tason ominaisuustietotaulussa olevan kentän 'nationalLevel' arvot. Toisin sanoen kaikki hallinnolliset tasot (kts. kohta 35)
- Valitaan vain 4-tason kohteet, eli kunnat. Kirjota kuvassa näkyvä rimpsu 'SQL where clause'-kenttään. Homma onnistuu myös kliksuttelemalla kenttiä ('Fields'), arvoja ('Values') ja operaattoreita ('Operators')
- Valinta on nyt päällä ja esimerkiksi 'Save as...'-toiminto kunnioittaa tätä valintaa. Talenna siis
fin_hallinnollinen_maa
-taso uutena versiona (esim.fin_kunnat_maa.shp
) kuten kohdassa 14. - Ja valmista tuli! Helppoa kuin heinänteko. Kohdassa 30 syntynyt shapefile on kuntajakokartta ilman merialueita.
Etenkin verkkokehittäjät pitävät KML-tiedostotyypistä, koska sen yhdisteleminen vaikkapa Googlen palveluihin on melko suoraviivaista. Pekka Sarkola on kirjoittanut muualla pätevät ohjeet aineistojen kääntämisen KML-muotoon QGIS-ohjelman avulla.
Kunta-aineiston ominaisuustietotaulu (ts. paikkaan littyvä ominaisuustieto) on edelleen melko sotkuista. Tai miltä kuulostaa esim. merkkijono "(2:Kirkkonummi,Kyrkslätt)" kunnan nimenä? Tietoa olisi selvästi hyödyllistä vielä jatkojalostaa ja hajoitta vaikkapa eri kieliset kunnan nimet omiksi kentikseen.