parent
b64d9e31a9
commit
32c2d27991
298
README.md
298
README.md
|
@ -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.
|
||||
|
||||
|
|
Loading…
Reference in New Issue