From 2dd68eae6d51b631edd9ad6119b4339f8633f196 Mon Sep 17 00:00:00 2001 From: Jeff Moe Date: Wed, 11 May 2022 17:04:54 -0600 Subject: [PATCH] rm unused, show all GNSS --- README.md | 2 ++ gnss-earth.py | 46 +++++++++++++++------------------------------- 2 files changed, 17 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 78060cc..41b5175 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,8 @@ pip3 install --user --upgrade pip pip3 install --user --upgrade -r requirements.txt ``` +Need to get `cesium.key` from Cesium ION. + # Upstream Dependencies Uses: diff --git a/gnss-earth.py b/gnss-earth.py index 33fc119..90dda8e 100755 --- a/gnss-earth.py +++ b/gnss-earth.py @@ -3,39 +3,33 @@ import random import urllib.request import dash -import dash_html_components as html -import dash_core_components as dcc +from dash import html +from dash import dcc from dash.dependencies import Input, Output from datetime import datetime, timedelta from satellite_czml import satellite_czml from satellite_czml import satellite -url = 'https://celestrak.com/NORAD/elements/galileo.txt' +url = 'https://celestrak.com/NORAD/elements/gnss.txt' apikey = open('cesium.key').read().strip() tles = [l.decode("utf-8").strip() for l in urllib.request.urlopen(url).readlines()] tle_list = [[tles[i],tles[i+1],tles[i+2]] for i,_ in enumerate(tles) if i%3==0] -small_tle_list = tle_list -single_tle = [tle_list[0]] -single_tle +multiple_czml = satellite_czml(tle_list=tle_list).get_czml() -single_czml = satellite_czml(tle_list=single_tle).get_czml() +name_list = [t[0] for t in tle_list] +description_list = ['Station: ' + t[0] for t in tle_list] +color_list = [[random.randrange(256) for x in range(3)] for x in range(len(tle_list))] +size_list = [7] * len(tle_list) -multiple_czml = satellite_czml(tle_list=small_tle_list).get_czml() - -name_list = [t[0] for t in small_tle_list] -description_list = ['Station: ' + t[0] for t in small_tle_list] -color_list = [[random.randrange(256) for x in range(3)] for x in range(len(small_tle_list))] -size_list = [7] * len(small_tle_list) - -czml_obj = satellite_czml(tle_list=small_tle_list, name_list=name_list, description_list=description_list, +czml_obj = satellite_czml(tle_list=tle_list, name_list=name_list, description_list=description_list, color_list=color_list, speed_multiplier=1, use_default_image=False, marker_scale_list=size_list, show_label=False, show_path=False, ignore_bad_tles=True) multiple_czml_p = czml_obj.get_czml() multiple_sats=[] -for tle in small_tle_list: +for tle in tle_list: sat = satellite(tle, description='Station: ' + tle[0], color = [random.randrange(256) for x in range(3)], @@ -78,26 +72,20 @@ last_sat.build_marker(rebuild=True, modified_czml = czml_obj.get_czml() - external_css = ['https://cesium.com/downloads/cesiumjs/releases/1.76/Build/Cesium/Widgets/widgets.css'] - external_scripts = [{'src':'https://cesium.com/downloads/cesiumjs/releases/1.76/Build/Cesium/Cesium.js'}] app = dash.Dash(__name__, - title='satellite_czml', + title='Spacecruft GNSS Earth', external_scripts=external_scripts, external_stylesheets=external_css) app.layout = html.Div(children=[ dcc.Dropdown(id='choose_czml_dd', options=[ - {'label': 'Single CZML', 'value': 'single_czml'}, - {'label': 'Multiple CZML', 'value': 'multiple_czml'}, - {'label': 'Specified Arguments CZML', 'value': 'multiple_czml_p'}, - {'label': 'Create One-by-One CZML', 'value': 'multiple_czml_c'}, - {'label': 'Modified CZML', 'value': 'modified_czml'} + {'label': 'Multiple CZML', 'value': 'multiple_czml'} ], - value='single_czml' + value='multiple_czml' ), html.Div(id='cesiumContainer'), html.Div(id='czml', style={'display': 'none'}), @@ -108,11 +96,7 @@ app.layout = html.Div(children=[ Output('czml', 'children'), Input('choose_czml_dd', 'value')) def update_satellite_filter(v): - d = {'single_czml':single_czml, - 'multiple_czml':multiple_czml, - 'multiple_czml_p':multiple_czml_p, - 'multiple_czml_c':multiple_czml_c, - 'modified_czml':modified_czml + d = {'multiple_czml':multiple_czml } return d[v] @@ -122,7 +106,7 @@ function(id, czml, apikey) { if (!window.viewer) { Cesium.Ion.defaultAccessToken = apikey; window.viewer = new Cesium.Viewer(id,{ - shouldAnimate: true, + shouldAnimate: false, }); window.viewer.scene.globe.enableLighting = true; }