Nada

Numme GKI för I2+CL2:
-----

Lab 2 Uppgift 9: GPS-promenad på KTH

För att kunna göra denna uppgift behöver du kopiera följande fyra (4) filer från kursbiblioteket/nätet: Alla fyra filerna är skrivna med Matlab-syntax.

-----

Ludde och Lisa har haft med sig en GPS på söndagspromenaden. Nu vill de se hur de faktiskt gick. Kan du hjälpa dem att plotta GPS:ens rutt matchad ovanpå en KTH-karta? Dessutom har de under ett antal tidigare promenader sparat koordinater för en massa intressanta ställen (dvs sparat så kallade landmärken), men slarvat med att notera vad det var för ställe. Nu minns de inte längre, kan du hjälpa dem?

Kort om GPS:en

En vanlig användning av en GPS är att hålla rätt på hur man går, motsvarande att man med en penna ritar in på en karta hur man gått. Denna uppritade kurva kallas "spår" (på engelska "track" eller "track history"). Spåret sparas i GPS:en genom att den då och då noterar aktuell position (latitud och longitud) och lägger informationen i en lång lista ("track history"). Hur ofta den noterar positionen beror på modell och inställning av apparaten.

En annan vanlig användning av en GPS är att märka ut speciella ställen, dvs göra landmärken (engelska "landmarks"). Tex vill man markera platsen för en bra utsiktspunkt, var man parkerade bilen eller en bra restaurang. Då ber man GPS:en att spara aktuell position (latitud och longitud - och ibland mer info, tex tid och höjd) och lagra data i en lista över landmärken. Landmärket kan normalt antingen ges ett nummer eller ett kort namn.

Om GPS:ens datafil

Data från GPS:en ligger lagrat som två matriser. Den första, kallad TRK, innehåller promenadens spår (eng "track"). Spårmatrisen har fyra kolumner, de två första anger latituden de två sista anger longituden. Den andra matrisen, kallad LMK, innehåller data för landmärkena. Den har fem kolumner. Första kolumnen anger landmärkets nummer. Kolumn 2 och 3 anger landmärkets latitud och kolumn 4 och 5 anger landmärkets longitud.

I GPS-datafilen är alla latituder och longituder är uppdelade på två kolumner. Den första kolumnen anger hela grader, den andra kolumnen anger antalet minuter (som ett decimaltal). Eftersom KTH ligger norr om ekvatorn och öster om Greenwich är alla latituder nordliga och alla longituder ostliga.

Exempel: Landmärket nummer NN, med kortnamnet "OB2" har latituden angiven med de två talen XX och YY. Detta skall utläsas som XX grader och YY minuter NORD. Omvandlat till "bara" grader blir det alltså XX+YY/60 grader NORD. Longitudens ZZ och WW tolkas på samma sätt till ZZ+WW/60 grader OST.

Programmeringtips: Då datafilen är ganska stor vill man inte kopiera den i onödan. (Det är också en säkerhetsrisk, till exempel risk för skrivfel). Läs in de data du behöver genom att läsa ur datafilen när programmet körs. Sedan kan du enkelt hänvisa till koordinatdata som tex de på rad 5.

Fotogrammetri

Både KTH-kartan och GPS:ens promenad (spår) och landmärken skall ritas i en och samma bild. Eftersom husdata och GPS-data är angivna med olika koordinatsystem måste en del koordinater transformeras.

En transformation från ett 2-dimensionellt linjärt koordinatsystem till ett annat ges av

X = (a1+a2*x+a3*y)/(1+d1*x+d2*y)
Y = (b1+b2*x+b3*y)/(1+d1*x+d2*y)

där (x,y) anger koordinaterna i det gamla systemet och (X,Y) anger koordinaterna för samma punkt i det nya systemet. a1, a2, a3, b1, b2, b3, d1 och d2 är transformationskonstanter.

Grader latitud och longitud är egentligen inte linjärt 2-dimensionellt, men då KTH-området har begränsad geografisk utsträckning kan vi approximera varje vinkeländring i latituderna och longituderna i GPS-datafilen att motsvara en viss sträcka i nord-sydlig respektive öst-västlig riktning.

Du får själv välja om du vill transformera om GPS-data till KTH-kartans koordinatsystem eller tvärtom.

För att bestämma transformationskonstanterna kan du utnyttja landmärkena i GPS-datafilen och beräkna/mäta upp motsvarande koordinater i KTH-kartan.

Några landmärken har angivna namn - övriga har bara nummer. Samtliga landmärken har tagits vid "speciella platser" såsom husknutar, portar eller vägkorsningar. Om du väljer ett icke-namngivet landmärke, ange var du tror att det är (tex "Tbanan" eller "Mimers Bar").

KTH-karta:

En grov karta över KTH fås genom att köra Matlab-programmet "KTHkarta.m". Programmet ropar i sin tur på datafilen "KTHdata.m" och plotrutinen "KTHplot.m", samtliga är skrivna som Matlab-filer.

Uppgiften:

a) Rita i samma bild både KTH-kartan och GPS:ens promenad samt landmärken.

b) Ange vilket som är minsta antal nödvändiga landmärken som behövs för att bestämma transformationskonstanterna. Motivera ditt svar.

c) Är bara antalet landmärken intressant, eller spelar positionen någon roll?

d) Ange hur många och vilka landmärken du valt för att beräkna dina transformationskonstanter. Motivera ditt val och redovisa transformationskonstanterna.

e) Försök identifiera några av de icke-namngivna landmärkena (ca 1-5st).

Redovsining:

Uppgiften skall redovisas i form av en vetenskaplig rapport. När man läst din rapport skall man ha förstått vad uppgiften gick ut på, hur du löste den och vad resultatet blev utan att behöva läsa något mer än din rapport. Eftersom detta är en labb-uppgift skall du dessutom bifoga program och dagboksfiler - troligen som bilagor så att inte rapporten störs.

Rapporten skall vara välskriven och lättläst. Den behöver inte vara skriven med tex olika stil-storlekar som man får med textbehandlare som Word eller TeX utan en enkel textfil från tex Emacs duger gott. Den inlämnade rapporten skall naturligtvis vara korrekturläst.

(Om du gör denna redovisning i form av en vetenskaplig rapport, slipper du redovisa Lab4 som en sådan. Då kan Lab4 redovisas med samma enkla skriftliga inlämning som Lab 3 och resten av Lab2.)

TIPS:


-----

^ Upp till Kursomgångens hemsida.


Sidansvarig: <ninni@nada.kth.se>
Senast ändrad 23 mars 2005
Tekniskt stöd: <webmaster@nada.kth.se>