rm unused, show all GNSS
parent
d814e19507
commit
2dd68eae6d
|
@ -17,6 +17,8 @@ pip3 install --user --upgrade pip
|
||||||
pip3 install --user --upgrade -r requirements.txt
|
pip3 install --user --upgrade -r requirements.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Need to get `cesium.key` from Cesium ION.
|
||||||
|
|
||||||
|
|
||||||
# Upstream Dependencies
|
# Upstream Dependencies
|
||||||
Uses:
|
Uses:
|
||||||
|
|
|
@ -3,39 +3,33 @@
|
||||||
import random
|
import random
|
||||||
import urllib.request
|
import urllib.request
|
||||||
import dash
|
import dash
|
||||||
import dash_html_components as html
|
from dash import html
|
||||||
import dash_core_components as dcc
|
from dash import dcc
|
||||||
from dash.dependencies import Input, Output
|
from dash.dependencies import Input, Output
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
from satellite_czml import satellite_czml
|
from satellite_czml import satellite_czml
|
||||||
from satellite_czml import satellite
|
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()
|
apikey = open('cesium.key').read().strip()
|
||||||
tles = [l.decode("utf-8").strip() for l in urllib.request.urlopen(url).readlines()]
|
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]
|
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]]
|
multiple_czml = satellite_czml(tle_list=tle_list).get_czml()
|
||||||
single_tle
|
|
||||||
|
|
||||||
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()
|
czml_obj = satellite_czml(tle_list=tle_list, name_list=name_list, description_list=description_list,
|
||||||
|
|
||||||
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,
|
|
||||||
color_list=color_list, speed_multiplier=1, use_default_image=False,
|
color_list=color_list, speed_multiplier=1, use_default_image=False,
|
||||||
marker_scale_list=size_list, show_label=False, show_path=False,
|
marker_scale_list=size_list, show_label=False, show_path=False,
|
||||||
ignore_bad_tles=True)
|
ignore_bad_tles=True)
|
||||||
multiple_czml_p = czml_obj.get_czml()
|
multiple_czml_p = czml_obj.get_czml()
|
||||||
|
|
||||||
multiple_sats=[]
|
multiple_sats=[]
|
||||||
for tle in small_tle_list:
|
for tle in tle_list:
|
||||||
sat = satellite(tle,
|
sat = satellite(tle,
|
||||||
description='Station: ' + tle[0],
|
description='Station: ' + tle[0],
|
||||||
color = [random.randrange(256) for x in range(3)],
|
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()
|
modified_czml = czml_obj.get_czml()
|
||||||
|
|
||||||
|
|
||||||
external_css = ['https://cesium.com/downloads/cesiumjs/releases/1.76/Build/Cesium/Widgets/widgets.css']
|
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'}]
|
external_scripts = [{'src':'https://cesium.com/downloads/cesiumjs/releases/1.76/Build/Cesium/Cesium.js'}]
|
||||||
|
|
||||||
app = dash.Dash(__name__,
|
app = dash.Dash(__name__,
|
||||||
title='satellite_czml',
|
title='Spacecruft GNSS Earth',
|
||||||
external_scripts=external_scripts,
|
external_scripts=external_scripts,
|
||||||
external_stylesheets=external_css)
|
external_stylesheets=external_css)
|
||||||
|
|
||||||
app.layout = html.Div(children=[
|
app.layout = html.Div(children=[
|
||||||
dcc.Dropdown(id='choose_czml_dd',
|
dcc.Dropdown(id='choose_czml_dd',
|
||||||
options=[
|
options=[
|
||||||
{'label': 'Single CZML', 'value': 'single_czml'},
|
{'label': 'Multiple CZML', 'value': 'multiple_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'}
|
|
||||||
],
|
],
|
||||||
value='single_czml'
|
value='multiple_czml'
|
||||||
),
|
),
|
||||||
html.Div(id='cesiumContainer'),
|
html.Div(id='cesiumContainer'),
|
||||||
html.Div(id='czml', style={'display': 'none'}),
|
html.Div(id='czml', style={'display': 'none'}),
|
||||||
|
@ -108,11 +96,7 @@ app.layout = html.Div(children=[
|
||||||
Output('czml', 'children'),
|
Output('czml', 'children'),
|
||||||
Input('choose_czml_dd', 'value'))
|
Input('choose_czml_dd', 'value'))
|
||||||
def update_satellite_filter(v):
|
def update_satellite_filter(v):
|
||||||
d = {'single_czml':single_czml,
|
d = {'multiple_czml':multiple_czml
|
||||||
'multiple_czml':multiple_czml,
|
|
||||||
'multiple_czml_p':multiple_czml_p,
|
|
||||||
'multiple_czml_c':multiple_czml_c,
|
|
||||||
'modified_czml':modified_czml
|
|
||||||
}
|
}
|
||||||
return d[v]
|
return d[v]
|
||||||
|
|
||||||
|
@ -122,7 +106,7 @@ function(id, czml, apikey) {
|
||||||
if (!window.viewer) {
|
if (!window.viewer) {
|
||||||
Cesium.Ion.defaultAccessToken = apikey;
|
Cesium.Ion.defaultAccessToken = apikey;
|
||||||
window.viewer = new Cesium.Viewer(id,{
|
window.viewer = new Cesium.Viewer(id,{
|
||||||
shouldAnimate: true,
|
shouldAnimate: false,
|
||||||
});
|
});
|
||||||
window.viewer.scene.globe.enableLighting = true;
|
window.viewer.scene.globe.enableLighting = true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue