Dependencies
library(tidyverse)
library(lubridate)
library(sphereplot)
library(plotly)
Read Data
rsotraj <- read.csv('../../../tmp/nasa/spdf/solar-orbiter/helio1day/solo_helio1day_position_20200211_v01.csv')
Convert date time
sotraj <- rsotraj %>% mutate(
ts = as_datetime(time / 1000),
elapsed = (time - rsotraj$time[1]) / 86400000)
Range
Time range
summary(sotraj$ts)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## "2020-02-11" "2022-10-21" "2025-06-30" "2025-06-30" "2028-03-09" "2030-11-17"
Distance range
summary(sotraj$rad)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.2900 0.5300 0.7100 0.6818 0.8400 1.0100
Plots
current <- now()
Distance from sun
ggplot(data = sotraj, mapping = aes(x = ts, y = rad)) + geom_point(color = 'blue') +
labs(title = "Solar Orbiter Trajectory data", x = "Time", y = "Distance from Sun (AU)") +
geom_vline(xintercept = as.numeric(current), linetype = 'dashed', color = 'blue') +
theme_light()

3D Scatter
Time in Trajectory
sotraj %>% select(x, y, z, Time = elapsed) %>%
plot_ly(x = ~x, y = ~y, z = ~z, color = ~Time) %>%
add_markers() %>%
layout(scene = list(
xaxis = list(title = 'AU'),
yaxis = list(title = 'AU'),
zaxis = list(title = 'AU')))
Distance in Trajectory
sotraj %>% select(x, y, z, Distance = rad) %>%
plot_ly(x = ~x, y = ~y, z = ~z, color = ~Distance) %>%
add_markers() %>%
layout(scene = list(
xaxis = list(title = 'AU'),
yaxis = list(title = 'AU'),
zaxis = list(title = 'AU')))
One over Distance in Trajectory
sotraj %>% mutate(oneover = 1/rad) %>% select(x, y, z, Distance = oneover) %>%
plot_ly(x = ~x, y = ~y, z = ~z, color = ~Distance) %>%
add_markers() %>%
layout(scene = list(
xaxis = list(title = 'AU'),
yaxis = list(title = 'AU'),
zaxis = list(title = 'AU')))