An application for determining if there's any NEO (Near Earth Object) 'directly' overhead. It is a node app designed to return the name of any satellite that is presently overhead, based on user IP.
This application is written in JS and run in Node, utilizing multiple APIs & libraries, including:
-
Clone from the Repo:
git clone TBD
-
Install dependencies:
npm install
-
Setup ipinfo API:
- Create API key @ https://ipinfo.io/
- Create .env file to root
- Add API key to .env file as follows:
address_key=YOUR_KEY_GOES_HERE
-
Run application: You'll need at least a search query or satellite ID (e.g. 'ISS', '25544U') to get started, or you'll receive a random 20 satellites.
- Via CLI
npm run build npm run start
- Via CLI
- TLE API
- Haversine Formula wiki
- FreeMapTools
- GeoJSON
- N2YO Satellite Tracker
- MovableType Blog
- GIS StackExchange
calculate full orbital path of chosen satellite- check if chosen satellite is overhead now
- check if gonna be overhead in 24 hrs
- warning about what is overhead in the next 24 hours, (need to calculate all satellites trajectory or at least filter out the unlikelys)
- visualize full orbital path of chosen satellite
- pass in location as an argument in lieu/addition to IP location lookup (would save an api call)
swap out propagate endpoint for library or hombebrew implementation of SGP4/SDP4 algorithm- warning text/tweet/email when a satellite is to be overhead
- input/output validation for query/action
- add testing
- multiple users
- running all the satellites data, storing it for 3 days to
- satellite orbits that will pass 'overhead' in the next 24hrs || the next viewing time || the next 10
- using mongo to query geospatial data to with in the users location
- calculate horizon of user, and horizon of satellite, if they intersect then its a worthy candidate
This project is licensed under the MIT License - see the LICENSE.md file for details