This project provides tools for visualizing satellite orbits and analyzing Line of Sight (LoS) visibility between satellites and ground stations. It utilizes Cesium for 3D visualization and Skyfield for precise orbital calculations, alongside analyzing potential cybersecurity threats and attack vectors.
- 3D visualization of satellite orbits
- Ground station network visualization
- Line of Sight (LoS) analysis between satellites and ground stations
- Dynamic visibility windows calculation
- Color-coded visualization based on orbital inclinations
- Time-based animation of satellite movements and visibility
The project includes six ground stations strategically located around the world:
| Region | Ground Station Location | Coordinates |
|---|---|---|
| US West | Boardman, Oregon (USA) | 45.8397° N, 119.7006° W |
| US East | Wallops Island (USA) | 37.9402° N, 75.4664° W |
| Europe | Dublin (Ireland) | 53.3331° N, 6.2489° W |
| Asia Pacific | Sydney (Australia) | -33.8688° S, 151.2093° E |
| Middle East | Bahrain | 26.0667° N, 50.5577° E |
| Africa | Cape Town (South Africa) | -33.9249° S, 18.4241° E |
-
Python 3.9+
-
Required Python packages:
- skyfield
- numpy
- json
- Clone the repository:
git clone [repository-url]
cd [repository-name]- Create and activate a virtual environment:
python -m venv satenv
source satenv/bin/activate # On Windows: satenv\Scripts\activate- Install required packages:
pip install skyfield numpyRun the script to generate the 3D satellite visualization:
python generate_czml24.pyThis creates czml_3d_satellites_with_models.json containing the satellite visualization data.
Calculate visibility between satellites and ground stations:
python calculate_los.pyThis generates visibility_data.json with detailed visibility information.
Create the integrated visualization with satellites, ground stations, and LoS:
python generate_los_visualization.pyThis produces combined_visualization.czml for viewing in Cesium.
-
Load the generated CZML file in Cesium:
- Open Cesium ion
- Upload the
combined_visualization.czmlfile - View the visualization in the Cesium viewer
-
Visualization features:
- Moving satellites with orbital paths
- Ground stations with labels
- Dynamic Line of Sight connections
- Time controls for animation
- Color-coded elements for easy identification
-
Satellites:
- 3D models with orbital paths
- Color-coded by inclination (60° = green, 120° = cyan)
- Labels showing satellite IDs
-
Ground Stations:
- Unique colors for each station
- Clear labels with station names
- Fixed positions on Earth's surface
-
Line of Sight:
- Dynamic glowing lines between stations and visible satellites
- Color-coded to match ground stations
- Updates based on actual visibility windows
The visualization includes:
- 24-hour simulation period
- 60x time multiplier
- Play/pause controls
- Timeline for specific time selection
- Loop functionality
The next stages of this project include:
-
Analyzing attack vectors originating from various domains:
- Space systems
- Ground systems
- Link systems
-
Developing Proof-of-Concept (POC) attack scenarios based on the SPARTA framework
Contributions are welcome! Please feel free to submit a Pull Request.
[Your chosen license]
- Cesium for the 3D visualization platform
- Skyfield for orbital calculations
- NASA for satellite data