Geodeettisen laitoksen muunnospalvelun käyttöohje Versio 1.2 1 Käyttöohje - Koordinaattimuunnokset 1.1 Yleisesti Ohjelmassa on jaettu sivuston vasemmalle puolelle lähtötiedot ja oikealle puolelle kohdetiedot. Ensimmäisenä on valittava näistä kummastakin koordinaatistot. Tämän jälkeen voit syöttää yksittäiset koordinaatit tekstikenttiin tai kertoa ohjelmalle missä muodossa lähtötiedosto on. Muunnettaessa koordinaatit tiedostoon on sinun vielä kerrottava ohjelmalle miltä haluat kohdetiedoston näyttävän. Itse muunnoksen suoritat painamalla Muunna-nappia. 1.2 Koordinaatistojen valinta Koordinaattimuunnosten suorittamiseksi sinun on tiedettävä koordinaattien lähtö- ja kohdekoordinaatisto. Koordinaatiston valinta tapahtuu seuraavassa järjestyksessä kummankin koordinaatiston osalta: 1. Valitse haluttu datumi tiputusvalikosta 2. Valitse koordinaatisto nimen perusteella tiputusvalikosta 3. Valitse haluttu korkeusjärjestelmä tiputusvalikosta 4. Tarkenna tasokoordinaatiston projektiokaista tiputusvalikosta Jotta koordinaattimuunnos on mahdollinen toteuttaa, on lähtö- ja kohdekoordinaatiston ulottuvuuden oltava sama. 2-ulotteisen kohdekoordinaatiston lähtökoordinaatiston on siis myös oltava 2-ulotteinen. Aitojen 3-ulotteisten koordinaatistojen tapauksessa on kuitenkin sallittua muuttaa koordinaatit 2D + 1D-koordinaatistoon (taso + korkeus), ja toisin päin. Esimerkiksi kuvan 1 muunnos 3-ulotteisiin EUREF-FIN -koordinaatteihin on mahdollinen, koska ykj :n kanssa käytetään N60 -korkeuksia. 2D-koordinaatistojen kanssa voi määritellä korkeusjärjestelmiksi N60, N2000 tai ellipsoidisen korkeuden (GRS80 ). Kun olet valinnut koordinaatistot, voit joko syöttää yksittäiset lähtökoordinaatit suoraan tekstikenttiin tai määritellä missä muodossa koordinaatit on tallennettu lähtötiedostoon. 1
Kuva 1: Kuvassa on valittu lähtökoordinaatistoksi yhtenäiskoordinaatisto (ykj) ja kohdekoordinaatistoksi 3-ulotteinen EUREF-FIN. 1.3 Yksittäiset koordinaatit Yksittäisten koordinaattien pituuden mittayksikkö on aina metri ja kulmien aste. Desimaalierottimena hyväksytään sekä piste että pilkku, mutta tuhaterottimia (välilyönti tai pilkku) ei saa käyttää. Yksittäisten koordinaattien enimmäismäärä on kymmenen. Tuloskoordinaattien esitystarkkuus on aina 0.1 cm. Asteet pyöristetään vastaavaan tarkkuuteen, jolloin niissä on 9 desimaaalia. Huomioi koordinaatteja syöttäessä, että kirjoitat koordinaatit oikeassa järjestyksessä. Järjestys vaihtelee koordinaatistosta riippuen ja oikea järjestys selviää tekstikenttien yläpuolella sijaitsevista otsakkeista. Kuvassa 2 on esimerkiksi kirjoitettu kymmenen ykj-koordinaatin arvot sekä N60-korkeudet tekstikenttiin, minkä jälkeen on painettu Muunna-nappia. Lähtökoordinaateissa pohjoiskoordinaatti edeltää tässä tapauksessa itäkoordinaattia, kun taas tuloskoordinaateissa itäkoordinaatti on ennen pohjoiskoordinaattia. 2
Kuva 2: Yksittäisten koordinaattien syöttäminen. 1.4 Tekstitiedostot Koordinaattimuunnokset voidaan suorittaa tiedostosta ja/tai tiedostoon. Lähtötiedoston on oltava ASCII-muodossa ja sen enimmäiskooksi on rajoitettu 5Mt ( 50000 riviä koordinaatteja). 1.5 Kulman muoto/yksikkö Sekä lähtötiedoston että kohdetiedoston asetuksista voit valita maantieteellisten koordinaattien osalta missä mittayksikössä ja muodossa kulmat ovat. Palvelun tukemia mittayksiköitä ovat aste, gooni ja radiaani. Etäisyyksien osalta käytössä on vain metri, koska muiden yksiköiden käyttö on harvinaista Suomessa. Mahdollisia kulmien muotoja ovat desimaalimuodot ja asteen seksagesimaalijärjestelmän (60-kantaisen järjestelmän) variaatiot: deg - Asteet desimaalimuodossa (liukuluku) rad - Radiaanit desimaalimuodossa (liukuluku) gon - Goonit (uusasteet) desimaalimuodossa (liukuluku) DDD.dd - Asteet desimaalimuodossa, jossa tuloskoordinaattiin kirjoitetaan kokonaisluvun osalta aina 3 numeroa (myös nollat eteen) 3
Kuva 3: Tiedoston sisällön muuttaminen. DD MM SS.ss - Asteet ja minuutit ovat kokonaislukuina, kun taas sekunnit desimaalimuodossa. Asteet, minuutit ja sekunnit erotetaan toisistaan tyhjillä väleillä (välilyönti tai tabulaattori) DD MM.mm - Asteet ovat kokonaislukuja ja minuutit desimaalimuodossa. Asteet ja minuutit erotetaan toisistaan tyhjillä väleillä (välilyönti tai tabulaattori) DDDMMSS.ss - Asteet ja minuutit ovat kokonaislukuina, kun taas sekunnit ovat desimaalimuodossa. Asteiden kokonaislukuosassa on pituus aina 3 numeroa, kun taas minuuttien ja sekuntien kokonaislukuosuuden pituus on aina 2 numeroa. Kaikki luvut kirjoitetaan yhteen. DDDMM.mm - Asteet ovat kokonaislukuja ja minuutit ovat desimaalimuodossa. Asteiden pituus aina 3 numeroa ja minuuttien kokonaislukuosan pituus 2 numeroa. Asteet ja minuutit kirjoitetaan yhteen. 4
1.5.1 Otsakerivien määrä Voit määrittää tiedoston alussa olevien otsaketietojen rivimäärän. Tämä tehdään kirjoittamalla Otsakerivien määrä-kenttään rivien lukumäärä. Ohjelma ohittaa kyseiset rivit sekä kaikki tyhjät rivit. 1.5.2 Desimaali- ja sarake-erotin Koordinaattiarvot, koordinaattien tunnisteet sekä kaikki koordinaattiarvoja seuraava tieto on erotettava toisistaan joko tyhjillä väleillä (välilyönnit ja tabulaattorit) ja/tai pilkuilla. Näitä kutsutaan sarake-erottimiksi. Lähtötiedostosta päätellään automaattisesti sarake-erotin, mutta tulostiedostoa varten pitää sarake-erotin kertoa erikseen ohjelmalle. Lähtötiedoston osalta on kuitenkin ilmaistava desimaalierotin, jotta ohjelma ei sekoita mahdollisia sarake-erottimia desimaalierottimeksi. Kun asetat desimaalierottimeksi pisteen, voit käyttää sarake-erottimena pilkkua. 1.5.3 Koordinaattien tunnisteet Lähtötiedoissa voi kertoa edeltääkö koordinaattiarvoja jokin sarake-erottimella erotettu tunniste (ID). Tunniste voi olla mikä tahansa yhteen kirjoitettu merkkijono, kuten pisteen numero. Tunnisteen olemassaolosta kerrot valitsemalla Käytä tunnistetta. Valittaessa Käytä tunnistetta tuloskoordinaattien puolelta, kirjoittaa ohjelma lukemansa tunnisteet tulostiedostoon. Jos alkuperäinen tiedosto ei sisältänyt tunnisteita, kirjoittaa ohjelma jokaiselle pisteelle uudet tunnisteet, jotka ovat nollasta alkaen kasvavia positiivisia kokonaislukuja. 1.5.4 Koordinaatit käänteisesti Koordinaattiarvojen, eli koordinaattiakseleiden, järjestys on tekstitiedostossa sama kuin käsin syötettyjen yksittäisten koordinaattien tapauksessa. Järjestys vastaa myös koordinaatiston kuvailussa olevaa koordinaattiakseleiden järjestystä. Voit syöttää koordinaattien kaksi ensimmäistä arvoa päinvastaisessa järjestyksessä valitsemalla Koordinaatit käänteisesti. Tulostiedoston osalta sama valinta kirjoittaa jokaisen koordinaatin kaksi ensimmäistä arvoa päinvastaisessa järjestyksessä tulostiedostoon. 1.5.5 Desimaalien tarkkuus Desimaalien tarkkuudella kerrot kuinka monta desimaalia haluat tuloskoordinaatteihin. Tämä ei vaikuta laskennan tarkkuuteen eli muunnos ja sillä 5
Taulukko 1: Desimaalien tarkkuuden vaikutus kulmien desimaalien lukumäärään Ilmoitettu Asteissa ja Radiaaneissa desimaaleja metrinen tarkkuus gooneissa desimaaleja 0.1 mm 9 11 1 mm 8 10 1 cm 7 9 0.1 m 6 8 1 m 5 7 tuotetut koordinaatit eivät ole yhtään tarkempia vaikka desimaaleja valitsee enemmän. Vaihtoehdot on annettu metrisinä arvoina, jotka ohjelma muuttaa kulmien tapauksessa vastaamaan haluttua metristä tarkkuutta (Taulukko 1). Suosituksena on säilyttää desimaalien määrä sellaisena, että se kuvaa alkuperäisen aineiston tarkkuutta tai on kertaluvun pienempi (Esimerkiksi vastaava tai yhdellä pienempi desimaalilukumäärä kuin alkuperäisellä aineistolla). 1.5.6 Rivin erotin Jokaisen yksittäisen pisteen tiedot on annettava yhdellä tiedoston rivillä. Käyttöjärjestelmästäsi riippuu mikä merkkijono lopettaa ASCII-tiedoston rivin. Lähtötiedoston osalta hyväksytään kaikki yleisimmät rivinerottimet, mutta tulostiedostoa varten on sinun kerrottava mitä käyttöjärjestelmää varten tulostiedosto on tarkoitettu. 1.5.7 Tulosteeseen rivin loput Lähtötiedosto saattaa sisältää jotain ylimääräistä tietoa pisteistä, joka seuraa varsinaisia koordinaattiarvoja. Ylimääräinen tieto pitää olla lähtötiedostossa erotettuna koordinaattiarvoista sarake-erottimella. Voit halutessasi kirjoittaa samat tiedot tulostiedostoon valitsemalla Tulosteeseen rivin loput. 1.5.8 Kardinaalien käyttö Saat tulostiedostoon halutessasi koordinaattien perään koordinaatin ilmansuuntaa vastaavan merkin. Merkkejä ovat N, S, W ja E. 6
2 Käyttöohje - Kolmioittaiset muunnokset 2.1 Yleisesti Kolmioittainen muunnos on tarpeen muunnettaessa tarkasti koordinaatteja kkj- ja EUREF-FIN -koordinaatistojen välillä. Myös korkeusjärjestelmien N60 ja N2000 sekä N43 ja N60 välillä on käytössä kolmioittainen muunnos. Tasokoordinaatistojen tapauksessa jokainen kolmio sisältää affiinisen muunnoksen parametrit. Korkeusmuunnosten tapauksessa jokainen kolmion kärkipiste sisältää siirtokorjaukset. Yhteistä muunnoksille on, että ensimmäinen vaihe käytettäessä muunnoksia on etsiä muunnoksen parametrit määrittävä kolmio. 2.2 Pisteen sisältävän kolmion etsiminen On olemassa useita tapoja tarkastaa onko piste kolmion sisällä, kuten laskea kulmat tarkasteltavasta pisteestä kuhunkin kolmion sivuun. Piste on kolmion sisällä, jos yksikään kulma ei ylitä 180 astetta. Laskiessa liukuluvuilla pitää sallia pieni toleranssi (ero pi:stä). Kulmien käyttö on kuitenkin laskennallisesti työlästä, minkä takia tässä kappaleessa esitellään kaksi vaihtoehtoista menetelmää tarkistaa onko piste jonkin kolmion sisällä. Sellaisenaan menetelmät eivät kuitenkaan tehokkaasti etsi kolmioita, vaan ovat naiiveja eli käyvät kolmioita läpi kunnes löytyy se, jonka sisällä haettu piste sijaitsee. Kolmion etsintää voi tehostaa spatiaalisella indeksoinnilla, jolloin hakuavaruutta pienennetään. Spatiaalisen indeksoinnin menetelmiä on useita, kuten R-puu (engl. R-tree), kd-puu (engl. kd-tree), nelipuu (engl. Quadtree) ja näiden lukuisat johdannaiset. Spatiaalisen indeksoinnin menetelmiä ei tässä käydä läpi. 2.2.1 Ristitulomenetelmä Ristitulomenetelmässä päätellään onko piste P kolmion sisällä ristitulon k:n kertoimista. Kolmion muodostavat nurkkapisteet A, B ja C. α k = (x P x A )(y P y B ) (y P y A )(x P x B ) β k = (x P x B )(y P y C ) (y P y B )(x P x C ) λ k = (x P x C )(y P y A ) (y P y C )(x P x A ) Jos kaikki kertoimet (α k, β k, λ k ) ovat samanmerkkisiä (positiivisia tai negatiivisia), niin piste sijaitsee kolmion sisällä. Jos jokin kerroin on nolla muiden ollessa samanmerkkisiä, niin piste sijaitsee yhdellä kolmion sivulla, 7
jolloin kolmio on myös löytynyt. Kaikissa muissa tapauksissa piste sijaitsee kolmion ulkopuolella. Laskun taustat Seuraavana esitetään laskun taustalla olevat välivaiheet. Menetelmässä lasketaan aluksi vektorit (P A, P B ja P C) haettavan pisteen P ja jokaisen kolmion nurkkapisteen (A, B, C) välille. a = x a i + y a j + z a k (1) P A = (x P x A )i + (y P y A )j + 0k P B = (x P x B )i + (y P y B )j + 0k P C = (x P x C )i + (y P y C )j + 0k Seuraavana lasketaan kaikkien vektoreiden väliset ristitulot P A P B, P B P C ja P C P A. a b = (a y b z a z b y )i + (a z b x a x b z )j + (a x b y a y b x )k (2) Sama ilmaistuna determinanttien avulla i j k a b = det x a y a 0 (3) x b y b 0 i j k = x a y a 0 (4) x b y b 0 = y a 0 y b 0 i x a 0 x b 0 j + x a y a x b y b k (5) = x a y a x b y b k (6) = ( x a y b y a x b )k (7) Ristitulomenetelmässä päätellään onko piste kolmion sisällä k:n kertoimista α k = ( x P A y P B y P A x P B ) = (x P x A )(y P y B ) (y P y A )(x P x B ) β k = ( x P B y P C y P B x P C ) = (x P x B )(y P y C ) (y P y B )(x P x C ) λ k = ( x P C y P A y P C x P A ) = (x P x C )(y P y A ) (y P y C )(x P x A ) 8
Laskuesimerkki 1 Olkoon pisteen P ja tutkittavan kolmion kärkipisteiden koordinaatit seuraavat x P = 6702350.721 y P = 3221501.534 x A = 6649538.429 y A = 3218328.492 x B = 6693710.937 y B = 3244102.707 x C = 6667656.285 y C = 3245527.153 Lasketaan ristitulolla saatavat k:n kertoimet α k = (6702350.721 6649538.429)(3221501.534 3244102.707) (3221501.534 3218328.492)(6702350.721 6693710.937) = 1221034145.521 β k = (6702350.721 6693710.937)(3221501.534 3245527.153) (3221501.534 3244102.707)(6702350.721 6667656.285) = 576558791.547 λ k = (6702350.721 6667656.285)(3221501.534 3218328.492) (3221501.534 3245527.153)(6702350.721 6649538.429) = 1378934908.703 Koska kaikki kertoimet eivät ole samanmerkkisiä, niin piste on kolmion ulkopuolella. Laskuesimerkki 2 Olkoon pisteen P ja tutkittavan kolmion kärkipisteiden koordinaatit seuraavat x P = 6702350.721 y P = 3221501.534 x A = 6649538.429 y A = 3218328.492 x B = 6693710.937 y B = 3244102.707 x C = 6715311.822 y C = 3205290.722 9
Lasketaan ristitulolla saatavat k:n kertoimet α k = (6702350.721 6649538.429)(3221501.534 3244102.707) (3221501.534 3218328.492)(6702350.721 6693710.937) = 1221034145.521 β k = (6702350.721 6693710.937)(3221501.534 3205290.722) (3221501.534 3244102.707)(6702350.721 6715311.82) = 152878126.625 λ k = (6702350.721 6715311.822)(3221501.534 3218328.492) (3221501.534 3205290.722)(6702350.721 6649538.429) = 897256254.740 Koska kaikki arvot ovat negatiivisia, niin piste on kolmion sisäpuolella. 2.2.2 Barysentriset koordinaatit Aluksi lasketaan neljä (tai kolme) tarvittavaa apumuuttujaa M T = (y B y C )x A (y A y C )x B + (y A y B )x C (8) M A = (y C y P )x B (y B y P )x C + (y B y C )x P (9) M B = (y A y P )x C (y C y P )x A + (y C y A )x P (10) M C = (y B y P )x A (y A y P )x B + (y A y B )x P (11) Apumuuttujista M A, M B tai M C yksi voidaan myös jättää laskematta, mikäli ei ole tarve tarkistaa tulosta. Seuraavana lasketaan barysentriset koordinaatit apumuuttujien avulla λ A = M A M T (12) λ B = M B M T (13) λ C = M C M T (14) Yksi barysentrisistä koordinaateista voidaan myös laskea kahden muun kautta, jolloin ei tarvitse kuin aluksi laskea kolme apumuuttujaa λ A = 1 λ B λ C (15) λ B = 1 λ A λ C (16) λ C = 1 λ A λ B (17) 10
Jos kaikki barysentriset koordinaatit ovat välillä 0..1, niin piste sijaitsee kolmion sisällä. Jos joku barysentrisistä koordinaateista on 0, niin piste sijaitsee kolmion sivulla, kun taas yhden koordinaateista ollessa 1 (ja kaksi nollia) sijaitsee piste yhdessä kolmion kärkipisteistä. Barysentristen koordinaattien tausta Seuraavana esitetään laskun taustat. Barysentrinen avaruus määräytyy jonkin simpleksin (n-ulotteisen monikulmion) pinnan mukaan. Kyseisen avaruuden barysentriset koordinaatit 1 määrittävät pisteen painon (λ) suhteessa kuhunkin simpleksin kulmaan nähden. Myös 2-ulotteinen kolmio on simpleksi ja jäljempänä keskitytäänkin vain kolmioon. Kolmion barysentristen koordinaattien normalisoinnin kautta painojen summa on 1, jolloin P = λ A A + λ B B + λ C C (18) λ A + λ B + λ C = 1 (19) Pisteen sijaitessa kolmion keskellä olisi kukin barysentrinen koordinaatti siis 1. Painon kautta nähdään myös mikä osa kolmion pinta-alasta kohdistuu 3 kuhunkin alueeseen, jotka muodostuvat jaettaessa kolmio jonkin pisteen ja siitä kaikkiin kärkipisteiseen liittyvillä janoilla. Jos normalisointi tehdäänkin ykkösen sijaan koko simpleksin pinta-alan suhteen, niin koordinaatteja kutsutaan homogeenisiksi barysentrisiksi koordinaateiksi. Barysentrisiä koordinaatteja kutsutaan myös kolmion tapauksessa alue koordinaateiksi 2. Kuvan 4 kolmiosta voi paljain silmin todeta, että pinta-ala t A on suurin. Vastaavasti kärkipisteen A paino suhteessa muihin kärkipisteisiin on suurin. Kärkipisteiden B ja C paino on puolestaan yhtä suuri, kuten ovat myös pinta-alaltaan alueet t B ja t C. λ A = λ B = λ C = a A a A + a B + a C = 0.50 a B = 0.25 a A + a B + a C a C = 0.25 a A + a B + a C 1 Möbius A. F.: Der barycentrische Calcul. Johann Ambrosius Barth, Leipzig, 1827. 2 Coxeter, H. S. M. "Barycentric Coordinates." 13.7 in Introduction to Geometry, 2nd ed. New York: Wiley, pp. 216-221, 1969. 11
Kuva 4: Kolmio jaettuna pisteeseen osuvien kolmion sivujen normaaleilla. Barysentriset koordinaatit on mahdollista laskea eri polkuja pitkin. Menetelmä, jota suositellaan käytettäväksi, on aluksi laskea neljä tarvittavaa determinanttia x A x B x C M T = y A y B y C (20) 1 1 1 = (y B y C )x A (y A y C )x B + (y A y B )x C (21) x B x C x P M A = y B y C y P (22) 1 1 1 = (y C y P )x B (y B y P )x C + (y B y C )x P (23) x C x A x P M B = y C y A y P (24) 1 1 1 = (y A y P )x C (y C y P )x A + (y C y A )x P (25) x A x B x P M C = y A y B y P (26) 1 1 1 = (y B y P )x A (y A y P )x B + (y A y B )x P (27) 12
Seuraavana ratkaistaan barysentriset koordinaatit determinanttien avulla λ A = M A M T (28) λ B = M B M T (29) λ C = M C M T (30) Laskuesimerkki 1 Olkoon pisteen P ja tutkittavan kolmion kärkipisteiden koordinaatit seuraavat Lasketaan tarvittavat determinantit x P = 6702350.721 y P = 3221501.534 x A = 6649538.429 y A = 3218328.492 x B = 6693710.937 y B = 3244102.707 x C = 6667656.285 y C = 3245527.153 M T = (3244102.707 3245527.153) 6649538.429 (3218328.492 3245527.153) 6693710.937 +(3218328.492 3244102.707) 6667656.285 = 734459554.729 M A = (3245527.153 3221501.534) 6693710.937 (3244102.707 3221501.534) 6667656.285 +(3244102.707 3245527.153) 6702350.721 = 576558791.547 M B = (3218328.492 3221501.534) 6667656.285 (3245527.153 3221501.534) 6649538.429 +(3245527.153 3218328.492) 6702350.721 = 1378934908.703 M C = (3244102.707 3221501.534) 6649538.429 (3218328.492 3221501.534) 6693710.937 +(3218328.492 3244102.707) 6702350.721 = 1221034145.521 13
Lasketaan barysentriset koordinaatit λ A = 576558791.547 734459554.729 = 0.78501094830205 λ B = 1378934908.703 734459554.729 = 1.87748242884839 λ C = 1221034145.521 = 1.66249337715043 734459554.729 Piste on kolmion ulkopuolella, koska λ B on yli 1 ja λ C on pienempi kuin 0. Voimme vielä tarkistaa onko lasku suoritettu oikein, koska barysentristen koordinaattien summa on 1. λ A +λ B +λ C = 0.78501094830205+1.87748242884839 1.66249337715043 1 Laskuesimerkki 2 Olkoon pisteen P ja tutkittavan kolmion kärkipisteiden koordinaatit seuraavat Lasketaan determinantit x P = 6702350.721 y P = 3221501.534 x A = 6649538.429 y A = 3218328.492 x B = 6693710.937 y B = 3244102.707 x C = 6715311.822 y C = 3205290.722 M T = (3244102.707 3205290.722) 6649538.429 (3218328.492 3205290.722) 6693710.937 +(3218328.492 3244102.707) 6715311.822 = 2271168572.08862 M A = (3205290.722 3221501.534) 6693710.937 (3244102.707 3221501.534) 6715311.822 +(3244102.707 3205290.722) 6702350.721 = 152878171.826874 M B = (3218328.492 3221501.534) 6715311.822 (3205290.722 3221501.534) 6649538.429 +(3205290.722 3218328.492) 6702350.721 = 897256254.740356 M C = (3244102.707 3221501.534) 6649538.429 (3218328.492 3221501.534) 6693710.937 +(3218328.492 3244102.707) 6702350.721 = 1221034145.52142 14
Lasketaan barysentriset koordinaatit λ A = 152878171.827 2271168572.089 = 0.06731256046146 λ B = 897256254.740 2271168572.089 = 0.39506369794260 λ C = 1221034145.521 2271168572.089 = 0.53762374159595 Koska kaikki barysentriset koordinaatit ovat välillä 0..1, niin piste on kolmion sisäpuolella. Voimme vielä tarkistaa onko lasku suoritettu oikein, koska barysentristen koordinaattien summa on 1. λ A +λ B +λ C = 0.06731256046146+0.39506369794260+0.53762374159595 1 3 Käyttöohje - Affiininen kolmioittainen muunnos hilana 3.1 Yleisesti Julkisen hallinnon suosituksessa JHS154 (2008) kuvattu affiininen muunnos kolmioittain ykj- ja ETRS-TM35FIN -koordinaatistojen välillä on liian monimutkainen useisiin ohjelmistoihin. Tämän takia palvelu tarjoaa ladattavaksi kolmioittaisesta muunnoksesta lasketun tasavälisen hilan. Jokaista muunnospintaa varten pitää ladata kaksi hilaa. Toinen hiloista antaa pohjoiskoordinaattien erot ( N) ja toinen itäkoordinaattien erot ( E). Hilat ovat ladattavissa joko ASCII-muodossa tai binääritiedostoina (LE/BE tavukoodaus). 3.2 Muunnoshilan koordinaatistot Hilan määrityksessä on käytössä kolme eri koordinaatistoa: hila-, lähtö- ja kohdekoordinaatisto. Hilakoordinaatisto kertoo missä koordinaatistossa hilan pisteet ovat, ts. hilan pisteet etsitään hilakoordinaatiston avulla. Hilakoordinaatisto voi olla sama kuin lähtökoordinaatisto, jolloin pisteet etsitään käyttäen samoja koordinaatteja kuin on muunnettavalla pisteellä. Lähtökoordinaatisto kertoo mistä koordinaatistosta muunnetaan hilalla pisteitä ja kohdekoordinaatisto määrittää missä koordinaatistossa hilalla muunnetut pisteet sijaitsevat. 15
Kuva 5: Muunnoshilan lataaminen. 3.3 Muunnoshilan alueen rajaaminen Hilaa ladatessa on tiedettävä alue, jolta hila on tarpeen. Enimmillään hilat kattavat koko Suomen rajojen sisäpuolisen alueen, mutta parhaan resoluution omaavat hilat voivat kokonaisina viedä liian paljon tilaa, että niitä ei ole mahdollista integroida esimerkiksi mittalaitteiden ohjelmistoihin. Tämän takia on syytä tilarajotteiden puitteissa pienentää hilan kokoa ennemminkin kuin sen huonontaa sen resoluutiota. Toinen vaihtoehto hilojen viemän tilan pienentämiseen on huonontaa resoluutiota, mutta suosituksena on aina kun on vain mahdollista käyttää tarkimman resoluution hiloja! Hilojen oletusarvoisena alueena on koko Suomi. Hilan alueen voi valita kirjoittamalla alueen rajaavien koordinaattien arvot tekstikenttiin, joiden niminä on Max pohjoinen, Min pohjoinen, Max itä ja Min itä. Tämän jälkeen on painettava Päivitä hilan ulottuvuus kartallanappia, jotta näet, että syöttämäsi koordinaatit olivat oikein! Kuvan suorakulmio päivittyy koordinaattien mukaisesti ja koordinaattiarvot pyöristetään sopimaan yhteen hilan resoluution kanssa. Vaihtoehtoisesti voit vali- 16
ta suurpiirteisen alueen karttakäyttöliittymästa hiirellä. Painamalla hiiren vasemmanpuoleinen nappi pohjaan, voit venyttää suorakulmion kattamaan haluamasi alueen. Koordinaatit päivittyvät, kun päästät irti hiiren napista. Karttakäyttöliittymää käytettäessä on suositeltavaa tarkistaa koordinaattiarvojen perusteella vielä alueen valitsemisen jälkeen, että hila varmasti kattaa haluamasi alueen. 3.4 Muunnoshilan resoluutio Palvelu tarjoaa useita resoluutioita, koska on tiedostettu, että kaikkiin laitteisiin ja ohjelmistoihin ei ole mahdollista integroida parhaan resoluution hiloja niiden tiedostokoon takia. Geodeettinen laitos kuitenkin suosittelee käytettävän aina, kun on mahdollista, vain parhaan resoluution hiloja. Resoluutiot vaihtelevat aina 10 kilometrin särmästä yhteen kilometriin suorakulmaisten hilakoordinaatistojen tapauksessa ja EUREF-FIN-koordinaatiston osalta 0.1 asteesta ( 12km) 0.02 asteeseen ( 2km). Resoluutio ei vaikuta hilan ulkoisiin enimmäisrajoihin. Hilakoon pienentyessä paranee hilan tarjoama tarkkuus. Hilalla, jonka resoluutio on 10 km, ovat suurimmat poikkeamat alle ±10 cm verrattuna affiinisen kolmioittaisen muunnoksen tuloksiin, kun taas kilometrin hilalla suurin erotus pienenee ±1 cm:iin. 3.5 Muunnoshilan määrittelemättömät arvot Hilapisteille, jotka eivät sijaitse affiinisen muunnoksen kolmioverkon sisällä, annetaan arvo, jota ei voi sekoittaa hilan muunnosparametreihin. Arvo on hilan latauksen yhteydessä valittavissa. Oletusarvona on -999999.0, mutta arvo on muutettavissa poistamalla valinta kohdasta Määrittelemättömän pisteen oletusarvo. 3.6 Muunnoshilan käyttö Muunnoshilan käyttöä varten on ladattava sekä pohjois- että itäkoordinaattien erot omaavat hilat. Kummastakin hilasta ratkaistaan toisistaan riippumattomasti muunnosparametrit. Muunnoksen laskeminen alkaa etsimällä hilakoordinaattien avulla mitkä neljä hilapistettä ovat lähimpänä muunnettavaa pistettä (Kuva 6). Seuraavana lasketaan bilineaarisella interpolaatiolla muunnettavalle pisteelle muunnosparametrit. Laskun voi suorittaa esimerkiksi laskemalla aluksi pisteen normalisoitu sijainti hilaruudun sisällä ( N hila ja E hila määräytyvät hilan resoluutiosta, ts. esim. N hila = N G1 N G3 ). 17
Kuva 6: Hilasta on etsittävä muunnettavaa pistettä P lähimmät neljä hilapistettä, jotka rajaavat muodostamansa suorakulmion sisään muunnettavan pisteen. x norm = N G 1 N Philakoordinaatisto N hila (31) y norm = E G 2 E Philakoordinaatisto E hila (32) Seuraavana normalisoidun sijainnin perusteella painotetaan kunkin hilapisteen muunnosparametreja ja saadaan muunnettavan pisteen muunnosparametrit. Kun tämä toistetaan kummankin akselin suuntaisilla hilloilla, saadaan muunnosparametrit N P ja E P. N P = N G1 (1 x norm ) (1 y norm ) + N G2 (1 x norm ) y norm (33) + N G3 x norm (1 y norm ) + N G4 x norm y norm E P = E G1 (1 x norm ) (1 y norm ) + E G2 (1 x norm ) y norm (34) + E G3 x norm (1 y norm ) + E G4 x norm y norm Varsinainen muunnos tapahtuu lisäämällä interpoloidut muunnosparametrit lähtökoordinaattiarvoihin. 18
N Pkohdekoordinaatisto = N P + N P (35) E Pkohdekoordinaatisto = E P + E P (36) 4 Käyttöohje - Geoidimallin lataus 4.1 Yleisesti geoidimalleista Palvelun kautta voi ladata Geodeettisen laitoksen laskemat FIN2000- ja FIN2005N00- geoidimallit, joista kumpikin kattaa koko Suomen rajojen sisäpuolisen alueen. FIN2000 sisältää geoidikorkeuksia ja FIN2005N00 kvasigeoidin korkeuksia. Kummatkin korkeudet ovat metreinä millimetrin tarkkuudella. Varsinaisesti mallit eivät kuitenkaan ole todellisia geoidimalleja, vaan vertauspintoja, jotka kuvaavat korkeusjärjestelmän referenssitason sijaintia GRS80- vertausellipsoidiin nähden. Toisaalta mallit ovat myös muunnospintoja, koska niillä voidaan siirtyä ellipsoidisista korkeuksista vaaittuihin ortometrisiin ja normaalikorkeuksiin. Mallit ovat hiloina, joiden hilakoordinaatistona on EUREF-FIN. Kumpikin geoidimalli on ladattavissa kolmessa eri ASCII-muodossa. Lista-muotoa lukuunottamatta kaikissa tiedostoissa on ensimmäisellä rivillä otsake. Otsake sisältää tiedon hilan ulottuvuuksista. Otsakkeen arvot on erotettu toisistaan välilyönnein ja arvojen yksikkönä on aste. 4.1.1 FIN2005N00 FIN2005N00 pohjautuu pohjoismaiseen NKG2004-geoidimalliin, joka on sovitettu GPS-vaaituspisteiden kautta N2000-korkeusjärjestelmään. Mallin avulla voi muuttaa ellipsoidiset EUREF-FIN-korkeudet N2000-korkeusjärjestelmän normaalikorkeuksiksi. Geodeettisen laitoksen testeissä on todettu, että mallilla voidaan approksimoida geoidikorkeuksia ±2 cm (RMS) tarkkuudella (Bilker-Koivula, 2008). Suurimmat erot ennustettujen ja havaittujen geoidikorkeuksien välillä ovat 6 cm. Hilan pisteiden resoluutio on pohjois-eteläsuunnassa 0.02 ja itä-länsisuunnassa 0.04 ( 2 2km). 4.1.2 FIN2000 FIN2000-malli on laskettu korjaamalla pohjoismaisen NKG96- geoidimallin korkeuksia 4. asteen polynomipinnan avulla. Polynomipinta johdettiin GPSvaaitushavainnoista. Mallin avulla voi muuntaa EUREF-FIN-korkeudet N60- korkeusjärjestelmän ortometrisiksi korkeuksiksi. Mallin tarkkuus on ±3 cm 19
ja suurimmat muunnosvirheet ovat 8-9 cm (Ollikainen, 2002). Hilan pisteiden resoluutio on pohjois-eteläsuunnassa 0.025 ja itä-länsisuunnassa 0.05. Geoidimallit saa ladattua, kun on kirjautunut palveluun ja menee välilehteen, jossa lukee Aineistot ja siellä alivälilehteen Geoidimallit. 4.2 Geoidimallin käyttö Korkeuksien muuntaminen tapahtuu kummankin geoidimallin tapauksessa laskemalla mitkä neljä hilan pistettä ovat lähimpänä haettavan pisteen maantieteellisiä EUREF-FIN -koordinaatteja (leveys ϕ ja pituus λ), ts. mitkä neljä pistettä rajaavat haettavan pisteen muodostamansa suorakulmion sisään. Kuvassa 6 on esitetty miltä tilanne näyttää, kun muunnettava piste on P ja lähimmät pisteet ovat G 1, G 2, G 3 ja G 4. Kuvan ruudusto kuvaa hilan rivejä ja sarakkeita. Seuraavana lasketaan bilineaarisella interpolaatiolla muunnettavalle pisteelle (kvasi)geoidikorkeus N. Laskun voi suorittaa esimerkiksi laskemalla aluksi pisteen normalisoitu sijainti hilaruudun sisällä. x norm = ϕ G 1 ϕ P, ϕ ϕ = ϕ G1 ϕ G3 (37) y norm = λ G 2 λ P, λ λ = λ G2 λ G1 (38), jossa ϕ on leveysasteiden resoluution ja λ on pituusasteiden resoluutio. Tämän jälkeen nromalisoidulla sijainnilla painotetaan kunkin hilapisteen (kvasi)geoidinkorkeuksia ja saadaan muunnettavan pisteen (kvasi)geoidikorkeus N P. N G1 (1 x norm ) (1 y norm ) +N N P = G2 (1 x norm ) y norm (39) +N G3 x norm (1 y norm ) +N G4 x norm y norm FIN2000-mallin tapauksessa ortometrinen korkeus H saadaan vähentämällä laskettu geoidikorkeus N ellipsoidisesta lähtökorkeudesta h. H = h N P (40) FIN2005N00-mallin tapauksessa toimitaan aivan vastaavasti eli siinä saadaan normaalikorkeus H vähentämällä laskettu kvasigeoidin korkeus ζ (eli aiempien kaavojen N P ) ellipsoidisesta lähtökorkeudesta h. H = h ζ (41) 20
4.3 Laskuesimerkki - FIN2000 4.3.1 Lähtötiedo Lähtöpisteen koordinaattiarvot: Hilan resoluutio: Hilan luoteiskulman koordinaatit: ϕ P = 61.06613664 λ P = 23.62897415 h EUREF F IN = 104.645m 4.3.2 Hilasta ratkaistavat arvot Rajaavat hilapisteet: ϕ = 0.025 λ = 0.050 ϕ G0 = 70.7 λ G0 = 17.5 G 1 = (61.075, 23.600 ) G 2 = (61.075, 23.650 ) G 3 = (61.050, 23.600 ) G 4 = (61.050, 23.650 ) Normalisoitu sijainti hilaruudun sisällä: x norm = ϕ G 1 ϕ P ϕ = 61.075 61.06613664 0.025 = 0.3545344000 y norm = λ G 2 λ P λ = 23.62897415 23.600 0.050 = 0.5794830000 21
4.3.3 Bilineaarinen interpolointi Tässä vaiheessa on haettava hilasta arvot pisteille N G1..4. Esimerkiksi laatikkomuodossa olevassa hilassa N G1 löytyy riviltä ja sarakkeesta N G1rivi = ϕ G 0 ϕ G1 ϕ = 70.700 61.075 0.025 + 1 = 386 N G1sarake = λ G 1 λ G0 λ = 23.600 17.500 0.050 + 1 = 123 N G1 = 19.302m N G2 = 19.303m N G3 = 19.309m N G4 = 19.317m N P = 19.302m (1 0.3545344000) (1 0.5794830000) +19.303m (1 0.3545344000) 0.5794830000 +19.309m 0.3545344000 (1 0.5794830000) +19.317m 0.3545344000 0.5794830000 = 19.3064993504m 19.306m Ortometrisen korkeuden laskeminen H = 104.645m 19.306m = 85.339m 4.4 Laskuesimerkki - FIN2005N000 4.4.1 Lähtötiedo Lähtöpisteen koordinaattiarvot: ϕ P = 61.06613664 λ P = 23.62897415 h EUREF F IN = 104.645m 22
Hilan resoluutio: Hilan luoteiskulman koordinaatit: 4.4.2 Hilasta ratkaistavat arvot Rajaavat hilapisteet: ϕ = 0.02 λ = 0.04 ϕ G0 = 70.7 λ G0 = 17.48 G 1 = (61.08, 23.60 ) G 2 = (61.08, 23.64 ) G 3 = (61.06, 23.60 ) G 4 = (61.06, 23.64 ) Normalisoitu sijainti hilaruudun sisällä: x norm = 61.08 61.06613664 0.02 = 0.6931680000 y norm = 23.62897415 23.60 0.04 = 0.7243537500 4.4.3 Bilineaarinen interpolointi Tässä vaiheessa on haettava hilasta arvot pisteille N G1..4. Esimerkiksi laatikkomuodossa olevassa hilassa N G1 löytyy riviltä ja sarakkeesta 70.70 61.08 + 1 = 482 0.02 23.60 17.48 + 1 = 154 0.04 N G1 = 19.001m N G2 = 19.001m N G3 = 19.012m N G4 = 19.018m 23
N P = 19.001m (1 0.6931680000) (1 0.7243537500) +19.001m (1 0.6931680000) 0.7243537500 +19.012m 0.6931680000 (1 0.7243537500) +19.018m 0.693168000 0.72435375000 = 19.0116374410 19.012m Normaalikorkeuden laskeminen H = 104.645m 19.012m = 85.633m 24