Gdzie jest ISS
-
jacek
03/11/2019
- Programowanie
- 2512 czytań 0 komentarzy
Na stronie CodeClub znajdziesz nie tylko cały kod z plikami do jego działania, ale również opracowana lekcję tworzenia tego kodu oraz zaznajamiająca ze wszystkimi elementami jakie w nim są użyte. To dobra okazja by się więcej nauczyć o fajnym kodowaniu w Python. Na tej stronie jest też dostęp do Trinket, który pozwala od razu uruchamiać kod i sprawdzać jego różne modyfikacje.
Pliki graficzne potrzebne do działania skryptu:
Mapa Ziemi opracowana przez NASA
ISS - obraz stacji ISS
Kolejny skrypt pochodzi ze strony 101computing. Niestety w oryginale jest błąd, który tutaj już został poprawiony i program działa poprawnie. Pozycja ISS odświeża się co 5 min.
Pliki graficzne potrzebne do działania skryptu:
Mapa Ziemi opracowana przez NASA
ISS - obraz stacji ISS
#!/usr/bin/python3 #------------------------------------------------------------------------------- # Name: ISS - gdzie jest? Dla Żagań # https://projects.raspberrypi.org/en/projects/ # where-is-the-space-station # https://codeclubprojects.org/en-GB/python/iss/ # Purpose: python 3.6 # # Author: Jacek Patka # # Created: 17-10-2019 # Copyright: (c) astronom 2019 # Licence: Jacek Patka - jpatka@wp.pl #------------------------------------------------------------------------------- # -*- coding: UTF-8 -*- #import required libraries import json,turtle,urllib.request,time #opens JSON file containing ISS crew information url = 'http://api.open-notify.org/astros.json' response = urllib.request.urlopen(url) result = json.loads(response.read()) #opens JSON file containing ISS location information url2 = 'http://api.open-notify.org/iss-now.json' response2 = urllib.request.urlopen(url2) result2 = json.loads(response2.read()) #prints information on who is on the ISS print('People in space:', result['number']) people = result['people'] for p in people: print(p['name'],"in",p['craft']) #collects information from location JSON location = result2['iss_position'] lat = location['latitude'] lat = float(lat) lon = location['longitude'] lon = float(lon) print('ISS current location:') print('Latitude:',lat) print('Longitude:',lon) #shows a map of planet Earth screen = turtle.Screen() screen.setup(720, 360) screen.setworldcoordinates(-180, -90, 180, 90) screen.bgpic('map.gif') #creates a Turtle for ISS screen.register_shape('iss.gif') iss = turtle.Turtle() iss.shape('iss.gif') iss.setheading(90) #set location for ISS turtle iss.penup() iss.goto(lon, lat) #set marker location for Zagan, PL lat_man = 51.596338 lon_man = 15.337387 location_man = turtle.Turtle() location_man.penup() location_man.color('yellow') location_man.goto(lon_man,lat_man) location_man.dot(5) location_man.hideturtle() #when will ISS pass over Zagan, PL url_man = 'http://api.open-notify.org/iss-pass.json?lat=51.59&lon=15.337' response_man = urllib.request.urlopen(url_man) result_man = json.loads(response_man.read()) over_man = result_man['response'][1]['risetime'] #print on map when ISS will pass over Zagan, PL style = ('Arial',10,'bold') location_man.write(time.ctime(over_man),font=style)
Pliki graficzne potrzebne do działania skryptu:
Mapa Ziemi opracowana przez NASA
ISS - obraz stacji ISS
Kolejny skrypt pochodzi ze strony 101computing. Niestety w oryginale jest błąd, który tutaj już został poprawiony i program działa poprawnie. Pozycja ISS odświeża się co 5 min.
#Real time ISS tracker - www.101computing.net/real-time-ISS-tracker/ import json, turtle, urllib.request, time #A first JSON request to retrieve the name of all the astronauts currently in space. url = "http://api.open-notify.org/astros.json" response = urllib.request.urlopen(url) result = json.loads(response.read()) print("There are currently " + str(result["number"]) + " astronauts in space:") print("") people = result["people"] for p in people: print(p["name"] + " on board of " + p["craft"]) #Display information on world map using Python Turtle screen = turtle.Screen() screen.setup(720, 360) screen.setworldcoordinates(-180, -90, 180, 90) #Load the world map picture screen.bgpic("world-map.gif") screen.register_shape("iss.gif") iss = turtle.Turtle() iss.shape("iss.gif") iss.setheading(45) iss.penup() while True: #A JSON request to retrieve the current longitude and latitude of the IIS space station (real time) url = "http://api.open-notify.org/iss-now.json" response = urllib.request.urlopen(url) result = json.loads(response.read()) #Let's extract the required information location =result["iss_position"] lat = location["latitude"] lat = float(lat) lon = location["longitude"] lon = float(lon) #Output informationon screen print("\nLatitude: " + str(lat)) print("Longitude: " +str(lon)) #Plot the ISS on the map iss.goto(lon, lat) #refresh position every 5 seconds time.sleep(5)
Pliki graficzne potrzebne do działania skryptu:
Mapa Ziemi opracowana przez NASA
ISS - obraz stacji ISS
Dodaj komentarz
Zaloguj się, aby móc dodać komentarz.
Oceny
Tylko zarejestrowani użytkownicy mogą oceniać zawartość strony
Zaloguj się , żeby móc zagłosować.
Zaloguj się , żeby móc zagłosować.
Brak ocen. Może czas dodać swoją?