Awards & Nominations

The Third Rail has received the following awards and nominations. Way to go!

Global Nominee

Orbital Sky

A huge number of satellites in Earth's orbit support our day-to-day life on the ground. Your challenge is to develop a method to improve public knowledge of these satellites, with an eye towards driving user engagement, enthusiasm, and exploration.

Satellite Tonight

Summary

The function of this front-end application is for the user to select a point on the map to represent an observer's location. In this first iteration, the tool outputs the details for the next International Space Station (ISS) viewing from that coordinate. The map will plot the trajectory of the ISS during the sighting, and the table will outline the viewing details that the observer can use to locate the ISS in the night sky.

How I Addressed This Challenge

Context:

There are several satellite tracking apps, such as NASA's SpotTheStation app, however I think there are several enhancements that can be made to increase overall engagement and understanding for space enthusiasts.

While the SpotTheStation app simply notifies the user of the next ISS viewing, personally I've been curious to get a better understanding of the trajectory that a satellite is taking over my region which results in a viewing opportunity. Therefore one of the main goals of this project, in addition to providing the next viewing opportunity, was to plot the trajectory of the satellite viewing on a 2D map to give the user a better sense of orientation of the satellite flyby.

How it works

  1. The end-user interacts with the map and clicks to set the coordinates of the observer's location
  2. The user clicks "Get Next ISS Sighting" button
  3. N2YO API was used to get the start & end time of the next viewing for a specified location. The NASA SSC API is then used to retrieve the coordinate/trajectory data for the satellite. These coordinates are then plotted on the map.

Future State:

As I tried to imply in my project name, Satellite Tonight, I would aim to enhance my tool so that it would provide sighting opportunities for ALL satellites given a user's coordinates, for a given night.

User Experience:


  1. User selects their location of the observer on the map
  2. The tool will then print out a simple table with all the associated Satellite Names & Viewing Times for a given date/night
  3. The user can then click/select each Satellite in the list, and it will update/display the trajectory of that satellite during its viewing opportunity. The Viewing Details table will also update to show the appropriate values for the selected satellite.
  4. Allow the user to view/redirect to a summary of the satellite to learn about it's function

Mission of this project:

  1. As stated earlier, the first goal is to give users a better sense of satellite trajectory/orientation over their area, instead of simply printing out stats about an upcoming viewing
  2. A simple method of showing ALL satellite sighting opportunities for the upcoming night. This simplicity will hopefully build engagement and encourage users go outside and night and look up!
  3. Increase education around the types of satellites that are viewed in the night sky, by providing access to a summary & functions of these observed satellites
How I Developed This Project
  • This tool was built using HTML, CSS, & jQuery
  • The map functionality was incorporated using a library called Leaflet.js

Significant Challenges & Milestones

  • Using the correct coordinate system. The NASA SSC API defaults to providing satellite coordinates in GSE format. However, for the purpose of plotting coordinates on the map, I found that using GEO format returned the accurate date for my application.
  • Converting UNIX time to ISO 8601 format. The N2YO API returns timestamp data in UNIX, however, I needed to use jQuery to convert and build an API request in ISO 8601 format, which is required for the NASA SSC API.
  • Converting Longitude values into correct format. The NASA SSC API responds with Longitude data in 360 degree format. However, in order to plot this on the map via Leaflet.js, I had to convert to (-180 to 180) degree format within my application
How I Used Space Agency Data in This Project

N2YO API

This API provides a "Get Visual Passes" endpoint, which returns the predicted visual passes for any satellite relative to a location on Earth. A "visual pass" is a one that should be optically visible on the entire (or partial) duration when crossing the sky. For that to happen, the satellite must be above the horizon, illuminated by Sun (not in Earth shadow), and the sky dark enough to allow visual satellite observation. This API was used to determine the start & end time of the visual pass.

NASA Satellite Situation Center (SSC) API

This API allows the user to request Location data for various satellites. The request requires a timeRange in ISO 8601 format, and the response contains the Latitude/Longitude information for every minute of the flight trajectory.

Project Demo
Data & Resources
  • N2YO API: Used to get the start & end time of the next viewing opportunity for a satellite
  • NASA Satellite Situation Center: The start & end time from the N2YO API is then passed into the SSC API to acquire the coordinate data of the satellite over time
  • Leaflet.js: The coordinate data is then plotted on the map functionality, which is powered by Leaflet.js
Tags
#satellites #satellitetracker #orbitalsky
Judging
This project was submitted for consideration during the Space Apps Judging process.