Rikere og raskere kart

Lesetid: 4 minutter

Kan kart på nett bli enda raskere og smartere enn dagens kart? I min masteroppgave har jeg sett på hvordan fremtidens kart kan bruke vektordata for å bli raskere og rikere.

Tidligere i år skrev Robert om nettkart levert på vektorform her på Masterbloggen. Dagens nettkart er gigantiske bilder som er laget på forhånd, akkurat som et tradisjonelt kart på papir. Når man bruker store målestokker, vil et slikt bilde bli altfor stort å sende over nettet. Derfor deles disse kartene i mindre biter. De følger dermed fortsatt samme prinsipp som turkartene med oversiktskart, slik at man kun trenger å laste ned den delen av kartet man trenger.

Det er enkelt å ta utgangspunkt i papirkart når man skal levere kart på nett, men siden datamaskinen ikke er særlig flink til å tolke bilder, klarer den ikke å gjøre noe spektakulært med kartet (bildet) etter at det er laget.

Hvis du f.eks vil holde deg oppdatert over stengte fjelloverganger i sanntid, hjelper det altså ikke at datamaskinen har et kart som den ikke kan tolke og oppdatere. Datamaskinen må i stedet ha tilgang på de underliggende data som ble brukt til å lage bildet. Hvorfor kan man ikke gå direkte til de underliggende dataene i stedet, og dermed droppe «mellommannen»: bildekartet? Datamaskinen klarer å tolke disse dataene, og kan da lage et kart etter brukerens ønsker der og da. Dette kartet blir bedre enn et forhåndslaget generelt kart som passer litt for alle. At brukeren har tilgang på de underliggende dataene, som gjerne er på vektorform, se http://en.wikipedia.org/wiki/Vector_graphics, er en genial idé som har slått flere. Etter hvert som teknologien er kommet på plass for gode nettløsninger, har det blitt mulig å prøve seg frem med vektorkart.

Det er mange utfordringer med vektorkart. Det som gjør dette så moro, men også vanskelig, er at datamaskinen nå kan tolke dataene – og dette må utnyttes for å oppnå bedre tjenester. Det nevnte kartet over stengte fjelloverganger er en slik mulighet. Robert har skrevet om hvordan de underliggende dataene settes sammen til et kart (se artikkelen «Kart på nett er et puslespill»), mens jeg har konsentrert meg om veien fra kilden, hvor dataene ligger, til brukeren, hvor dataene skal.

Det er mange teknikker man kan bruke for å overføre kartdata raskere, men i hovedsak handler det både om å få dataene til å ta så liten plass som mulig, og å velge en løsning som kan overføre mye av dataene på kort tid. Noe av det aller viktigste for å oppnå suksess med vektorkart, er at det må gå minst like raskt som bildekartene vi bruker i dag. Ingen liker å vente, og selv om karttjenestene blir rikere og mer interaktive med vektorkart, hjelper ikke det hvis de er ubrukelig trege. Da tror jeg  svært få vil gidde å bruke de flunkende nye vektorkartene.

Gode standardiserte løsninger for å overføre mye data på kort tid, altså høy båndbredde, har først kommet på plass i senere tid. Det er ikke nødvendig å vente på en standardisert løsning, men da må alle i stedet installere ekstra programvare, f. eks. Adobe Flash, for at det skal fungere, og det er ikke så populært. Derfor er arbeidet her å teste ulike løsninger, og se hvilken som egner seg best. Når det gjelder dataene man skal sende, er det plass til mye mer kreativitet – her kan man sende hva som helst uten at det blir nødvendig å installere noe ekstra for brukeren.

Sammenliknet med bilder, tar vektordata ofte mindre plass. Tenk på en linje med tre endepunkter, som skal overføres. Det eneste man trenger for å kunne lage en akkurat lik linje et annet sted, er de tre punktene i riktig rekkefølge – man vet at det skal trekkes en linje mellom punktene. Når datamaskinen kan lese dataene, er dette mulig å utnytte med komprimering: Hvis alle tre punktene for eksempel har samme y-koordinat, trenger man bare å overføre ett y-koordinat; i en liten målestokk er det mye man ikke ser – punkter og linjer ligger for nær hverandre til å synes – som man kan la være å overføre. Jeg har forsøkt å bruke komprimering og mange andre teknikker  for å kunne overføre vektordata så raskt som mulig. Da skal det i siste instans bli et tilpasset nettkart på skjermen – minst like raskt som eksisterende kart, og med mange flere muligheter for tilpasning og interaktivitet. Resultatene er lovende, og jeg er sikker på at vektorkart på nett kommer til å erstatte mange av dagens bildebaserte kart i fremtiden.

  • Spennende lesning! Hvor passer f. eks. Google maps inn i dette bildet? For meg virker det som om de bruker en vektorløsning for sine ikke-fotografiske kart, men jeg kjenner jo ikke løsningene bak.

  • Mats Taraldsvik

    Helge:

    Google Maps begynte med vektorbaserte kart for Android-utgaven ganske tidlig, så de passer godt inn her, og var tidlig ute. Siden har visst deler av, eller hele kartet, gått fra å være bilder til vektorer på den “vanlige” Google Maps-utgaven, også.

    Problemet med Google Maps er at det er lite tilgjengelig informasjon om hvordan implementasjonen fungerer (altså i hvilken grad vektordata faktisk brukes), så det blir noe spekulasjoner.

    En ting man f.eks kan se etter, er om 3D-bygningene beveger seg (som her: http://osmbuildings.org/) — det er vanskelig å få til uten vektorer. Likevel kan kart se helt like ut, uavhengig av om det er vektor- eller bildedata som brukes.