Where is the International Space Station? (Python)

Now that I know how to use images in Python I’ve tackled the “Where is the space station?” lesson of Code Club projects as a) I will be teaching the lesson at some point and its always good to practise the lesson before teaching it and b) I want to make it work using Python 3 on my Mac and not via Trinket (not there is is anything wrong with Trinket, it is a cool website!).

Code Club do offer a version of the files for offline use, but I prefer trying to figure out what needs changing/getting it to work myself instead of relying on others work as I think I learn better that way.

I’ve modified the Python so that it shows the current location of the International Space Station (ISS) and when it will pass over Manchester, United Kingdom:

———

#geektechstuff

#!/bin/python3

#Original material at https://codeclubprojects.org/en-GB/python/iss/

#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 Manchester, UK

lat_man = 53.483959

lon_man = -2.244644

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 Manchester, UK

url_man = ‘http://api.open-notify.org/iss-pass.json?lat=53.48&lon=-2.244’

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 Manchester, UK

style = (‘Arial’,6,’bold’)

location_man.write(time.ctime(over_man),font=style)

———

Original Code Club project:

https://codeclubprojects.org/en-GB/python/iss/

My GitHub containing the relevant files:

https://github.com/geektechdude/Python_ISS_Location

Trinket:

https://trinket.io/

 

Welcome to GeekTechStuff

my home away from home and where I will be sharing my adventures in the world of technology and all things geek.

The technology subjects have varied over the years from Python code to handle ciphers and Pig Latin, to IoT sensors in Azure and Python handling Bluetooth, to Ansible and Terraform and material around DevOps.

Let’s connect