3D satellite visualization and launch-data analysis.
npm install
cp .env.example .envSet VITE_ION_TOKEN in .env, then run npm run dev and open http://localhost:4170/.
Use npm run build to build and npm run serve to preview the production build.
The Cesium token is embedded into the static frontend at image-build time. Define it explicitly, then build and run:
export VITE_ION_TOKEN='your-cesium-ion-token'
docker build --build-arg VITE_ION_TOKEN="$VITE_ION_TOKEN" -t satnet .
docker run -d --name satnet --restart unless-stopped -p 4170:80 satnetPassing VITE_ION_TOKEN to docker run is not sufficient; rebuild the image when changing the token. The token is delivered to browsers, so configure appropriate restrictions in Cesium ion.
![]() (a) Low Earth Orbit (LEO) |
![]() (b) Medium Earth Orbit (MEO) |
![]() (c) Geostationary Orbit (GEO) |
![]() (d) High Orbit (HEO) |
The launch animation is driven by time and location on Earth. Once the launch time matches the Cesium global clock, the animation begins, and new entities are added to the 2D Cesium Viewer.
The size of the country circle represents the number of satellites launched in the previous year, with the circle's center placed at the geographical coordinates of each country's capital.
The barchart dynamically ranks satellite launches by country and agent on a yearly basis. Users can toggle between country and agent views and apply filters to selectively display or hide certain entities.
- https://github.com/jeremysuh/3D-Satellite-Tracker
- https://github.com/andrewkihs/satellite-radio
- https://github.com/RuiZhang2Penn/Shinning
- https://celestrak.org/NORAD/elements/
- https://satdb.ethz.ch/ Processed 'celestrak' data APIs
- https://github.com/r-spacex/SpaceX-API/tree/master/docs/starlink/v4 might be official data
- https://planet4589.org/space/gcat/web/sites/index.html Launch sites










