ISS Tracker

High-Level Project Summary

We built a web app for visualizing and tracking the International Space Station in 3D. It is available online at https://binaryfunt.github.io/iss-tracker and works fully in the browser, allowing easy access. It provides a high level of interactivity not seen in other available trackers, which are often only 2D. It is hoped the app will engage members of the public, who can explore the current location of the ISS and see where it will pass over.

Detailed Project Description

Mission statement

We built a web app for visualizing and tracking the International Space Station in 3D. It is available online at https://binaryfunt.github.io/iss-tracker and works fully in the browser, allowing easy access.

It provides a high level of interactivity not seen in other available trackers. For example, the tracker available on the NASA & ESA websites is only 2D. Others may be closed source or only display a dot representing the ISS instead of a 3D model.

It is hoped the app will engage members of the public, who can explore the current location of the ISS and see where it will pass over in the next 2 hours or so (as well where it has been over the course of last orbit). This may also help them spot the station in the night sky.

The app is also of potential interest to satellite operators. It could be adapted to track any satellite, and ground stations can be added to the visualization.


How it works

The Earth visualization is based on the NASA WorldWind JS virtual globe API. We forked and modified an open-source WorldWind template app as a starting point. A NASA model of the ISS was converted into a WorldWind-compatible format using Blender.

Two-line element (TLE) data is fetched from a JSON API. This data describes the orbital parameters for the ISS as measured by ground-based observations. Using tle.js, the TLE data is plugged in to SGP4, a mathematical model that propagates the orbit through time, taking into account orbital perturbations such as the oblateness of the Earth and atmospheric drag. This allows calculation of the current ISS position (latitude & longitude) in real time, as well as the path of the previous, current and next obits. This output data is then rendered in WorldWind, with the current position being updated every second. For sake of simplicity, a constant 400km altitude is used.

Space Agency Data

Directly used:



Used for inspiration and verification purposes:


Hackathon Journey

We are a team with differing levels of programming experience, ranging from high school student to professional software engineer. Nevertheless, we each made important contributions and learnt new things in the process!

Our first step was to ensure we could each get the template app working. We spent some time figuring out how to use the WorldWind API. We then assigned different tasks between us, such as: using TLE data to plot the orbit, converting the 3D ISS model and animating the ISS marker position. All the while, we helped each other out when it came to things like using version control.

Tags

#software #ISS #visualization #orbit #web-app