Tällä oppaalla saat melko tarkat arvot height= ja roof:height= -tägeille OSM:ään.
Tarvitset tähän ilmaisen QGIS-ohjelman. MML:n karttapaikalta voi ladata ilmaiseksi 0,5m:n laserkeilausaineiston. Laserkeilausaineisto on pisteistä koostuva ristikko, joiden Z-koordinaatista saa selvillä pisteen korkeuden, ainakin suhteessa läheisiin muihin pisteisiin. LAZ-tiedoston ladattua voit avata QGIS:in.
(Valinnainen) Ortokuvataustataso QGIS:ssä
QGIS:ssa saa satelliittikuvan päälle lisäämällä WMS-tason. Paina Ctrl+Shift+W avataksesi WMS-yhteysdialogin. Klikkaa ylhäältä “Uusi” ja liitä URL-kenttään haluamasi WMS palvelimen osoite. PK-seudulla HSY:n hyvän ortokuvan saa osoitteesta “https://kartta.hsy.fi/geoserver/wms”. Klikkaa OK. Ylhäällä valikossa pitäisi olla nyt lisäämäsi WMS-taso. Klikkaa sen alla olevaa Yhdistä-nappia. Jos käytät HSY:n kuvastoa, hae valikosta “Ortoilmakuva 2023”. Valitse haluamasi kuvatasosi ja klikkaa “Lisää”. Asetusvalikkoikkunan voi nyt sulkea.
Laserkeilausdatan muunto
Raahaa ja pudota lataamasi LAZ-tiedosto QGIS-ikkunaan. Laserkeilausdata tulee näkyviin. Se on parempi interpoloituna; paina Ctrl+Alt+T, laajenna valikosta “Pistepilven muuntaminen” ja avaa “Vie rasteriksi (käyttäen kolmiomittausta)”. Klikkaa “Suorita”-nappia, ja sulje valikko prosessin valmistuttua. Voit halutessasi piilottaa ilmestyneen mustavalkoisen korkeuskartan vasemmalta tasovalikosta.
Tällä voit klikata kartalta kahta tai useampaa pistettä piirtääksesi linjan, jonka korkeuksia haluat mitata. Linjan piirtäminen lopetetaan hiiren oikealla napilla.
OSM:ssä height= on yleensä korkeus rakennuksen matalimmasta maahan koskettavasta kohdasta rakennuksen korkeimpaan kohtaan. Tämän erotuksen saat mittaamalla käyrän matalimman ja korkeimman kohdan, jolloin mittarityökalu ilmoittaa korkeuseron “Δ Elevation” -lukuna. Samalla menetelmällä voit myös löytää sopivan roof:height=:n arvon mittaamalla katon matalammasta kohdasta katon korkeimpaan kohtaan.
Korkeusaineistona voinee hyvin käyttää Korkeusmalli2:sta. Tässä ohjeessa tulee ylimääräinen työvaihe kun vastaavaa muunnos laserdatasta korkeusmalliksi tehdään ite sen sijaan että käytettäviin valmista km2:sta.
Käytän itsekin laserkeilausaineistoa rakennuksien korkeuden määrittämiseen todettuani, että korkeusmalli 2 on enemmänkin maanpinnan tasoa kuvaavaa aineistoa. Rakennukset suodatetaan siitä pois.
On DSM:kin mittalaitokselta saatavilla - ei vain ilmaiseksi, eli olen sitä ammattiversiota käyttänyt. Mutta noihan se homma menee, eli jollain ilveellä pitää saada rakennukselle sen alueen korkein korko. Olen joskus tehnyt kunnille vastaavaa hommaa, jossa ilmakuvalta segmentoitiin yhtenevät alueet - LAS tiedosto luokitettiin luokkiin ja jos segmentin pääluokka oli rakennus uskottiin, että kyseinen segmentti on rakennuksen osa. Sen jälkeen jokaiselle segmentille alueen maksimi - miinus joku luku, jolla siivosin puiden häiriöitä pois. Ja kaiken kukkuraksi toisiinsa liittyvien segmenttien dissolve ja meillä oli kunnan rakennukset 3d muodossa aika hyvin
Sama asia hoituisi ehkä OSM datassa logiikalla
Valitaan kaikki OSM rakennukset, joilla ei ole korkeutta
Lasketaan jokaiselle niistä oman alueensa MAX Maanmittauslaitoksen 2m DSM mallista
Ehkä vähennetään joku luku, jos rakennus jää lähelle puita tai sitten ei käytettä MAX arvoa vaan jotain mediaania tms.
Ja näin meillä olisi koko Suomesta jokaisella tönöllä joku ihan tolkullinen korkeus. Olennaistahan on se, että meidän ei tarvitse keksiä rakennuksia, kuten minä joskus tein vaan luotettaisiin OSMissa jo olevien rakennusten olevan totta. Se helpottaa hommaa aika paljon. Oikeastihan tuossa on kyse vain yhden korkeusattribuutin luomisesta OSM rakennuksille, eli mikään geometria tms, ei siinä muuttuisi miksikään.
Tosin fiksuinta olisi ensin tuoda Maanmittauslaitoksen rakennuksille maastotietokantaan valmiiksi tuomat korkeudet ensin, ennen kuin aletaan synnyttämään lisää. Eli se prosessi on jo tehty ja ihminen on ne tarkastanut, joten olisi tolloa jättää se tieto hyödyntämättä.
ArcGISillä osaisin - QGISlläkin ehkä, mutta onhan tuo nyt vähäistä isompi homma ja tarvittaisiin se 2m DSM data. Se mitä en nyt kyllä osaa on se miten tuollainen paikkatietohjelmaan tuotettu data saataisiin liitettyä OSMissa oikealle rakennukselle. Laskentaan pitäisi tuoda OSM rakennus ID mukana, jotta sen tuloksen saisi liitettyä oikealle rakennukselle. Mikään virallinen rakennus ID ei kelpaa, koska eihän sitä jokaisella OSM tönöllä ole.
Aivan siellä on 3d rakennuksetkin. No se ei kuitenkaan ihmeitä tee, koska OSM on 2d ympäristö ja ainoa tapa ilmaista korkeuksia on atribuuttien kautta. Tuo Maanmittauslaitoksen data on aito 3d vektori, joka sisältää kattojen lappeita tms. Eli tehtiinpä niin tai näin, niin jotenkin pitää saada yksi height atribuutin arvo per rakennus. Sen hienompaan OSM ei kykene. Toki sen voisi noista 3d rakennuksista muodostaa - joko rakennuksen maksimikorkeus tai sitten joku keskimääräinen mediaani tai keskiarvo
Kun nyt katselen tarkemmin MML:n paikkatietokannan perus rakennuksia niin oman taloni kaikki korkeustiedot näyttävät olevan nollaa ja kuin myös kohteen geomeriakin. Eli vuonna 2003 Vantaalle rakennettu talo ei näytä vielä kaikuneen 3d objektina mitenkään maanmittauslaitokselle. Kerrosluku siellä on, eli asettamalla minun talo kyseisen alueen korkeusmallin mukaiseen korkoon ja lisäämällä vaikkapa 4m per kerros ollaan aika lähellä katon korkeutta - muutaman metrin sisällä.
Tuo ketjun avauksessa kuvattu prosessi on ihan pätevä jos tavoitellaan rakennuksille height arvoa yksi rakennus kerrallaan, mutta koko maan kattava aineisto on tuolla tavalla kyllä kovan työn takana.
Eli tehtiinpä niin tai näin, niin jotenkin pitää saada yksi height atribuutin arvo per rakennus. Sen hienompaan OSM ei kykene.
height on rakennuksen korkein kohta maanpinnasta. Pointtihan tässä on, että OSM kykenee hienompaa kuvaukseen rakennuksen muodosta. Simple 3D Buildings -skeema on ollut käytössä jo yli vuosikymmen, ja laserkeilausdatalla saa yksityiskohtaiset height, roof:height ja jopa roof:shape -arvot rakennuksen jokaiselle osalle.
Esimerkiksi vaikka laserkeilausaineiston avulla OSM:n tägeillä mallintamani ja tällä hetkellä tietokannassa livenä oleva Helsingin tuomiokirkko (renderöity Urban Eye 3D:llä):
Tuotapa en muuten tiennyt. Tuohan mahdollistaa sen, että se mittalaitoksen 3d hahmo jotenkin tuotaisiin OSM tageihin. Se ei liene maanlaajuisena massana ihan helppo rasti, eli pitäisi osata siitä CityGML muodosta jotenkin automaatiolla purkaa se rakennus OSM Simple Building skeemaan.
Joskin onhan tuo tuomiokirkon mallinnus OSM hahmoksi ihan älyttömän monimutkainen juttu ja itse olin enemmän tällä yksi polygoni muodostaa yhden rakennuksen ajatuksella liikkeellä. Siinä tarvitaan vain yksi korkeuslukema per yksi rakennus.
Seuraan erittäin mielenkiinnolla miten esimerkiksi tuo viimeiaikoina tekemäsi tuomiokirkon muokkaus näyttäytyy tuossa palvelussa. Tuossa Esrin palvelussa on jonkinlainen kuukauden tms. viive, jolla uutta versiota OSM datasta haetaan ja sitä en tunne miten hyvin se osaa tuoda kaikkia OSM hienouksia, joita tuossa tuomiokirkossa on selvästi käytetty. Siihen en usko, että se mallintaisi ihan samaan tasoon kuin noissa sinun kuvankaappauksissa, eli pylväät, värit ja ristit katolla eivät varmasti siellä näy, mutta mielenkiinnolla seuraan miten homma kehittyy.
Oma kulma ei niinkään ole tässä se miten hienosti joku yksittäinen rakennus saadaan mallinnettua vaan enemmänkin se, että 3d datan kattavuus Kyyjärvelläkin paranisi ja sitäkautta sen käyttäminen muun paikkatiedon kanssa olisi parempaa.
Kiitti vinkistä. Olenkin miettinyt mistä noita korkeuksia saisi tarkemmin, kun olen vain käyttänyt sitä oletusta että kerros = 3 metriä korkea. (Mikä tosiaan wikissä sanotaan). Saattaisi helpottaa mallinnusta. Tässä esim. Vuosaaressa terassitalot Ulappasaarentiellä mitkä tein tuossa vähän aikaa sitten.
Olen käyttänyt tuota f4map demoa noiden katselemiseen, mutta se on vähän hidasta kun päivittyvät kerran päivässä. Pitäisi kai kokeilla tuota JOSM pluginia näiden tekemiseen.