nyx_space/od/ground_station/
builtin.rsuse super::*;
impl GroundStation {
pub fn dss65_madrid(
elevation_mask: f64,
range_noise_km: StochasticNoise,
doppler_noise_km_s: StochasticNoise,
iau_earth: Frame,
) -> Self {
let mut measurement_types = IndexSet::new();
measurement_types.insert(MeasurementType::Range);
measurement_types.insert(MeasurementType::Doppler);
let mut stochastics = IndexMap::new();
stochastics.insert(MeasurementType::Range, range_noise_km);
stochastics.insert(MeasurementType::Doppler, doppler_noise_km_s);
Self {
name: "Madrid".to_string(),
elevation_mask_deg: elevation_mask,
latitude_deg: 40.427_222,
longitude_deg: 4.250_556,
height_km: 0.834_939,
frame: iau_earth,
measurement_types,
integration_time: None,
light_time_correction: false,
timestamp_noise_s: None,
stochastic_noises: Some(stochastics),
}
}
pub fn dss34_canberra(
elevation_mask: f64,
range_noise_km: StochasticNoise,
doppler_noise_km_s: StochasticNoise,
iau_earth: Frame,
) -> Self {
let mut measurement_types = IndexSet::new();
measurement_types.insert(MeasurementType::Range);
measurement_types.insert(MeasurementType::Doppler);
let mut stochastics = IndexMap::new();
stochastics.insert(MeasurementType::Range, range_noise_km);
stochastics.insert(MeasurementType::Doppler, doppler_noise_km_s);
Self {
name: "Canberra".to_string(),
elevation_mask_deg: elevation_mask,
latitude_deg: -35.398_333,
longitude_deg: 148.981_944,
height_km: 0.691_750,
frame: iau_earth,
measurement_types,
integration_time: None,
light_time_correction: false,
timestamp_noise_s: None,
stochastic_noises: Some(stochastics),
}
}
pub fn dss13_goldstone(
elevation_mask: f64,
range_noise_km: StochasticNoise,
doppler_noise_km_s: StochasticNoise,
iau_earth: Frame,
) -> Self {
let mut measurement_types = IndexSet::new();
measurement_types.insert(MeasurementType::Range);
measurement_types.insert(MeasurementType::Doppler);
let mut stochastics = IndexMap::new();
stochastics.insert(MeasurementType::Range, range_noise_km);
stochastics.insert(MeasurementType::Doppler, doppler_noise_km_s);
Self {
name: "Goldstone".to_string(),
elevation_mask_deg: elevation_mask,
latitude_deg: 35.247_164,
longitude_deg: 243.205,
height_km: 1.071_149_04,
frame: iau_earth,
measurement_types,
integration_time: None,
light_time_correction: false,
timestamp_noise_s: None,
stochastic_noises: Some(stochastics),
}
}
}