Aardrijkskunde Les 4: Aardbevingen plotten in Python
Al onze kennis samenbrengen, aardbevingen plotten met Python!
In de afgelopen lessen hebben we geleerd:
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
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!
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")
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?
Hint:
Hint:
Yes, Turtle! En het gebruik van 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:
#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:
Dit is wat we deze les gaan maken, daarvoor moeten we nog één
ding weten over for-lussen.
#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
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
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
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
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
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
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!
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!
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
Basis:
Extra: