PySatTracker is an interactive satellite tracking and visualization tool featuring a 2D Earth map and a 3D OpengGL space view. The system renders satellites and orbits by combining a SGP4 orbital propagation with physically accurate Earth and Sun geometry. The project focuses on implementing clear frame separation, correct astronomical transformations and orbital mechanics, in a clear rendering architecture.
The tool uses a Two Line Elements database extracted daily from the Celestrak archive, featuring all currently active satellites in orbit around Earth.
- Cloning the Github Repository.
git clone https://github.com/EnguerranVidal/PySatTracker.git
- Going in the Repository Directory.
cd PySatTracker
- Creating Conda Environment and activating it.
conda create --name pysattracker python=3.10
conda activate pysattracker
- Installing PySatTracker Requirements.
pip install -r requirements.txt
To start the tool, the following steps can be followed :
- Going in the Repository Directory.
cd PySatTracker
- Activating the Conda Environment.
conda activate pysattracker
- Running the main.py file.
python3 main.py
| Feature | Description | Status |
|---|---|---|
| 2D Map Shading | Adding night shadow shader copying the 3D View rendition | Testing |
| 2D Map Optimization | Optimize 2D Map rendition for GPU usage | In Progress |
| Line Plots | Adding line plots able to graph wanted calculated values | In Progress |
| Polar Plots | Adding polar plots able to graph wanted calculated values | Planned |
| Orbit Coverage | Predict visible satellite ground coverage | Planned |
| Pass Predictions | Predict visible satellite passes for observers | Planned |
| 3D View Optimization | Optimize 3D View rendition for GPU usage | Planned |
| Orbital Calculations Optimization | Optimize orbital calculations for GPU usage | Planned |
| Object Grouping | Adding the ability to group visible objects | Planned |