Galmon observers convert to Celestia SSC working

main
root 2022-05-23 16:35:59 -06:00
parent 2ec5c5c97b
commit 7ddf62a655
5 changed files with 684 additions and 49 deletions

View File

@ -1,6 +1,4 @@
# Spacecruft Celestia Galmon # Spacecruft Celestia Galmon
***WORK IN PROGRESS***
`celestia-galmon` is a set of scripts to retrieve Galmon GNSS `celestia-galmon` is a set of scripts to retrieve Galmon GNSS
data and feed it to Celestia for visualization. data and feed it to Celestia for visualization.
@ -14,11 +12,6 @@ running more than 50 receivers."*
Celestia is a *"real-time space simulation that lets you experience our Celestia is a *"real-time space simulation that lets you experience our
universe in three dimensions".* universe in three dimensions".*
* https://galmon.eu
* https://celestia.space
# Screenshots # Screenshots
Screenshots of running Celestia with GNSS satellites, from Screenshots of running Celestia with GNSS satellites, from
`celestia-gnss`. `celestia-gnss`.
@ -37,18 +30,38 @@ including Galmon data.
# Install # Install
Install thusly. Install thusly.
Quick & dirty if you want to use pre-generated file:
``` ```
apt update sudo mkdir -p /usr/share/celestia/extras-standard/galmon
apt install python3-pip # Use your username for debian
pip install --user -r requirements.txt sudo chown debian:debian /usr/share/celestia/extras-standard/galmon
wget \
-O /usr/share/celestia/extras-standard/galmon/galmon-observers.ssc \
https://spacecruft.org/spacecruft/celestia-galmon/raw/branch/main/extras/galmon/galmon-observers.ssc
# Then (re)start Celestia.
``` ```
If you want to generate your own files:
```
# Quick & dirty Python setup
sudo apt update
sudo apt install python3-pip
pip install --user --upgrade pip
pip install --user -r requirements.txt
```
# Run # Run
Run thusly. Run thusly.
Retrieve Galmon observers, output SSC format for Celestia:
``` ```
./celestia-galmon ./celestia-galmon-observers
# Save file for Celestia:
./celestia-galmon-observers > \
/usr/share/celestia/extras-standard/galmon/galmon-observers.ssc
``` ```
# Galmon Data # Galmon Data
@ -109,16 +122,9 @@ Observers:
* https://berthub.eu/articles/posts/galmon-project/ * https://berthub.eu/articles/posts/galmon-project/
# TODO
Do.
* All the things.
# Status # Status
Alpha, under development. Alpha, under development.
# License / Copyright # License / Copyright
Unofficial project, not part of Celestia or Galmon. Unofficial project, not part of Celestia or Galmon.
Upstream sources under their respective copyrights. Upstream sources under their respective copyrights.

View File

@ -1,31 +0,0 @@
#!/usr/bin/python3
"""
celestia-galmon
Retrieve Galmon GNSS data and feed it to Celestia for visualization.
Copyright (C) 2022, Jeff Moe, jebba.
Authors: Jeff Moe
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
"""
# Usage:
# celestia-galmon
# Example:
# ./celestia-galmon > /usr/share/celestia/extras-standard/galmon/galmon.foo
import os
import json
import simplejson as json

View File

@ -0,0 +1,50 @@
#!/usr/bin/python3
"""
celestia-galmon-observers
Retrieve Galmon observers, output SSC format for Celestia.
Copyright (C) 2022, Jeff Moe, jebba.
Author: Jeff Moe
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
"""
# Usage:
# celestia-galmon-observers
# Example:
# ./celestia-galmon-observers > \
# /usr/share/celestia/extras-standard/galmon/galmon-observers.ssc
import os
import json
import pandas as pd
#observers_url='https://galmon.eu/observers.json'
observers_url='data/observers.json'
observers = pd.read_json(observers_url, orient='records')
for x in range(len(observers.id)):
print('Location "Observer ', observers["id"][x],
', ', observers["owner"][x], '" ',
'"Sol/Earth"', sep="")
print('{')
print(' LongLat [', observers["longitude"][x],
observers["latitude"][x], "%.3f" %(observers["h"][x] / 1000),
']')
print(' Importance 1000.00')
print(' Type "Observatory"')
print(' }')
print()

View File

@ -0,0 +1,609 @@
Location "Observer 3, PA3FYM" "Sol/Earth"
{
LongLat [ 5.1 52.2 0.063 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 5, W6LHI (Martin)" "Sol/Earth"
{
LongLat [ -122.0 36.9 -0.019 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 14, " "Sol/Earth"
{
LongLat [ 4.3 51.9 0.076 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 15, @0xC5E3" "Sol/Earth"
{
LongLat [ 16.3 48.2 0.305 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 16, KB6GE" "Sol/Earth"
{
LongLat [ -118.4 33.9 -0.025 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 17, " "Sol/Earth"
{
LongLat [ 18.4 -33.9 0.053 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 19, PA3FYM" "Sol/Earth"
{
LongLat [ 5.1 52.2 0.068 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 20, KB6GE pt/mh" "Sol/Earth"
{
LongLat [ -170.7 -14.3 0.064 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 22, thebaldgeek" "Sol/Earth"
{
LongLat [ -117.0 33.4 0.344 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 23, CTF" "Sol/Earth"
{
LongLat [ -46.5 -23.5 0.773 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 25, CTF" "Sol/Earth"
{
LongLat [ -46.5 -23.5 0.762 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 26, ssb" "Sol/Earth"
{
LongLat [ 37.8 55.6 0.203 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 27, Phil (craag)" "Sol/Earth"
{
LongLat [ -0.5 51.2 0.106 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 28, gizmoguy" "Sol/Earth"
{
LongLat [ 175.3 -37.7 0.060 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 29, Phil (craag)" "Sol/Earth"
{
LongLat [ -5.1 50.0 0.168 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 31, jeffpc" "Sol/Earth"
{
LongLat [ -71.1 42.4 0.017 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 32, jeffpc" "Sol/Earth"
{
LongLat [ -71.1 42.4 0.033 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 34, sarnold" "Sol/Earth"
{
LongLat [ -122.7 45.4 0.108 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 35, " "Sol/Earth"
{
LongLat [ 17.0 -22.5 1.703 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 36, " "Sol/Earth"
{
LongLat [ 4.6 52.3 0.058 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 38, ak_hepcat (KL5BN)" "Sol/Earth"
{
LongLat [ -149.7 61.1 0.220 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 40, ISHCHATUL" "Sol/Earth"
{
LongLat [ 35.1 31.7 0.726 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 44, sarnold" "Sol/Earth"
{
LongLat [ -122.7 45.4 0.101 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 45, sarnold" "Sol/Earth"
{
LongLat [ -122.7 45.4 0.106 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 46, sarnold" "Sol/Earth"
{
LongLat [ -122.7 45.4 0.104 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 48, " "Sol/Earth"
{
LongLat [ -105.2 39.8 1.829 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 49, " "Sol/Earth"
{
LongLat [ 32.5 0.2 -6.112 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 50, darkk.net.ru" "Sol/Earth"
{
LongLat [ 30.2 59.9 0.016 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 52, darkk.net.ru" "Sol/Earth"
{
LongLat [ 73.3 54.9 0.129 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 53, mmc" "Sol/Earth"
{
LongLat [ 138.6 -34.9 0.072 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 54, PA3FYM" "Sol/Earth"
{
LongLat [ 5.1 52.2 0.057 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 55, ssb" "Sol/Earth"
{
LongLat [ 37.2 55.6 0.277 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 56, ssb" "Sol/Earth"
{
LongLat [ 37.2 55.6 0.250 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 59, jared" "Sol/Earth"
{
LongLat [ -83.8 42.2 0.249 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 60, jared" "Sol/Earth"
{
LongLat [ -83.8 42.2 0.247 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 64, " "Sol/Earth"
{
LongLat [ -78.9 39.6 0.548 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 69, czane" "Sol/Earth"
{
LongLat [ -157.8 21.3 0.067 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 71, edmonds" "Sol/Earth"
{
LongLat [ -84.3 33.7 0.297 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 74, edmonds" "Sol/Earth"
{
LongLat [ -84.3 33.7 0.291 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 75, chtitux" "Sol/Earth"
{
LongLat [ 55.3 -20.9 0.120 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 77, KB6GE" "Sol/Earth"
{
LongLat [ -118.4 33.9 -0.033 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 80, reddfoxx" "Sol/Earth"
{
LongLat [ -85.7 38.2 0.111 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 81, " "Sol/Earth"
{
LongLat [ -150.0 61.1 0.056 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 83, " "Sol/Earth"
{
LongLat [ 115.9 -32.0 -0.018 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 86, ak_hepcat (KL5BN)" "Sol/Earth"
{
LongLat [ -149.7 61.1 0.218 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 87, " "Sol/Earth"
{
LongLat [ -78.9 39.6 0.538 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 88, " "Sol/Earth"
{
LongLat [ 26.4 -30.8 1.373 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 89, SJC" "Sol/Earth"
{
LongLat [ 4.6 52.2 0.053 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 90, " "Sol/Earth"
{
LongLat [ 170.3 -45.8 0.057 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 91, M0EYT" "Sol/Earth"
{
LongLat [ -2.0 50.7 0.100 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 92, ekaftan" "Sol/Earth"
{
LongLat [ -70.6 -33.2 0.727 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 94, ekaftan" "Sol/Earth"
{
LongLat [ -70.6 -33.2 0.723 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 97, " "Sol/Earth"
{
LongLat [ 152.9 -27.4 0.099 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 98, " "Sol/Earth"
{
LongLat [ 145.1 -37.9 0.084 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 101, ssb" "Sol/Earth"
{
LongLat [ 37.2 55.6 0.255 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 103, PA3FYM" "Sol/Earth"
{
LongLat [ 5.1 52.2 0.059 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 104, PA3FYM" "Sol/Earth"
{
LongLat [ 5.1 52.2 -0.010 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 113, " "Sol/Earth"
{
LongLat [ 13.4 42.0 0.743 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 114, i$" "Sol/Earth"
{
LongLat [ 8.6 49.7 0.205 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 115, " "Sol/Earth"
{
LongLat [ -71.1 42.2 0.013 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 117, Zathras" "Sol/Earth"
{
LongLat [ 115.9 -32.0 -0.009 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 118, Criggie_Pi4_in_Woodshed" "Sol/Earth"
{
LongLat [ 172.3 -43.6 0.066 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 120, Neil" "Sol/Earth"
{
LongLat [ 105.8 21.0 0.033 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 121, EI6IZ (Brendan)" "Sol/Earth"
{
LongLat [ -9.3 53.8 0.099 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 128, Jonathan Brewer" "Sol/Earth"
{
LongLat [ 103.8 1.3 0.013 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 130, Matt" "Sol/Earth"
{
LongLat [ 175.4 -37.8 0.197 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 131, Steve Meuse, N1JFU" "Sol/Earth"
{
LongLat [ -71.0 42.0 0.002 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 135, Matt" "Sol/Earth"
{
LongLat [ 175.4 -37.8 0.192 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 165, Upu" "Sol/Earth"
{
LongLat [ -1.8 53.8 0.157 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 166, DH2VA" "Sol/Earth"
{
LongLat [ 8.5 47.3 0.576 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 167, EI6IZ (Brendan)" "Sol/Earth"
{
LongLat [ -9.3 53.8 0.100 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 169, BramJ" "Sol/Earth"
{
LongLat [ 5.2 52.3 0.051 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 171, Leon" "Sol/Earth"
{
LongLat [ 18.6 -33.9 0.098 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 175, " "Sol/Earth"
{
LongLat [ 2.3 48.8 0.116 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 176, WA7JAY (Ron)" "Sol/Earth"
{
LongLat [ -120.9 39.2 0.920 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 177, " "Sol/Earth"
{
LongLat [ 6.8 50.7 0.167 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 178, TDV_Alinsa" "Sol/Earth"
{
LongLat [ -121.7 37.2 0.153 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 179, TDV_Alinsa" "Sol/Earth"
{
LongLat [ -121.7 37.2 0.153 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 183, PJ2BG" "Sol/Earth"
{
LongLat [ -68.8 12.1 0.003 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 184, " "Sol/Earth"
{
LongLat [ 103.8 1.3 0.042 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 187, " "Sol/Earth"
{
LongLat [ 168.3 -46.4 0.015 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 188, oh2ewl" "Sol/Earth"
{
LongLat [ 24.9 60.2 0.091 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 189, Jeff Moe SpaceCruft" "Sol/Earth"
{
LongLat [ -105.2 40.5 1.853 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 190, rowan at impermanent.io" "Sol/Earth"
{
LongLat [ 145.3 -37.8 0.452 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 191, m4tk" "Sol/Earth"
{
LongLat [ 12.0 49.0 0.410 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 192, Jeff Moe SpaceCruft" "Sol/Earth"
{
LongLat [ -105.2 40.5 2.048 ]
Importance 1000.00
Type "Observatory"
}
Location "Observer 200, Septentrio" "Sol/Earth"
{
LongLat [ 4.3 52.0 0.054 ]
Importance 1000.00
Type "Observatory"
}

View File

@ -0,0 +1 @@
pandas