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, enten medium_airport eller large_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:

../../_images/airports.png

Zoomet inn (du trenger ikke å programmere dette, brukes kun interaktivt):

../../_images/airports-zoom.png

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.