Quantcast
Viewing all articles
Browse latest Browse all 1578

Nå kan du fly over hele Norge – i nettleseren

Jeg har alltid likt å fly, og laget derfor min egen flysimulator for hele Fastlands-Norge.

Som liten hendte det at jeg ble sittende i stuevinduet hjemme i Molde og se ned på sjøen og de bratte fjellene på den andre siden.

Av og til kom det fly forbi også. Noen fløy inn, lavt og sakte, for å lande på flyplassen på den andre siden av byen. Andre hadde nettopp lettet, og svingte rett over huset vårt på vei til et helt annet sted.

Det var på slutten av 80-tallet jeg først prøvde flysimulatoren «Microsoft Flight Simulator» på PC. Selv om landskapet ikke så særlig realistisk ut, var det gøy å kunne leke pilot.

Flere har nok minner fra denne simulatoren, men slik så det altså ut:

Ti år senere studerte jeg datagrafikk på NTNU, og siden det har jeg av og til lekt meg med ulike måter å vise fram terrengdata på.

Resultatet denne gangen har blitt en flysimulator for hele Fastlands-Norge. Simulatoren kan kjøres direkte i nettleseren, og den bruker åpne data fra Kartverket.

Slik ser den ut:

Med Kartverkets data blir landskapet mer realistisk enn i mange andre flysimulatorer som finnes nå. En av de beste kommersielle simulatorene, X-Plane, har veldig god visning av byene i Norge, men landskapet ellers kan se litt kunstig ut.

For å lære mer om hvordan simulatoren min ble til kan du fortsette å lese, men om du heller bare vil prøve den ut kan du trykke her. Leser du videre får du et innblikk i hvordan den ble til.

Hva trenger man?

En flysimulator består som regel av:

  • Data som beskriver formen på landskapet
  • Bilder som viser hvordan landskapet ser ut sett rett ovenfra
  • En modell av hvordan flyet man styrer skal oppføre seg i luften

I simulatoren har jeg brukt Kartverket sine høydedata av Norge for å vise fram formen på landskapet. Disse dataene er åpne og kan brukes fritt så lenge man oppfyller lisensbetingelsene, som er CC BY 4.0.

Slik kan en høydemodell se ut:

Image may be NSFW.
Clik here to view.
Først som et rutenett, deretter som en overflate. Data: Kartverket

Resultatet er ikke er visuelt spennende på noen måte. Det må mer data til.

Landskapet nede på bakken har jo farger: Skog er som regel grønt, fjell er grått og snøen på de høyeste toppene er hvit. I tillegg kan vi se detaljer som åkrer, veier, hus og fotballbaner.

Det finnes veldig mange måter å vise fram landskap på. Det går an å bruke flyfotografier, satellittbilder eller matematiske modeller som regner ut kunstige farger ut fra høydedataene for landskapet.

Slik ser landskapet ut med bilder:

Image may be NSFW.
Clik here to view.
Overflatemodellen får bilder på seg. Data: Kartverket

Den amerikanske romfartsorganisasjonen NASA har lagt ut satellittbilder fra hele verden som åpne data. Bildene deres er slik at 500 meter i terrenget er gjengitt som én fargeverdi (piksel). Den oppløsningen er ikke god nok til mitt bruk, men bildene finnes her.

Heldigvis kom jeg over satelittfoto fra Sentinel-2. Dette er en europeisk miljøsatelitt som overvåker vann, skog, landbruk og annen vegetasjon over hele verden. Bildene leveres med høyere oppløsning: Ti meter i terrenget er gjengitt som én piksel. Fargene på bildene er ikke helt perfekte, men det blir ganske bra likevel. Og bildene er åpne data, de har samme lisens som høydedataene.

Kartverket har enda bedre bilder enn de jeg har brukt her, men de er dessverre ikke tilgjengeliggjort som åpne data.

Følelsen av å fly

Det som stod igjen nå var å finne ut hvordan man skulle fly rundt inne i modellen. Etter litt leting fant jeg en oppskrift jeg kunne bruke for å regne ut hvordan en F-16 beveger seg gjennom luften.

Jeg aner ikke om flyet i simulatoren flyr slik som en ekte F-16 gjør, og får neppe testet det heller (selv om akkurat det hadde vært veldig kult). Formlene i oppskriften jeg har brukt håndterer nok ikke alle mulige situasjoner, så om flyet begynner å fly rart er det nok best å starte simulatoren på nytt ved å oppfriske siden i nettleseren.

I simulatoren har jeg ellers lagt inn støtte for styring med spillkontroller, og da blir flyfølelsen enda litt bedre.

Image may be NSFW.
Clik here to view.
Vi kan styre med en spillkontroller!

For å gjøre det enkelt å kjenne seg igjen har jeg satt opp simulatoren slik at du kan starte på ulike steder i Norge ved å gå inn på en av lenkene nedenfor.

Simulatoren kjører best på PC eller Mac. Du styrer flyet med piltastene, og du kan trykke «q» for høyere turtall på motoren, og «a» for lavere.

Ikke glem at du flyr et jagerfly: Styringen er såpass følsom at du lett kan miste kontroll om du holder de ulike piltastene inne for lenge.

Her er noen byer i Norge:

Her er noen andre kjente steder:

Mye står igjen, og bidra gjerne

For min del har jeg kommet omtrent så langt som jeg hadde håpet på. Kanskje lager jeg noen nye funksjoner en dag, som for eksempel at flere kan fly sammen eller at flyet faktisk stopper om man krasjer i bakken.

Om du har lyst til å se mer på de tekniske detaljene, eller bidra med nye funksjoner, så er kildekoden lagt ut på GitHub.

Hvilke spørsmål har dere? Ser fram til å høre hva dere synes om simulatoren. Kom gjerne med tips om flere prosjekter som bruker åpne kartdata!


Viewing all articles
Browse latest Browse all 1578