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:
https://youtu.be/b9NeYbMnCuc
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:
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:
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.
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!
Steinar Kjærnsrød
Veldig artig, fin bruk av åpne data. Forøvrig virker ikke programmet med Edge på Win 10. Interessant hva som gjør det, siden det ikke kommer noen feil i JS konsollet?
Kristoffer Dyrkorn (NRK)
Hei! Takk for hyggelig tilbakemelding! Simulatoren har tidligere kjørt fint i Edge på Windows 10, jeg skal ta en ny sjekk og se hva som kan være årsaken.
Kristoffer Dyrkorn (NRK)
Nå har jeg oppdatert koden slik at simulatoren kjører i Edge også. Dessverre er ytelsen i Edge ikke så god, så en annen nettleser (for eksempel Chrome) vil gi jevnere bevegelser.
Rune Flobakk
Wow! Sykt imponert!
Kristoffer Dyrkorn (NRK)
Takk takk 🙂
Bjørnar
Veldig kult! Hvordan bestemmes parametrene? Hadde likt å visst hvordan jeg kan sette simulatoren til å starte på en gitt koordinat, i en viss retning (og ev høyde).
Kristoffer Dyrkorn (NRK)
Hei! Parametrene n og e er koordinater (North, East) i referansesystemet UTM 33 N. Parametret a er høyde (altitude). Enheten er meter. Har så langt ikke laget støtte for å starte i en gitt retning. For finne koordinatene for et gitt sted, gå til nettstedet Norge i bilder, naviger eller søk deg fram til der du ønsker å starte, og les ut tallene som står øverst til høyre i kartbildet.
Livar Bergheim
Stilig! Dette er eit veldig godt døme på bruk av opne data. Tenker det er verdt å legge inn ei oppføring under «Apper/tjenester» på data.norge.no. Vil du registrere det der? Det er gjort på eit par minutt ved å velje «Registrer applikasjon» på data.norge.no/ Eventuelt så kan eg registrere for deg om det er greit for deg.
Simen Eid Nielsen
Dette var mulig allerede ved utgivelsens av Google Earth tilbake i 2007, da var norge ganske flatt, men Sveits hadde en ganske god terrengmodell over landet sitt, og det var gøy å fly inne imellom de høye toppene i alpene!
Kristoffer Dyrkorn (NRK)
Flysimulatorer har lenge hatt modeller av Norge, men uten detaljerte data blir ikke gjengivelsen god. Høydemodeller med høy oppløsning ble først frigitt av Kartverket i 2013, og satelittfotoene som er brukt her ble så vidt jeg vet første gang publisert i sommer.
bjarne b
fett, kult med litt buffer for oss som vil fly med kjip linje, laster litt og så spinner den ut av kontroll , og lyd av som default?
Håkon Rossebø
Jeg har lagd en liten app for å kunne velge startposisjon fra et kart her:
hakonrossebo.github.io/fsim-map/
Thorolf
Woohoo, funker skikkelig bra, Stilig koding !
Thorolf
Kanonstilig !
Funker latterlig bra på chrome & ubuntu
Jippi endelig har jeg en uberkewl turplanlegger, får ikke samme feelingen i google-earth
Thorolf
Er det mulig å bruke DTM 10 data i stedet for DTM 50, det hadde vært rått med 25 ganger bedre oppløsning ! Ser ut som DTM 10 er tilgjengelig for hele landet, eventuelt også som punktsky, kan punktsy brukes ? ref;
På hoydedata.no finnes også ferdigproduserte eksporterer av landsdekkende terrengmodeller med 10 meters oppløsning. Disse er generert ut fra detaljerte laserdata der slike finnes. Dette suppleres med høydedata fra 2013-utgaven av DTM10 dersom det er nødvendig for å få full dekning
kartkatalog.geonorge.no/metadata/kartverket/dtm-10-terrengmodell-utm32/fd851873-f363-46f9-9fc6-bb1b4…
Thorolf
Tester create_topography.sh for DTM10 med:
# one tile is NxN data points
tile_size=640
# distance between data points, in meters
resolution=10
Får da feilmelding fra gdal_translate ;
Warning: Computed -srcwin -555 -66810 1280 1280 falls completely outside raster extent. Going on however.
Kanskje tile_size=640 er feil for DTM10 ?
Svein Erik
Hvor finner jeg et godt sim miljø i østfold , vil begynne med simulator, men finner ikke noe god info om utstyr og behov