main 0.1
Jeff Moe 2022-05-21 20:32:46 -06:00
parent b64d9e31a9
commit 32c2d27991
1 changed files with 141 additions and 157 deletions

298
README.md
View File

@ -20,153 +20,6 @@ And render it in this application:
![celestia-screenshot](pics/celestia-screenshot.png)
# See Also
## Spacecruft
Spacecruft:
* https://spacecruft.org/spacecruft/gnss-earth
* https://spacecruft.org/spacecruft/celestia
## Celestia
Upstream Celestia:
* https://celestia.space/
* https://github.com/CelestiaProject/Celestia
## TLE Conversion
TLE Conversion Spreadsheet:
* https://www.classe.cornell.edu/~seb/celestia/hutchison/spreadsheets.html
* https://www.classe.cornell.edu/~seb/celestia/hutchison/tle-xls.zip
## Solar System Catalog
*"Solar System Catalog" files are primarily used to define the objects which
can be found in a stellar system, such as planets, moons, asteroids, comets,
and spacecraft. They also have four other uses: they can define alternative
surface textures, locations on or near an object, and orbital reference points.
An SSC file can also edit objects which have been defined in other SSC catalog files.*
Info on `.ssc` files:
* https://www.classe.cornell.edu/~seb/celestia/creating-ssc-files.html
* https://en.wikibooks.org/wiki/Celestia/SSC_File
In Celestia name "Galileo" is used for the *other* spacecraft, not
for the EU GNSS. So the name used in development here adds `-gnss`,
ala, `galileo-gnss.ssc`, whereas the other GNSS don't.
Example `.ssc` file contents:
```
"1997-035A" "Sol/Earth" {
Class "spacecraft"
# Mesh
Radius 0.005
EllipticalOrbit {
Epoch 2459718.94467728
Period 0.49859567
SemiMajorAxis 26560.345
Eccentricity 0.0057297
Inclination 55.5062
AscendingNode 156.8049
ArgOfPericenter 51.2220
MeanAnomaly 309.3262
}
Obliquity 55.5062
EquatorAscendingNode 156.8049
RotationOffset 80.2289
# Orientation [ ]
}
```
## Galileo
Galileo 3D models are from the ESA:
* https://gssc.esa.int/education/galileo3d/
## TLE Sources
Beidou (China)
* https://celestrak.com/NORAD/elements/beidou.txt
Galileo (Europe)
* https://celestrak.com/NORAD/elements/galileo.txt
Glonass (Russia)
* https://celestrak.com/NORAD/elements/glo-ops.txt
GNSS (All)
* https://celestrak.com/NORAD/elements/gnss.txt
GPS (USA)
* https://celestrak.com/NORAD/elements/gps-ops.txt
## Spice
Spice TLE:
"Evaluate NORAD two-line element data for earth orbiting spacecraft."
* https://naif.jpl.nasa.gov/pub/naif/toolkit_docs/FORTRAN/spicelib/evsgp4.html
## SGP4
SPG4
* https://pypi.org/project/sgp4/
## Skyfield
Skyfield
* https://rhodesmill.org/skyfield/earth-satellites.html
# 3D Models
Celestia uses an old 3D proprietary format from an old 3D application in
`.3ds` format. It also has it's own format `.cmod`.
## 3D Model Conversion
Recent versions of Blender don't export `.3ds` format. But old versions
of Blender, such as 2.79b do work. Get an old version here:
* https://download.blender.org/release/Blender2.79/
Launch `blender`, import, export.
```
# Go to https://gssc.esa.int/education/galileo3d/
# and download the Galileo_3D.zip file.
# It generates a unique URL, afaict.
unzip Galileo_3D.zip
# Get old Blender
wget https://download.blender.org/release/Blender2.79/blender-2.79b-linux-glibc219-x86_64.tar.bz2
tar xf blender-2.79b-linux-glibc219-x86_64.tar.bz2
cd blender-2.79b-linux-glibc219-x86_64
./blender
```
Blender creates a new file on launch.
Go to `File --> Import --> Wavefront (.obj)`.
Import the file, such as `galileo.obj`.
Go to `File --> Export --> 3D Studio (.3ds)`.
Save the file, such as `galileo-gnss.3ds`.
The `galileo-gnss.3ds` file created this way didn't render in Celestia. `:(`
# Install celestia-gnss
Install thusly.
@ -201,23 +54,154 @@ sudo cp -a extras/galileo-gnss/ /usr/share/celestia/extras-standard/
```
# Issues
`pyorbital` doesn't support geostationary orbits.
It gives the error:
`Deep space calculations not supported`
# See Also
I thought that was what `pyorbital` was for. It is mentioned in a
bug report, but not in the docs. Hmm.
## Spacecruft
Spacecruft:
See issue:
* https://spacecruft.org/spacecruft/gnss-earth
* https://github.com/pytroll/pyorbital/issues/71
* https://spacecruft.org/spacecruft/celestia
## Celestia
Upstream Celestia:
* https://celestia.space/
* https://github.com/CelestiaProject/Celestia
## TLE Conversion
TLE Conversion Spreadsheet by Grant Hutchison from July 2003.
* https://www.classe.cornell.edu/~seb/celestia/hutchison/spreadsheets.html
* https://www.classe.cornell.edu/~seb/celestia/hutchison/tle-xls.zip
## Solar System Catalog
*"Solar System Catalog" files are primarily used to define the objects which
can be found in a stellar system, such as planets, moons, asteroids, comets,
and spacecraft. They also have four other uses: they can define alternative
surface textures, locations on or near an object, and orbital reference points.
An SSC file can also edit objects which have been defined in other SSC catalog files.*
Info on `.ssc` files:
* https://www.classe.cornell.edu/~seb/celestia/creating-ssc-files.html
* https://en.wikibooks.org/wiki/Celestia/SSC_File
In Celestia name "Galileo" is used for the *other* spacecraft, not
for the EU GNSS. So the name used in development here adds `-gnss`,
ala, `galileo-gnss.ssc`, whereas the other GNSS don't.
Example `.ssc` file contents:
```
I think the Deep space error comes when trying to use TLEs for computing
geostationary or deep space orbits, with pyorbital doesn't support yet.
"1997-035A" "Sol/Earth" {
Class "spacecraft"
# Mesh
Radius 0.005
EllipticalOrbit {
Epoch 2459718.94467728
Period 0.49859567
SemiMajorAxis 26560.345
Eccentricity 0.0057297
Inclination 55.5062
AscendingNode 156.8049
ArgOfPericenter 51.2220
MeanAnomaly 309.3262
}
Obliquity 55.5062
EquatorAscendingNode 156.8049
RotationOffset 80.2289
# Orientation [ ]
}
```
## TLE Sources
Beidou (China)
* https://celestrak.com/NORAD/elements/beidou.txt
Galileo (Europe)
* https://celestrak.com/NORAD/elements/galileo.txt
Glonass (Russia)
* https://celestrak.com/NORAD/elements/glo-ops.txt
GNSS (All)
* https://celestrak.com/NORAD/elements/gnss.txt
GPS (USA)
* https://celestrak.com/NORAD/elements/gps-ops.txt
## Spice
Spice TLE:
"Evaluate NORAD two-line element data for earth orbiting spacecraft."
* https://naif.jpl.nasa.gov/pub/naif/toolkit_docs/FORTRAN/spicelib/evsgp4.html
## SGP4
SPG4
* https://pypi.org/project/sgp4/
## Skyfield
Skyfield
* https://rhodesmill.org/skyfield/earth-satellites.html
# 3D Models
Celestia uses an old 3D proprietary format from an old 3D application in
`.3ds` format. It also has it's own format `.cmod`.
## Galileo
Galileo 3D models are from the ESA:
* https://gssc.esa.int/education/galileo3d/
## 3D Model Conversion
Recent versions of Blender don't export `.3ds` format. But old versions
of Blender, such as 2.79b do work. Get an old version here:
* https://download.blender.org/release/Blender2.79/
Launch `blender`, import, export.
```
# Go to https://gssc.esa.int/education/galileo3d/
# and download the Galileo_3D.zip file.
# It generates a unique URL, afaict.
unzip Galileo_3D.zip
# Get old Blender
wget https://download.blender.org/release/Blender2.79/blender-2.79b-linux-glibc219-x86_64.tar.bz2
tar xf blender-2.79b-linux-glibc219-x86_64.tar.bz2
cd blender-2.79b-linux-glibc219-x86_64
./blender
```
Blender creates a new file on launch.
Go to `File --> Import --> Wavefront (.obj)`.
Import the file, such as `galileo.obj`.
Go to `File --> Export --> 3D Studio (.3ds)`.
Save the file, such as `galileo-gnss.3ds`.
The `galileo-gnss.3ds` file created this way didn't render in Celestia. `:(`
# Status
Alpha, under development.
# License / Copyright
Upstream sources under their respective copyrights.