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