Skip to main content

sample

Function sample 

Source
pub fn sample(
    source: &dyn ObservableEphemerisSource,
    satellites: &[GnssSatelliteId],
    start_j2000_s: f64,
    stop_j2000_s: f64,
    step_s: f64,
) -> Result<Vec<EphemerisSampleRow>, ObservablesError>
Expand description

Sample an ephemeris source on a regular inclusive time grid.

Rows are returned in satellite-major order: for each satellite in satellites, the function emits start_j2000_s, start_j2000_s + step_s, and so on up to stop_j2000_s, with a final row snapped to stop_j2000_s when the step does not land exactly on the end. If start_j2000_s > stop_j2000_s, the returned grid is empty.

Missing satellite data and out-of-fit-interval epochs are represented as EphemerisSampleStatus::Gap rows, not as errors. Invalid inputs and invalid source states remain errors.