Julkaistu 7.10.2020

Kaikki on coolimpaa 3D:nä! QGIS-työkalujen vertailua

Tavallisen paikkatietoihmisen käytössä olevien 3D-aineistojen tarjonta ja laatu on kasvanut viime vuosina kovasti. Esimerkiksi Maanmittauslaitos tuottaa laserkeilaamalla uutta maaston korkeusmallia 2 metrin hilana, jonka korkeustarkkuuskin on alle metrin. Tässä on aika huikea muutos edelliseen, koko Suomen kattaneeseen 10 metrin hilakokoon nähden. 

Maaston lisäksi käytössämme rupeaa olemaan hyvinkin tarkkoja, aidosti kolmiulotteisia rakennusaineistoja. Muutamat kaupungit ovat jo julkaisseet omia CityGML-skeemaan pohjautuvia mallejaan, ja tulossa oleva Kansallinen Maastotietokanta esittää koko maan rakennusten muodot usealla eri tarkkuustasolla (LOD 0 – LOD 3). Näistä tarkin sisältää esimerkiksi kattojen kaltevuudet, ulkonevat parvekkeet ja katokset sekä pylväät. Kaarevia pintoja ei KMTK:n CityGML-tiedostoformaatti pysty käsittelemään.

Yhä tarkempien maasto- ja rakennusmallien lisäksi 3D-ominaisuuksia tarvitaan ohjelmistoilta mm. uusien kolmiulotteisten kiinteistöjen hallinnoimiseksi. Pari vuotta sitten voimaan tulleen lakimuutoksen jälkeen kiinteistölle on voitu määrittää myös korkeusasema, ja samassa sijainnissa voi olla päällekkäin useita kiinteistöjä. Tämä helpottaa mm. parkkihallien ja -kansien sekä muiden monimutkaisten kohteiden hallinnointia tiheään rakennetuilla alueilla.

Aitoa työskentelyä 3D-karttanäkymässä

3.0 -versiosta alkaen QGIS on sisältänyt oman työkalun, 3D view:n eli -karttanäkymän, kolmiulotteisten aineistojen visualisoimiseksi. Alkuvaiheessa se oli ainakin oman koneeni näytönohjaimelle liian raskas, mutta nykyään (versiossa 3.10) se toimii jo kivasti. Normaalin kuvaustekniikan sijasta (tai lisäksi) vektorikohteille voi määrittää 3D-kuvaustekniikan: asettaa kohteiden korkeuden johonkin ominaisuustietoon perustuen ja säätää pintojen värin, kiillon ja varjostuksen. On huomattava, että jos geometria on aidosti kolmiulotteinen (kuten esimerkkikuvan CityGML:stä muunnetussa geopackage-aineistossa), ei 3D-kuvaustekniikkaa tarvitse asettaa erikseen. Aineistossa on erikseen tasot katto- ja seinäpinnoille ja 3D-karttanäkymä hyödyntää suoraan näille tasoille asetettua kuvaustekniikkaa.

3D
Mikael Agricolan kirkon ympäristöä CityGML-mallista.

Jos taas 3D-mallissa halutaan esittää pelkkä maastomalli ilman rakennuksia, sen päälle voi liimata esim. ortokuvan. Varsinkin Etelä-Suomessa maastonmuodot ovat sen verran litteitä, että korkeusarvon liioitteleminen vaikkapa kaksinkertaiseksi tekee mallista hieman näyttävämmän näköisen.

3D-karttanäkymän asetuksissa voi mm. vaihtaa valon tulokulmaa ja väriä tai asettaa useamman valonlähteen. Tiilen kokoa voi säätää oman koneen suorituskyvylle sopivaksi. Näkymää voi pyöritellä eri suuntiin helposti hiirellä, ja se sisältää QGISin 2D-karttanäkymästä tuttuja toimintoja, kuten kohteen tietojen kysely Identify-painikkeella ja mittaustyökalu. 3D-karttanäkymästä löytyy myös mainio fly-by-animaation rakentamistyökalu, jolla voi asettaa tietyt kuvakulmat tiettyihin ajanhetkiin avainkehyksiksi, ja animaatio kulkee näiden avainkehysten välillä tasaisesti. Harmi vain, että tätä animaatiota ei saa vietyä QGISista ulos muuten kuin kuvasarjana, ja animaatio täytyy viimeistellä esim. GIFfiksi muualla.

3D
Lähikuvaa Seurasaaresta 3D View:n animaationa.

3D-karttanäkymän heikkoutena voidaan (GIFien viennin puuttumisen lisäksi) pitää sen raskautta. Yhtään suuremmat maastomallit latautuvat varsin vaivalloisesti, ja maaston ja vektorikohteiden yhdistäminen on jo liikaa ainakin allekirjoittaneen koneen suoritusteholle. Lisäksi 3D-kuvaustekniikan määrittely on melko suppea: kohteita ei voi esimerkiksi luokitella niiden tyypin mukaan.

Vanha kunnon lisäosa

Monien tilastoaineistojen esittämisessä onkin mukavampi turvautua vanhaan tuttuun lisäosaan Qgis2threejs. Se on ollut käytössä jo paljon ennen 3D-karttanäkymän tuloa, ja tämän vuoksi aiheutuukin muutamia ristiriitoja. Jos olet avannut QGIS-projektissasi 3D-karttanäkymän, ei Qgis2threejs-lisäosa toimi ennen QGISin buuttaamista. Pisteet siitä, että lisäosa informoi käyttäjää tästä, eikä bugia tarvitse jäljittää itse!

Lisäosan vahvuutena on vektoriaineistojen kuvaustekniikka: se lukee luokittelun, läpinäkyvyyden ym. tyyliasetukset suoraan tason kuvaustekniikkamäärittelyistä. Korkeusarvon voi asettaa ominaisuustietokentän tai siitä johdetun lausekkeen avulla. Tarkkoja ilmakuvia ja muuta rasteriaineistoa Qgis2threejs ei sen sijaan piirrä yhtä tarkasti tiiliä laskien kuin 3D-karttanäkymä. Ortoilmakuvalla täydennetty pintamalli meneekin sillä nopeasti rakeisen näköiseksi.

Toinen ominaisuus, joka tekee lisäosasta miellyttävän käyttää, on mahdollisuus viedä malli html-tiedostoksi jolloin sitä on helppo tarkastella myös QGISin ulkopuolella sekä jakaa ja julkaista laajemmallekin yleisölle. Html sisältää interaktion, eli mallia voi pyörittää ja zoomailla, ja sen saa myös pyörimään hitaasti itsensä ympäri. Lisäosan dokumentaatiossa kerrotaan myös mahdollisuudesta tallentaa malli gITF-formaatissa jolloin siitä voi tehdä 3D-tulostimella fyysisen mallin!

3D
PK-seudun väestöruutuaineisto Qgis2threejs-lisäosalla. Tarkastelukulmana poikkeuksellisesti pohjoinen!

Työkalu tarpeen mukaan

3D-karttanäkymällä ja Qgis2threejs-lisäosalla on siis omat vahvuutensa ja rajoitteensa. Itse käytän lisäosaa mielummin tilastoaineiston visualisoimiseen sen monipuolisten kuvastekniikkaominaisuuksien vuoksi. 3D-karttanäkymä taas mahdollistaa hyvinkin tarkan realistisen maastomallin tekemisen, jos vain koneessa riittää tehoja. Suurena puutteena on näkymän pysyminen QGISin sisällä. Fly by-animaatioita kiinnostuksen alaisesta alueesta olisi erittäin hyödyllistä pystyä esittämään laajemmallekin yleisölle.

Profiilikuva

Gispo

Gispo on suomalainen avoimen lähdekoodin paikkatietotalo, jonka palveluihin kuuluu paikkatietokonsultointia, sovelluskehitystä, koulutusta sekä ylläpitoa ja tukea.