This project is solving the Revitalize the PDS challenge.
In creating SpaceView we aimed to provide a simple way to present the many fantastic images sent back by the fleet of space probes sent to explore our Solar System which are available through PDS, while providing some context about the mission itself.
Taking inspiration from Google StreetView, we came up with the idea of showing the routes (trajectories) of the spacecraft through the Solar System, and associating each point on the trajectory with the images captured at that time by the spacecraft. Due to the time limitations of the SpaceApps Challenge, we settled on a proof-of-concept showing the trajectories of just the two Voyager missions, however our vision is for the app to be ultimately extended to all the spacecraft for which data is stored in PDS.
To accomplish our aims, we needed to collect data on the spacecraft positions as a function of time, in other words the ephemeris. Fortunately the JPL HORIZONS ephemeris calculation service can be queried for just such data. Unfortunately, the available interfaces are: a CGI-based webpage, an e-mail interface, and a telnet-based text query interface, the last of which is the most powerful. None really lend themselves to direct use by an interactive web application. To solve this problem we created a Python 3 wrapper, py-NASA-horizons, which uses the telnet interface to generate XYZ coordinates for any Solar System object (e.g. a spacecraft) for any given date. (The interface can be easily extended to extract any available data.) In our proof-of-concept application the ephemeris data is stored in a JSON table within the app, however it could just as easily be retrieved dynamically.
Project InformationLicense: MIT License
Source Code/Project URL: https://github.com/marcinkaszynski/spaceview
Resourcespy-NASA-horizon - https://github.com/tpltnt/py-NASA-horizons
spaceappsdatahacks - https://github.com/gregstachowski/spaceappsdatahacks