Gdzie jest ISS
-
jacek
03/11/2019
- Programowanie
- 3080 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ą?



















































