Tämä erikoistyö on dokumenttina fotogrammetrian ja kaukokartoituksen laboratoriolle tehdystä ohjelmatyöstä, jossa on toteutettu elementtimenetelmään ja pienimmän neliösumman tasoitukseen perustuvaa aluepohjainen työkalu vektorimuotoisten maastotietojen ajantasaistukseen. Ohjelmointityö ja menetelmän toteutus on tehty Maanmittauslaitoksen maastotietojärjestelmän Maagis-ohjelmistoon. Toteutus esiteltiin fotogrammetrian, kuvatulkinnan ja kaukokartoituksen tutkijaseminaarissa maastotietojärjestelmän todellisella aineistolla. Menetelmän toteutuksen seurauksena on konkreettisesti voitu visualisoida itse menetelmää ja tutkia sen soveltuvuutta Maanmittauslaitoksen vektorimuotoisen maastotietokannan ajantasaistukseen.
Ohjelmisto on toteutettu yhteistyössä maanmittausinsinööri Sakari Haljalan kanssa, jolle haluan myös osoittaa kiitokset teoreettisen taustan selvittämisestä ja osastaan ohjelmointityöstä.
Digitaalisen ortokuvan käyttöönotto tiedonkeruussa ja ajantasaistuksessa juontaa juurensa vuosien -95 ja -96 aikana tehtyihin selvityksiin erilaisista vaihtoehdoista maastotietokannan ajantasaistustekniikoiksi. Selvitysten mukaan digitaalisen ortokuvan käyttö katsottiin olevan luonteva ensiaskel digitaaliseen kuvamaailmaan. Digitaalinen ortokuva on otettu tiedonkeruu- ja ajantasaistustekniikkana tuotantokäyttöön syksyllä -97.
Päällenäyttön toteuttamisen lisäksi on Maagis-ohjelmistoon toteutettu lukuisia eri toimintoja, joilla maastotietokannan tietoja kerätään ja ajantasaistetaan. Perinteisten siirrä/kierrä toimintojen lisäksi on haluttu myös tutkia ja toteuttaa toimintoja joilla voidaan käsitellä useampia kohteita kerralla. Elementtimenetelmään perustuva ajantasaistustyökalu on yksi näistä.
Elementtimenetelmää on sovelluttu myös aikaisemmin eri tarkoituksiin Maanmittauslaitoksessa. Tärkeimpiä sovellutuksia on ollut ns. Helsingin koordinaattijärjestelmän muuntaminen KKJ:hin ja valtakunnallisen korkeusmallin parantaminen fotogrammetrisesti mitattujen rajapyykkien avulla. Menetelmän teoreettiseen ja historialliseen taustaa löytyy lisää tietoja kirjallisuusviitteistä 1 ja 2. Elementtimenetelmä tunnetaan ehkä paremmin korkeuden interpolointi sovelluksena.
Digitaalisen ortokuvan ja ajantasaistustyökalujen toteuttaminen maastotietojärjestelmään on vaatinut oman panostuksensa ohjelmistokehitykseen. Ohjelmointityö on tehty Vax/OpenVMS ympäristössä, X/Motif ikkunointi järjestelmällä ja C/Fortran-ohjelmointi kielillä sekä UIL-käyttöliittymänkuvauskielellä.
Elementtimenetelmän periaatetta voidaan tarkastella yleisellä tasolla korkeuden interpoloinnin avulla. Tilannetta yksittäisellä pisteellä voidaan kuvata yhtälöllä 1:
vi = h i-1 - 2hi + hi+1 - 0 ; i = 2,(n-1) (1)
hi-1, h ja hi+1 kuvaavat tuntemattomia korkeuksia kolmella peräkkäisellä pisteellä (Kuva 1). Yhtälö (1) sisältää kahden vierekkäisen kaltevan pinnan erotuksen, joka voidaan tulkita numeeriseksi lähestymistavaksi kaarevuudelle pisteessä i. Yhtälö (1) muodostaa havaintoyhtälön, jossa kaarevuus oletetaan nollaksi pienellä poikkeamalla eli residuaalilla vi. Jokaisella osavälille voidaan muotoilla vastaava yhtälö.
Kuva 1.
Pisteet joilla on tunnettuja korkeuksia si esitetään havaintoyhtälön 2 avulla:
vsi = hi - si (2)
missä si on mitattu korkeus ja vsi siihen liittyvä residuaali. Mikäli korkeushavainto on elementin välissä, yhtälö (2) laajennetaan lineaarikombinaatioksi vierekkäisistä pisteistä.
Viemällä kaikki havaintoyhtälöt samanaikaisesti pienimmän neliösumman mukaiseen tasotukseen muodostavat lasketut korkeudet profiilikäyrän, jossa on minimoitu pinnan kaarevuutta /2/.
Elementtimenetelmän soveltaminen maastotietojärjestelmässä on edellisessä kappaleessa esitetyn periaatteen laajentamista yksi-dimensionaalisesta tapauksesta kaksi- dimensionaaliseen tapaukseen. Tasokoordinaattien parantamisessa tuntemattomina ovat korkeuden sijasta x- ja y-tasokoordinaatit. Havaintoina ovat kahden pisteen välinen koordinaattiero erikseen x-suunnassa ja erikseen y-suunnassa sekä pisteen ja janan välinen kohtisuora etäisyys. Menetelmää sovelletaan peräkkäin jokaiselle havainnolle erikseen.
Elementtimenetelmässä pistemäinen kohde tai koordinaattipari muunnetaan koordinaatistosta toiseen interpoloimalla koordinaattiero kahden koordinaattijärjestelmän välillä kyseiselle pisteelle. Koordinaattierot interpoloidaan aluksi muodostetun säännöllisen neliöruudukon yksittäisten ruutujen kulmapisteille. Interpolointi suoritetaan peräkkäin x- ja y-koordinaateille erikseen, jolloin yksi dimensionaalista menetelmää voidaan soveltaa myös kaksi dimensionaalisessa tapauksessa.
Kaksi-dimensionaalisessa tapauksessa joudutaan elementin jokaisessa nurkkapisteessä havaintoyhtälö muodostamaan neljään eri suuntaan: kaksi koordinaattiakselien suuntaisesti ja kaksi ruutuelementin diagonaalien suuntaisesti. Havaintoyhtälöt vastaavat yksi- dimensinaalisen tapauksen kaarevuuden tulkintaa. Yhtälöt (3-6) on esitetty x- tasokoordinaatin avulla. Elementin nurkkapisteen naapurien indeksointia havainnollistaa kuva 2.
vi5 = xi4 - 2xi5 + xi6 - 0 (3)
vi5 = xi8 - 2xi5 + xi2 - 0 (4)
vi5 = xi1 - 2xi5 + xi9 - 0 (5)
vi5 = xi7 - 2xi5 + xi3 - 0 (6)
Kuva 2. Elementin nurkkapisteen naapurien indeksointi nurkasta i5 tarkasteltuna.
Elementtimenetelmä ratkaistaan pienimmän neliösumman tasoituksella, joka minimoi residuaalien neliöllistä summaa tunnetuille koordinaattieroille tukipisteillä sekä interpolointipinnan kaarevuutta ruudun kulmissa. Kaarevuus tulee käsittää tässä yhteydessä samanlaiseksi tekijäksi kuin yksi-dimensionaalisessakin tapauksessa (kuva 1). Kaarevuuden vaikutusta lopulliseen muunnokseen voidaan muuttaa erilaisilla painokertoimilla. Kaarevuusyhtälöitä voidaan kutsua myös kuvitteellisiksi havainnoiksi joilla vaikutetaan muunnoksen elastisuuteen tai jäykkyyteen.
Koordinaattierot eli havainnot liittyvät joko viivan yksittäiseen viivapisteeseen tai viivapisteiden välisen janan kohtisuoraan etäisyyten (kuva 3).
Kuva 3. Havainnon kohdistuminen viivapisteeseen tai viivan janaan.
Mikäli osoituspisteestä löydetään (toleranssin sisältä) yksittäinen viivapiste tulkitaan havainto liittyväksi siihen. Mikäli osoituspisteestä löydetään vain viivan jana, tulkitaan havainto liitettäväksi janaan.
Havainnot voidaan esittää yleisessä muodossa havaintoyhtälönä:
vres = dtod - dhav (7)
missä dhav on mitattu arvo ja vres siihen liittyvä residuaali.
Havainnot liitetään ruudun nurkkapisteisiin bilineaarisen kaavan avulla (kuva 4):
xa = (1-x)(1-y) x1 + x(1-y) x2 + (1-x)y x3 + xy x4 (8)
Kuva 4. Bilineaarinen interpolointi.
Pistemmäisen havainnon tapauksessa bilineaarista kaavaa (8) sovelletaan yleisempään tapaukseen (7), jolloin saadaan lopullinen havaintoyhtälö x- ja y-koordinaattierolle.
Janan etäisyyshavainnolle eli b-mitalle voidaan kirjoittaa seuraavat yhtälöt (kuva 5):
aI = (xP - xI)cos(t) + (yP-yI)sin(t) (9)
b = (yP - yI)cos(t) - (xP - xI)sin(t) (10)
Kuva 5. b-mitta eli janan etäisyyshavainto.
Kuvan 5 mukaisesti voidaan janan etäisyyshavainnolle kirjoittaa virheyhtälö b-mitalle:
v = (aI/s)sin(t)dxII - (aI/s)cos(t)dyII + (aII/s)sin(t)dxI - (aII/s)cos(t)dyI - b (11)
Janan päätepisteet liitetään ruudun nurkkapisteisiin vastaavasti kuin pistemmäisen havainnon tapauksessa, eli bilineaarisella interpoloinnilla.
Interpolointipintaa kokonaisuudessaan approksimoidaan suurella määrällä toisenasteen pintoja. Nämä pinnat muodostavat muunnosalueelle säännöllisen ruudukon tai verkon solmupisteillä.
Tunnetut koordinaattierot ovat havaintoja jotka voidaan mieltää yksi-dimensionaalisessa tapauksessa interpolointipinnan korkeuksiksi. Pinnan kaarevuudet ruudun nurkissa eli solmupisteissä ovat kuvitteellisia havaintoja, jotka oletetaan nollaksi. Ruudukon jokaisessa nurkassa kaarevuusyhtälöt muodostetaan neljään eri suuntaan, kaksi koordinaattiakselien ja kaksi ruudun diagonaalien suuntaisesti. Kuvitteellisilla havainnoilla varmistetaan, että ratkaisussa on tarpeeksi havaintoja ratkaistavien tuntemattomien suhteen. Kaarevuusyhtälöihin voidaan vaikuttaa myös painokertoimilla ja täten koko muunnoksen elastisuuteen.
Pistemmäisen kohteen tapauksessa havaintona ovat siirtymät x- ja y-suunnassa, kun janan tapauksessa havaintona on vain kohtisuora etäisyys janasta.
Laskennasta saatavat siirtymät ruutujen nurkkapisteille heijastuvat muihin muunnosalueen ruutuihin linearisesti pienentyen muunnosalueen reunoja kohti jossa siirtymä pakotetaan nollaksi.
Koordinaattierot ruutupisteiden nurkista saadaan siirrettyä varsinaisille muunnettaville kohteille interpoloimalla. Koordinaattimuunnoksessa valitaan ruutuelementti joka sisältää muunnettavan pisteen ja interpoloidaan koordinaattierot muunnettavalle pisteelle bilineaarisesti käyttämällä ruutuelementin neljää koordinaattieroa syöttötietoina.
Elementtimenetelmällä määritetään tasokoordinaattien korjaukset, tarkoituksena parantaa vektoriaineistojen tasosijaintitarkkuutta. Käyttäjä määrittelee käsiteltävät kohteet ja suorakaiteen muotoisen muunnosalueen jolle muunnos lasketaan. Muunnosalueen sisällä käsitellään vain niitä kohteita jotka on käsittelyyn valittu.
Muunnoksen havainnot saadaan tekemällä tukipistehavaintoja digitaaliselta ortokuvalta. Tukipisteet voivat olla joko viivan yksittäisiä viivapisteitä tai viivan yksittäisiä janoja. Havainnot ovat koordinaattieroja vektoritietokannassa olevan kohteen ja ortokuvalla olevan kohteen välillä.
Muunnosalue jaetaan ohjelmallisesti sopivan kokoisiin ruutuihin. Ruudusto valitaan siten, että yhdelle havaintopisteelle tulee 49 (7*7) ruutupistettä. Jokainen lisäpiste kasvattaa ruutupisteitä n.20:llä kappaleella. Aineiston pisteet liitetään bilineaaristen muunnoskaavojen avulla ruutupisteisiin. Käyttäjän antamat siirtymät aineiston pisteisiin viedään havaintoina pienimmän neliösumman mukaiseen tasoitukseen, josta saadaan siirtymät ruutupisteille. Muodostetut havaintoyhtälöt ratkaistaan konjugaattigradientti-menetelmällä /3/. Siirtymät pakotetaan nolliksi muunnosalueen reunalla. Lopuksi ruutupisteistä interpoloidaan korjaukset vektoriaineiston kaikille pisteille.
Lopputuloksena muunnosalueen pisteet siirtyvät elastisesti tehtyjen havaintojen mukaan pitämällä siirtymät muunnosalueen reunoilla nollana.
Elementtimenetelmän soveltuvuudesta B-tason (graafisilta kartoilta digitoitujen) aineistojen ajantasaistukseen on tehty pienimuotoisia koetöitä maastotietojärjestelmän todellisilla aineistoilla. Tässä muutamia huomioita jotka ovat tähän asti tulleet esille.
Yleisesti ottaen B-tason aineistossa olevat tasosijaintivirheet johtuvat suurimmaksi osaksi kartografisesta yleistyksestä. Kun kohdetta on kerran yleistetty ei siitä enää saada alkuperäistä yleistämätöntä kohdetta millään ”taaksepäin muunnoksella”. On muistettava, että elementtimenetelmä ei lisätä pisteitä kohteisiin vaan ainoastaa siirtää kohteen yksittäisiä pisteitä.
Havaitut sijaintivirheet aineistossa ovat usein luonteeltaan siirtymiä tai kiertoja (yleistyksen lisäksi). Elastisuudestaan johtuen menetelmä ei sovellu tämän tyyppisten systemaattisten virheiden korjailuun vaan näissä tapauksissa perinteiset työkalut toimivat paremmin.
Menetelmän elastisuudesta johtuen rakennusten osalta muunnoksessa menetetään kohteiden suorakulmaisuus. Kohteet voidaan jälkikäsittelyllä suorakulmittaa, mutta tämä aiheuttaa turhaa lisätyötä.
Menetelmä soveltuu parhaiten tiestön geometrian parantamiseen, missä suorakulmaisuussäännöt eivät ole niin voimakkaasti esillä kuin rakennuksissa. Toinen mahdollinen käyttöalue on kartoitusalueet joissa on käytetty oikaisemattomia ilmakuvia suoraan tiedonkeruun pohjana. Tällaisessa tapauksessa maastovirhe aiheuttaa ”elastisia” virheitä kartoitukseen.
Koska muunnos on laskennallisesti suhteellisen raskas operaatio ei havaintojen vaikutusta käsiteltäviin kohteisiin pystytä näyttämään havaintokohtaisesti välittömästi kuvaruudulla vaan muunnos lasketaan kerralla erätyyppisesti kaikille kohteille. Tämä tuo työkaluun hiukan sokkomaisen piirteen.
Yleisesti muunnoksen lopputuloksena saadan aineistoa aina parannetua jonkin verran, mutta yksittäisiä korjauksia kohteisiin jää aina. Koetöiden perusteella voidaan sanoa, että huonosti kerättyä tai kartografisesti yleistettyä maastotietoa on vaikea saada kuntoon tämän kaltaisilla työkaluilla. Vanhoista kohteista voidaan ottaa talteen kohteeseen liittyvät ominaisuustiedot, mutta geometria joudutaan hyvin usein digitoimaan uudelleen.
1. Transform of National plane coordinate systems by the method of finite elements, Sakari Haljala, Nordiska Geodetmötet, Gävle, 1982
2. Nachrichten aus dem Karten- und Vermessungswesen 36, Verlag des Instituts fur Angewandte Geodäsie, Frankfurt A.M. 1978
3. Pienimmän neliösumman tasoitus, luentomoniste TKK, Keijo Inkilä, 1997.
Tässä liitteessä kuvataan Maagis-ohjelmiston käyttöliitymästä osa joka välittömästi liittyy elementtimenetelmä-pohjaisen editointityökalun käyttöön
Esimerkkikuvina on käytetty Maanmittauslaitoksen digitaalisia ortokuvia (copyright Maanmittauslaitos, lupa nro 166/MAR/98).
Elementtimenetelmätyökalu on sijoitettu Maagis-ohjelmiston Komennot valintaikkunaan nimellä Muuta viivan sijainti. Toimintakomentoon liittyy ohjauksina Toleranssi valintamenu ja painonapit Alue ja Poimi. Toleranssi ohjaa työskentelyn aikana annettuja osoituksia normaaliin tapaan. Painonapit Alue ja Poimi keräävät kohteita työkalun käsittelyyn. Alue ohjauksella voidaan käsiteltävät kohteet rajata polygonilla ja Poimi ohjauksella voidaan käsiteltävät kohteet kerätä yksitellen. Käsiteltävien kohteiden määrittely lopetetaan segmentointi-komennolla (hiiren 3. painonappi).
Kuva 1.
Kohteiden tasosijaintivirheet B-tason aineistoissa ovat kohteesta riippuen metristä pariin kymmeneen metriin. Kuvassa 2 nähdään esimerkki poluksi luokitellun kohteen tasosijaintivirheestä.
Kuva 2. Esimerkki polku kohteen tasosijaintivirheestä (copyright Maanmittauslaitos, lupa nro 166/MAR/98).
Kun käsiteltävät kohteet on määritelty joko polygonilla tai poimimalla voidaan muunnosalue määritellä joko osoittamalla vapaasti määriteltävä ikkuna tai vaihtoehtoisesti muunnosalueeksi voidaan myös valita käsiteltävien kohteiden muodostama minimi/maksimi- ikkuna (kuva 3).
Kuva 3. Muunnosalueen määritys.
Määriteltäessä muunnosalue ikkunalla ohjelma pyytää normaalisti ikkunaosoituksia (kaksi vastakkaista kulmaa). Muunnosalue on aina suorakulmion muotoinen. Ohjelma piirtää näytölle annetun muunnosalueen rajat.
Tämän jälkeen ohjelma pyytää osoituksia vuorotellen kohteille vektoritietokannasta ja vastaavia kohtia ortokuvalta. Osoitettuihin kohteisiin piirretään ristisymboli sekä vektoritietokannassa että ortokuvalla ja osoitetut kohteet voidaan normaalisti joko hyväksyä tai hylätä (kuva 4).
Kuva 4. Vastinpisteosoituksien pyytäminen.
Vektoritietokannan kohteiden osoitukset voivat kohdistua joko yksittäiseen pisteeseen tai viivan yksittäiseen janaan (kuva 5).
Kuva 5. Vastinpisteosoitukset näytöllä (copyright Maanmittauslaitos, lupa nro 166/MAR/98).
Kun käyttäjä on osoittanut sopivan määrän muunnoksessa käytettäviä vastinpistepareja (lopetus = segmentointi) hyväksyttää ohjelma muunnoksen ennen kohteiden kirjoittamista tietokantaan.
Kuva 6. Muunnoksen hyväksyttäminen (copyright Maanmittauslaitos, lupa nro 166/MAR/98).
Mikäli muunnos hyväksytään kirjoitetaan kohteet kantaan uudella geometrialla säilyttäen kohteeseen liittyvät ominaisuustiedot ja topologinen eheys (kuva 7).
Kuvat 7. Kohteet muunnoksen jälkeen (copyright Maanmittauslaitos, lupa nro 166/MAR/98).
Tässä liitteessä kuvataan liitteessä 1 esitetyn muunnoksen varsinaisia syöttö- ja tulostietoja.
Syöttötiedot varsinaiseen muunnokseen:
Koordinaattiparit (desimetreissä) -1:een saakka ovat tiepisteiden alkuperäisiä koordinaatteja muunnosalueella. -1:sen jälkeen ilmoitetaan havainnot ja indeksi mihin pisteeseen (yksi indeksi) tai janaan (kaksi indeksiä) havainto kohdistuu.
47910.12 9635.02
47897.57 9458.14
47900.88 9283.08
47974.30 8974.25
48035.35 8790.27
48051.93 8575.44
48095.42 8393.63
48110.00 8317.10
48110.00 8317.10
48126.11 8226.60
48153.45 8104.53
48203.21 7987.89
48293.05 7869.50
48466.12 7717.67
48572.90 7618.84
47246.82 8400.10
47497.40 8252.23
47640.68 8087.32
47778.30 7957.33
47900.43 7852.07
48060.37 7732.51
48291.78 7671.84
48472.78 7630.23
48572.90 7618.84
-1
47839.36 8948.69 4
47912.84 8620.20 5 6
48083.57 8120.97 10 11
48336.43 7755.73 13 14
47688.08 7969.68 18 19
47813.42 7820.56 19 20
Aineistolle lasketaan muunnos ja tulokseksi saadaan korjaukset alkuperäisiin koordinaatteihin (desimetreissä).
Tulostiedot varsinaisesta muunnoksesta:
0.0 0.0 1Tässä liitteessä on esitetty havainnollistava esimerkkitapaus joka esiteltiin keskustelun pohjaksi fotogrammetrian, kuvatulkinnan ja kaukokartoituksen tutkijaseminaarissa.