This project shows how supplemental scene data, such as satellite positions, can be added to the CesiumJS scene. Satellites are expressed via entity-config.json via a Two-Line Element Set and a reference to an asset defined in glb-config.json. For convenience, generate-entity-config.sh has been provided as a means of quickly generated a valid entity-config.json
with up-to-date TLE information provided by CelesTrak. This script can be updated to point to any other data provider of your choosing that matches the data schema.
-
Create a free Cesium Account
-
Go to Cesium Ion and select
Access Tokens
-
Create or reuse an existing access token with the following access:
- assets:read
- geocode
-
Copy the value under
Token
-
Create a
.env
file in the root directory of this repository containing the following, where<Token Value>
is replaced by the token copied in the previous step:CESIUM_TOKEN=<Token Value>
-
Execute generate-entity-config.sh to update entity-config.json with the most recent satellite TLE data. You should only need to do this at most once every 24 hours.
-
Open this project in the provided devcontainer:
F1-> DevContainers: Rebuild and Reopen in Container
-
Launch the application via
F5
or:Run and Debug -> Run Application
-
Once webpack has built and deployed the application, it can be accessed at:
http://localhost:8080
- Satellite TLEs provided by CelesTrak
- "Satellite - Low Poly" (https://skfb.ly/o6KyF) by calebcram is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).