| Tutkimuksen nykytila ja tavoitteet |
| Tutkimuksen nykytila |
Kuvien tallennusformaatiksi on kaksi perusvaihtoehtoa: rasteri ja vektori. Vektoriformaatti sallii karttaelementtien portaattoman suurentamisen ja säännön- mukaisten elementtien tehokkaan tallettamisen. Karttakuvissa on kuitenkin paljon elementtejä, joita ei voida esittää tehokkaasti vektoriformaatin avulla. Esimerkiksi vesistöt, tiet, korkeuskäyrät ja monet muut kartan yksityiskohdat ovat muodoltaan epäsäännöllisiä. Lisäksi vektorimuotoinen data on näytölle tulostettaessa muutettava joka tapauksessa rasterimuotoon. Rasterimuoto sen sijaan sallii suoraviivaisen digitoinnin ja tulostamisen. Tieto on jo valmiiksi siinä muodossa missä se näyttöruudulle tulostetaan, eikä tarvita erillistä rasterikuvan generoimista vektorielementeistä. Rasterikuvien perinteinen ongelma, suuri tilankulutus, saadaan hallintaan käyttämällä tiivistämistä ja käytännössä rasterimuotoinen kuva saadaankin talletettua likimain yhtä tehokkaasti kuin vektorimuotoinen kuva. Esimerkiksi järven esittämisessä pääosa informaatiosta on rantaviivan muodossa. Rantaviivan tiivistämisessä rasterimuodolle kehitetyt menetelmät ovat käytännössä jopa tehokkaampia kuin vastaavat menetelmät, jos rantaviiva talletettaisiin vektorimuodossa, esimerkiksi ketjukoodina. Järven sisään jäävä alue puolestaan ei sisällä informaatiota ja voidaan tallettaa murto-osaan sisältämiensä pikselien lukumäärän nähden ja myös prosessoida nopeasti. Kuvaa generoitaessa koko informaatio on valmiina esitettävässä muodossa, kun vastaavasti ketjukoodia purettaessa täytyy järven värittämiseksi erikseen selvittää mitkä pikselit jäävät rantaviivan erottaman alueen sisään. Toinen karttakuvien tehokkaan tiivistämisen mahdollistava seikka on värien vähäinen määrä. Kartta ei ole valokuva, eikä siten sisällä runsaasti tiivistyksen kannalta vaikeasti mallinnettavia tiheitä sävyvaihteluja. Karttainformaatiolla sinänsä ei ole "väriä", vaan kartta koostetaan erillisistä komponenteista, joiden väritys on sovelluksen vapaasti määriteltävissä. Tyypillisessä karttakuvassa esimerkiksi pellot ovat keltaisia ja vesistöt sinisiä, mutta merikorteissa voidaan vesialueita kuvatessa käyttää valkoista ja keltaista riippuen veden syvyydestä. Liukusävytyskin voidaan tarvittaessa generoida tulostusvaiheessa eikä se vaadi tiedon tallettamista karttatietokantaan. Kartan sisältämä informaatio voidaan tallettaa loogisesti erillisinä 0/1-bittikarttoina siten, että kukin karttaelementti on omana rasterikuvana ja komponenttien yhdistäminen ja väritys tapahtuu näytölle tulostettaessa. Tällä jaolla on se hyöty, että tallettamiseen voidaan soveltaa yksivärisille binäärikuville kehiteltyjä menetelmiä. Tehokkaimmat menetelmät prosessoivat kuvan pikseli kerrallaan käyttäen tilastollista kontekstimallia ja aritmeettista koodausta. Tähän perustuva menetelmä on JBIG, joka on ollut ITU-T standardi vuodesta 1992 lähtien ja on pohjana myös uudemmalle JBIG2 standardille. Tästä löytyy esimerkkikuva joka vaatii tiivistettynä noin 30 kilotavua kaikki komponentit mukaan luettuna. JBIG-pohjainen tiivistysmetodi on toteutettavissa pienin laitteisto- ja ohjelmistoresurssein, ja soveltuu erinomaisesti myös sulautettuihin järjestelmiin. Siihen miksei menetelmää ole karttasovelluksissa aiemmin käytetty, on useita syitä. Ensinnäkin, ei olla ehkä ymmärretty, että rasteriformaatti voisi olla käyttökelpoinen karttakuvien esittämiseen, vaan ollaan keskitytty vektorimuotoisten kuvien ja niiden ongelmien kanssa taistelemiseen. Toisekseen, JBIG kuten käytännössä kaikki tiivistysmenetelmät pakkaavat kuvan yhdeksi peräkkäistiedoksi ilman suorasaantimahdollisuutta. Haluttuun kuvan osaan ei siten pääse käsiksi muuta kuin purkamalla kuvaa alusta alkaen. Tämä on ollut selvästi rajoittava seikka laajoja karttakuvia käsittelevissä sovelluksissa. Tämän lisäksi JBIG:ssä käytetyt metodit ovat erittäin pitkälle kehitettyjä ja vaativat erityisosaamista. Interaktiivisuus ja reaaliaikaisuus ovat kuitenkin ne ominaisuudet, joiden puuttuminen on ollut ratkaiseva rajoitus. Kuvan on ajateltu olevan yksi kokonaisuus, joka haetaan tietokannasta ja puretaan kokonaan muistiin. Tutkimusprojektissa olemme parina viime vuotena paneutuneet tähän ongelmaan ja kehittäneet menetelmän, jolla saavutetaan yhtäaikaa sekä tehokas tiivistys että suorasaantiominaisuus yhä pienempiin kuvan osasiin. Menetelmiä on kehitelty laajoja karttakuvia silmällä pitäen ja viimeisimmässä työssämme sovellusmateriaalina on jo ollut suoraan maanmittauslaitoksen karttakuvia. |
Tutkimuksen tavoitteet |
Tutkimuksen tavoitteena on kehittää yllä kuvattu uusi kartantiivistystekniikkaa vastaamaan sovelluksen tarpeita. Käytännön tasolla tämä tarkoittaa seuraavien tavoitteiden toteuttamista:
Ensimmäisen tavoitteen osalta kysymys on sovellusrajapinnan määrittelemisestä karttatietokannan ja sitä hyödyntävän sovelluksen välillä. Tiivistysmenetelmää on voitava hyödyntää muutkin kuin projektissa työskennelleet tutkijat. Ohjelmiston siirrettävyys sovellusympäristöön ja erityisesti monikomponenttikuvien generointi tiivistetystä datasta ovat sinänsä suoraviivainen tehtävä, mutta asia on enemmän tai vähemmän myös tiivistysmetodiikkaa koskevan tietämyksen siirtämisestä käytännön sovelluksiin. Toisen tavoitteen osalta itse tiivistysmenetelmää täytyy parantaa. Nykyinen menetelmä tukee esikatselua ja suurimman tarkkuuden selailua, mutta portaaton tarkkuuden säätö puuttuu. Ratkaisu on tallettaa kuva tarkkuustasoittain, jossa tarkkuus kaksinkertaistuu tasolta toiselle siirryttäessä. Tasoittainen kuvaesitys lisää kuvan kokonaispikselimäärää 33%, mutta ylempiä tasoja voidaan hyödyntää alempia tasoja koodatessa, jolla tiedoston kasvaminen jää käytännössä 10% suuruusluokkaan. Tämä hierarkinen kuvaesitys on sinänsä jo ratkaistu JBIG-standardissa, mutta tehtäväksi jää reaaliaikaisuuden liittäminen siten, että tasoittaisessa binäärimuodossa talletettuja karttakuvia voidaan selata reaaliaikaisesti niin karttapinnalla (panning) kuin syvyyssuunnassa (zooming). Kolmas tavoite on tutkimustyön kannalta
kenties kaikkein vaativin. Siinä missä kaksi ensimmäistä tavoitetta on
periaatteellisella tasolla jo ratkaistu, vektorimuotoisen datan yhdistäminen
rasterikuvaan sisältää lukuisia avoimia kysymyksiä. Sovelluskohtaisen datan
lisääminen on kuitenkin tärkeää, koska pelkällä karttapohjalla ei sinänsä ole
useimmissa sovelluksissa käyttöä. Tavoitteena on kehittää metodiikka, jolla uusi
kartantiivistystekniikka voidaan integroida samaan paikkatietokantaan perinteisten
vektori- ja rasteriformaattien kanssa, sekä kehittää Java-appletti, jolla tällaisten
karttojen reaaliaikainen selailu onnistuu Internetissä. Päivitetty viimeksi
28.7.2000 |