Oppgave 2 - Airport Codes¶
Obs
I denne oppgaven kan du bruke matplotlib
sammen med enten csv
eller pandas
.
Filen airport-codes.csv
er en CSV-fil som inneholder en oversikt over mange flyplasser i verden.
Kolonne 1 (
type
) viser størrelse til flyplassen, entenmedium_airport
ellerlarge_airport
.Kolonne 9 (
iata_code
) viser 3-bokstavs IATA koden til flyplassen (f.eks BGO for Bergen).Kolonne 11 (
coordinates
) viser geografisk posisjon som en streng med et tall for nord-sør (breddegrad), et komma, et mellomrom, og et tall for øst-vest (lengdegrad).
I filen uke_14_oppg_2.py
skal programmet ditt skal gjør de følgende:
a) Les data fra filen inn i passende datastrukturer (list / dict / …). Vi trenger kun informasjonen fra de 3 kolonnene som er nevnt ovenfor. Det er nyttig å splitte koordinatene i lengde og bredde allerede her.
b) Bruk matplotlib for å plotte posisjonen til de ulike flyplassene på en kart. Bruk en liten prikk for de mellomstore flyplassene, og en større prikk for de store flyplassene. Velg en lys farge for prikkene.
c) Bruk matplotlib.annotate(iata_code, (lengde, bredde))
i en løkke over alle store flyplassene for å skrive IATA-navnet på bildet.
d) Sett inn en tittel og aksebeskrivelser.
e) Avslutt med matplotlib.show()
for å åpne interaktivt modus.
Eksempelkjøring:
Uten zoom:
Zoomet inn (du trenger ikke å programmere dette, brukes kun interaktivt):
Obs
TIPPS: Hvis du får en feil når du prøver zoom («Segmentation Fault: 11»), legg til følgende linjer i koden: når du prøver zoom i image, tilsett til koden de følgende:
1. import matplotlib as mpl
til toppen av filen
2. mpl.use("tkagg")
etter import __
koden.