From 7ddf62a65551306c29b07617abe036363de9d441 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 23 May 2022 16:35:59 -0600 Subject: [PATCH] Galmon observers convert to Celestia SSC working --- README.md | 42 +- celestia-galmon | 31 -- celestia-galmon-observers | 50 +++ extras/galmon/galmon-observers.ssc | 609 +++++++++++++++++++++++++++++ requirements.txt | 1 + 5 files changed, 684 insertions(+), 49 deletions(-) delete mode 100755 celestia-galmon create mode 100755 celestia-galmon-observers create mode 100644 extras/galmon/galmon-observers.ssc diff --git a/README.md b/README.md index 5a440b5..3c5ce14 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,4 @@ # Spacecruft Celestia Galmon -***WORK IN PROGRESS*** - `celestia-galmon` is a set of scripts to retrieve Galmon GNSS 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 universe in three dimensions".* -* https://galmon.eu - -* https://celestia.space - - # Screenshots Screenshots of running Celestia with GNSS satellites, from `celestia-gnss`. @@ -37,18 +30,38 @@ including Galmon data. # Install Install thusly. +Quick & dirty if you want to use pre-generated file: ``` -apt update -apt install python3-pip -pip install --user -r requirements.txt +sudo mkdir -p /usr/share/celestia/extras-standard/galmon +# Use your username for debian +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 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 @@ -109,16 +122,9 @@ Observers: * https://berthub.eu/articles/posts/galmon-project/ -# TODO -Do. - -* All the things. - - # Status Alpha, under development. - # License / Copyright Unofficial project, not part of Celestia or Galmon. Upstream sources under their respective copyrights. diff --git a/celestia-galmon b/celestia-galmon deleted file mode 100755 index a29a6f2..0000000 --- a/celestia-galmon +++ /dev/null @@ -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 . -""" - -# Usage: -# celestia-galmon -# Example: -# ./celestia-galmon > /usr/share/celestia/extras-standard/galmon/galmon.foo - -import os -import json -import simplejson as json - diff --git a/celestia-galmon-observers b/celestia-galmon-observers new file mode 100755 index 0000000..c71bfdc --- /dev/null +++ b/celestia-galmon-observers @@ -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 . +""" + +# 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() + diff --git a/extras/galmon/galmon-observers.ssc b/extras/galmon/galmon-observers.ssc new file mode 100644 index 0000000..e10ba7b --- /dev/null +++ b/extras/galmon/galmon-observers.ssc @@ -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" + } + diff --git a/requirements.txt b/requirements.txt index e69de29..fb6c7ed 100644 --- a/requirements.txt +++ b/requirements.txt @@ -0,0 +1 @@ +pandas