Node.js example implementation of querying Space-Track.org for active collision alerts per object, with result caching.
Note: This is a post is part of a multi-part series.
A Satellite Catalog (SatCat) contains information about objects in Earth's orbit. The data is generated by radar tracking stations, then categorized and cataloged by some very smart analysts. We'll get debris object data from the REST API of a SatCat operated by the U.S. Strategic Command, Space-Track.org.
If it sounds a bit serious, it is.
Air Force Maj. Gen. David D. Thompson, U.S. Strategic Command’s director of plans and policy at Offutt Air Force Base, Nebraska, said the release of new high-quality positional information on space debris of an unknown origin will help owner-operators better protect their satellites from these objects and ultimately create less space debris.
“We run a predictive program that shows where the objects are, where they will be in the future, and the potential for these objects to run into each other,” Thompson said.
Officials Expand Space-tracking Website
U.S. Department of Defense
If you adhere to the User Agreement you can obtain credentials to query the SatCat.
You'll need a Space-Track.org username and password shortly, so if you haven't already done so, go to space-track.org and register.
You did notice the API usage caps on Space-Track.org, no doubt. Right?? This means if you build an app you can't just query the servers anytime an end user requests data. In this case you'll need to use your own web service as a buffer. It can query the Space-Track.org server and cache the result. So, let's give that a try!.
In this post we're going to:
- Learn how to create a skeletal web app with Node.js and the Express application framework
- Modify the root web page to display a list of satellite collision near-miss alerts for a given object
- Create a rest API that any web page (including our web page) use to get the list
- Submit requests to Space-Track.org from our server, and get a JSON response back
- Cache Space-Track.org responses per-object for 24 hours
- Store Space-Track.org username credentials in environment variables
That's a lot, right?? Right!
Full Tutorial:
ASAT Code Tutorial 3: Build a Node.js Server, query a SatCat for weapons test debris data