Inhalt 📚 Wo befindet sich die International Space Station (ISS)? Um das herauszufinden, schreiben wir uns ein kleines Python-Programm, das über eine API den aktuellen Standort der ISS abfragt und diesen auf der Weltkarte einzeichnet. Wie kann uns das gelingen? 1. Zuerst suchen wir uns eine API, die uns die aktuelle Position der ISS anzeigen kann. 2. Wir greifen diesen Standort in Echtzeit ab und visualisieren ihn auf der Weltkarte. Dazu benötigen wir eine passende Python-Bibliothek. 3. Zum Schluss lassen wir uns ein Bild mit der Position der ISS auf der Weltkarte generieren. #Python#Programmieren#Lernen
00:00 | Einführung 00:14 | Wie gehen wir vor? 00:35 | Werbung 00:46 | Wo bekommen wir die Daten der ISS her? 01:22 | Installation von requests, matplotlib und basemap 02:04 | Implementierung in Python 06:46 | Testen des Programms
In diesem Video verwendete Befehle⚙️ ► pip install requests ► pip install matplotlib ► pip install basemap ► python iss.py
(*) Bei den Amazon-Links (https.//amzn.to/???????) handelt es sich um Affiliate-Links. Wenn du etwas über diesen Link kaufst, bekomme ich eine kleine Provision. Der Preis ändert sich nicht, wenn du über diesen Link einkaufst. Vielen Dank für deine Unterstützung.
wo befindet sich die International Space
Station jetzt in diesem Moment um das
herauszufinden schreiben wir uns ein
kleines pythenprogramm das über eine API
den aktuellen Standort der ISS abfragt
und diesen auf der Weltkarte
einzeichnet wie kann uns das gelingen
nun zuerst suchen wir uns eine API die
uns die aktuelle Position der ISS
anzeigen kann wir greifen diesen
Standort in Echtzeit ab und
visualisieren ihn auf der Weltkarte dazu
benötigen wir eine passende pythonbibl
zum Schluss lassen wir uns ein Bild mit
der Position der ISS auf der Weltkarte
generieren dieses Projekt habe ich im
Rahmen der dritten Auflage meines Buchs
Python fürinsteiger entwickelt wenn dich
Python Programmierung interessiert dann
ist dieses Buch vielleicht genau das
Richtige für dich okay genug mit dem
Werbeblock klären wir zunächst einmal
die Frage von wo wir die aktuelle
Position der ISS herbekommen dafür gibt
es eine API also eine
Programmierschnittstelle die wir über
diese URL hier ansprechen können
wenn wir die URL im Browser eingeben
dann erhten wir als Antwort z.B das hier
das ist eine Nachricht im jsonformat für
uns sind die beiden Werte in den Feldern
longitude also Längengrad und Latitude
also Breitengrad interessant weil wir
darüber genau bestimmen können wo über
der Erde sich die ISS gerade befindet um
dieses Projekt umzusetzen werden drei
Bibliotheken benötigt nämlich requests
matplot lip und basement mit requests
kannst du wie es de Name bereits
vermuten lässt WebQuests Absenden mit
matplot lip können Daten in Form von
Grafiken visualisiert werden Basemap
wird zu kartengenerierung und
geographischen Visualisierung genutzt
wir installieren uns nun die drei
Bibliotheken PIP install requests um
requests zu installieren PIP install
matplotlip um matplotlip zu installieren
und schließlich PIP install Basemap um
Basemap zu installieren in unserem
Programm das wir
is.p nennen importieren wir requests und
matplotlip.pot mit dem Alias PLT hier
behandelt es sich um einen sogenannten
kanonischen Namen das heißt
matplotlip.pplot wird standardmäßig mit
dem Alias PLT importiert zudem benötigen
wir von
mpl_toolkits.basemap noch das Modul
Basemap
jetzt schreiben wir uns eine Funktion wo
ist die ISS mit der wir den aktuellen
Standort der ISS abfragen können diese
Funktion erhält keine
Übergabeparameter innerhalb der Funktion
rufen wir auf dem Modul requests die
Funktion get auf und übergeben wir die
URL zum abgreifen der ISS Position das
Ergebnis speichern wir in einer Variable
namens Antwort in einer ifabfrage
überprüfen wir ob beim Aufruf der
eine Antwort vom Server zurückgekommen
ist dazu fragen wir den Statuscode auf
der Antwort ab und prüfen ob dieser 200
okay ist wenn das der Fall ist dann
wandeln wir die Daten mit Hilfe der
Methode JSON in ein JSON Objekt um damit
wir es mit den Bordmittel von pythen
leichter verarbeiten können intern kann
dieses Objekt wie ein dictionary
angesprochen werden das Ergebnis
speichern wir in der Variable Daten wir
lesen mit dem Schlüssel s Position das
Dictionary mit den beiden Werten
longitude also den läengrad und Latitude
für den Breitengrad aus das Ergebnis
speichern wir in einer Variable die wir
ebenfalls
is Position nennen in dieser Variable
ist nun ein dictionary von diesem Format
hier gespeichert dieses wird im
Anschluss zurückgegeben wenn keine
gültige Antwort von der API zurückkommt
geben wir non als Fluchtwert zurück
jetzt kümmern wir uns um das Erstellen
der Karte auf der wir die aktuelle is
Position eintragen dafür definieren wir
uns eine Funktion
is_ers Karte die ebenfalls keine
Parameter erhält innerhalb der Funktion
lesen wir mit Hilfe der
zuvorgeschriebenen Funktion wo ist die
ISS die aktuelle Position der ISS aus
und speichern sie in an der Variable
is Position zuerst überprüfen wir mit
einer ifabfrage ob die Funktion wo ist
die ISS eine gültig Position zurückgibt
wenn das nicht der Fall ist dann hat die
variable is Position den Wert non und es
wird direkt in den els zwe gesprungen
bei dem der Benutzer bei den
aufgetretenen Fehler informiert wird
wenn alles soweit funktioniert hat dann
lesen wir nacheinander die Werte
longitude und Latitude aus dem
dictionary aus wandeln sie in einen
float um und weisen Sie den beiden
Variablen Lon bzw lat zu mit diesen
Werten erzeugen wir uns jetzt ein
Basemap Objekt und weisen es einer
Variable mit dem Namen Karte zu das
stellt später unsere Karte da auf der
die ISS eingezeichnet wird was bedeuten
die einzelnen Parameter jetzt hier der
Parameter projection legt die Projektion
der Karte fest in diesem Fall wird die
orthografische Projektion verwendet die
die Erde als Kugel darstellt und die
Karte von einem bestimmten Punkt im Raum
ausbetrachtet alles was sich von diesem
Punkt ausgesehen außerhalb der
Sichtweite befindet wird auf der Karte
nicht dargestellt der Parameter led Z
legt die Breitengradkoordinate des
Zentrums der Karte fest das bedeutet
dass die Karte aus der Sicht dieses
breitengrads erstellt wird wir weisen
diesen Parameter den Wert in der
Variable lat zu der Parameter
lon_er legt die längengradkoordinate des
Zentrums der Karte fest die Karte wird
also aus Sicht dieses längengrads
erstellt wir weisen die diesen Parameter
den Wert in der Variable long zu mit dem
Aufruf der Methode draw costlines auf
unserer Karte werden die Küstenlinien
gezeichnet jetzt lesen wir die X und Y
Koordinate für den roten Punkt aus mit
dem wir die Position der ISS auf der
Karte darstellen wollen mit Hilfe der
Methode Plot auf unserer Karte wird die
ISS als roter Punkt eingezeichnet nun
vergeben wir mit der Funktion title noch
einen passenden Titel für den Plot der
beim Start des Programms angezeigt
werden soll wie z.B aktuelle Position
der
ISS zum Schluss rufen wir noch die
Funktion Show auf um den Plot anzuzeigen
im Hauptprogramm müssen wir dann einfach
nur noch die Funktion
is_karte aufrufen jetzt starten wir das
Programm und nach einer kurzen Wartezeit
wird uns dieses Bild hier angezeigt wo
auf der Welt befindet sich denn nun
gerade die ISS schreibt es gerne undten
in die Kommentare vielen Dank fürs
zusehen und bis zum nächsten Video