programmeren

in python

Aardrijkskunde Les 4: Aardbevingen plotten in Python

vandaag gaan we leren

 

  • Al onze kennis samenbrengen, aardbevingen plotten met Python!

Weet jij het nog?

In de afgelopen lessen hebben we geleerd:

  • Hoe we tekst kunnen uitlezen uit een bestand,
  • Hoe we deze tekst netjes kunnen laten ophakken in stukjes
  • Hoe we de ingelezen data om kunnen laten zetten naar een ander datatype

Weet jij het nog?

De functie float() zet een String om naar een getal, mits er in die String cijfers staan! 

 

Float betekent kommagetal in het Pythons. Misschien dacht je wel aan het gebruiken van int().

 

Dat klopt wel, maar dan zou het alleen werken voor hele getallen, en sommige magnitudes hebben komma getallen! Zoals 5.8, dus daarom werken wij voor de zekerheid met float.
Dan gaat het altijd goed!

 

 

Als je 5 bij de magnitude van 6 optelt krijg je
11.0

Weet jij het nog?

werkblad

"even opfrissen"

Aan de slag

Ons Geheugen is weer opgefrist, nu verder!

We hebben in stappen toegewerkt naar het kunnen plotten van de aardbevingen op een wereldkaart.

 

Die stappen zijn heel belangrijk! Je kunt niet bij het einde beginnen. Een programmeur werkt in kleine stapjes toe naar het einddoel, en controleert tussendoor of alle stapjes kloppen.

 

Dat hebben wij ook gedaan!

Tekenen op de wereldkaart

demo

Er is alvast wat code klaargezet straks om de afbeelding in te laden.

 

 

 

 

Deze wereldkaart is precies 360 pixels breed en 180 pixels hoog. Zo kunnen we hem goed gebruiken om aardbevingen op te plotten! 

screen = turtle.Screen()
screen.setup(360, 180)
screen.setworldcoordinates(-180, -90, 180, 90)
screen.bgpic("equirectancular.png")

Tekenen op de wereldkaart

Om de aardbevingen op de wereldkaart te laten zien, moeten we weer gaan tekenen met Python!

Dat hebben we geleerd tijdens de lessen voor module Kunst

 

Wat hebben we daar ookalweer voor nodig?

Tekenen op de wereldkaart

Hint: 

Tekenen op de wereldkaart

Hint: 

Tekenen op de wereldkaart

Yes, Turtle! En het gebruik van lussen!

for-lussen

#start de pen op
pen = turtle.Turtle()

for i in range(4):
  pen.forward(100)
  pen.left(90)
aantal_keer = 4
for i in range(aantal_keer):
  pen.forward(100)
  pen.left(90)

aantal_keer = 8
for i in range(aantal_keer):
  pen.forward(100)
  pen.left(45)

En het gebruik van variabelen in lussen.

We hebben al veel geoefend met lussen.

 

 

Let op de dubbele punt en de inspringing!

 

Je kunt de turtle ook van kleur laten veranderen.
Dat kan met woorden:

kleuren

#laad de tekenmodule in
import turtle

#start de pen op
pen = turtle.Turtle()

#zet de kleur op oranje
pen.color('orange')
#laad de tekenmodule in
import turtle

#start de pen op
pen = turtle.Turtle()

#zet de kleur op blauw
pen.color(0,0,255)

Maar het kan ook met rgb codes:

 

werkblad

"Turtle en Lussen opfrissen"

AAN DE SLAG! 

Ons TURTLE Geheugen is ook weer opgefrist, nu verder!

Aardbevingen plotten

Dit is wat we deze les gaan maken, daarvoor moeten we nog één

ding weten over for-lussen.

AARDBEVINGEN PLOTTEN

#start de pen op
pen = turtle.Turtle()

for i in range(4):
  pen.forward(100)
  pen.left(90)
pen = turtle.Turtle()

data = readlines(target_url)

for line in data:
  earthquake = line.split(',')
  longtitude = earthquake[3]
  latitude = earthquake[2]
  magnitude = float(earthquake[6])

For-lussen kunnen op nog meer manieren dan we tot nu gewend zijn 

 

Voor elke lijn van data

demo

pen = turtle.Turtle()
pen.color("green")

data = readlines(target_url)

for line in data:
  earthquake = line.split(',')
  longtitude = earthquake[3]
  latitude = earthquake[2]
  magnitude = float(earthquake[6])
    
  pen.penup()
  pen.goto(longtitude, latitude) # lon, lat
  pen.pendown()
  pen.dot(magnitude)  # magnitude

Maak de kleur van de pen

groen

AARDBEVINGEN PLOTTEN

pen = turtle.Turtle()
pen.color("green")

data = readlines(target_url)

for line in data:
  earthquake = line.split(',')
  longtitude = earthquake[3]
  latitude = earthquake[2]
  magnitude = float(earthquake[6])
    
  pen.penup()
  pen.goto(longtitude, latitude) # lon, lat
  pen.pendown()
  pen.dot(magnitude)  # magnitude

Voor elke lijn van data

AARDBEVINGEN PLOTTEN

pen = turtle.Turtle()
pen.color("green")

data = readlines(target_url)

for line in data:
  earthquake = line.split(',')
  longtitude = earthquake[3]
  latitude = earthquake[2]
  magnitude = float(earthquake[6])
    
  pen.penup()
  pen.goto(longtitude, latitude) # lon, lat
  pen.pendown()
  pen.dot(magnitude)  # magnitude

Zet alles in de juiste

     variabele

AARDBEVINGEN PLOTTEN

pen = turtle.Turtle()
pen.color("green")

data = readlines(target_url)

for line in data:
  earthquake = line.split(',')
  longtitude = earthquake[3]
  latitude = earthquake[2]
  magnitude = float(earthquake[6])
    
  pen.penup()
  pen.goto(longtitude, latitude) # lon, lat
  pen.pendown()
  pen.dot(magnitude)  # magnitude
Ga naar deze coordinaten

AARDBEVINGEN PLOTTEN

pen = turtle.Turtle()
pen.color("green")

data = readlines(target_url)

for line in data:
  earthquake = line.split(',')
  longtitude = earthquake[3]
  latitude = earthquake[2]
  magnitude = float(earthquake[6])
    
  pen.penup()
  pen.goto(longtitude, latitude) # lon, lat
  pen.pendown()
  pen.dot(magnitude)  # magnitude
En zet een stip op die plek
Net zo dik als de magnitude in cijfers is

AARDBEVINGEN PLOTTEN

AARDBEVINGEN PLOTTEN

pen.goto(longtitude, latitude) # longtitude, latitude
pen.goto(longtitude, latitude) # longtitude, latitude

De oplettende kijken heeft gezien dat we twee nieuwe functies gebruiken voor onze pen

Hiermee gaan we naar bepaalde coördinaten toe

En hiermee zetten we een stip op de plek waar we heen gegaan zijn.

Maar als jij straks op een andere manier je aardbevingen wilt aangeven, dan mag dat ook!

werkblad

"Aardbevingen tekenen"

Nog 1 keer AAN DE SLAG! 

zodadelijk op de computer...

Maak een account aan op trinket.io (DEMO)

We gaan overstappen van Repl.it naar Trinket.io

Dat is een soortgelijke website, maar hier kunnen we ook werken met afbeeldingen. Dat is handig voor onze wereldkaart!

Trinket remixen

Er staat weer wat code klaar om onze opdrachten mee te maken. Deze staat voor je klaar op:

https://trinket.io/python/41aa77c97f 

Klik op remix om hier je eigen opdracht mee te starten

 

 

 

 

 

opdrachten deel b

Basis:

  • Aardbeving plotten

 

Extra:

  • Werken met een if-statement in je for-lus
  • Andere werelddata plotten

 

CSC-Mod-3-Les-4a

By Lisa van der Plas

CSC-Mod-3-Les-4a

Computer Science Certificate Module Aardrijkskunde, les 4a

  • 411