Multi-epoch static GNSS single-point positioning.
A static solve estimates one shared receiver ECEF position from several pseudorange epochs while fitting epoch-local receiver clocks. It is useful when a receiver is known to be stationary and the caller wants the stacked solution covariance, residuals, and leave-one-out influence diagnostics from the core solver.
Summary
Types
One static epoch request.
Functions
Solve one static receiver position from multiple pseudorange epochs.
Types
@type epoch_request() :: %{ :observations => [Sidereon.GNSS.Positioning.observation()], :epoch => Sidereon.GNSS.Positioning.epoch(), optional(:weights) => [number()], optional(:clock_initial_m) => number() } | {[Sidereon.GNSS.Positioning.observation()], Sidereon.GNSS.Positioning.epoch()} | {[Sidereon.GNSS.Positioning.observation()], Sidereon.GNSS.Positioning.epoch(), keyword()}
One static epoch request.
Functions
@spec solve( Sidereon.GNSS.SP3.t() | Sidereon.GNSS.Broadcast.t(), [epoch_request()], keyword() ) :: {:ok, Sidereon.GNSS.StaticPositioning.Solution.t()} | {:error, term()}
Solve one static receiver position from multiple pseudorange epochs.
source is a parsed SP3 precise product or broadcast navigation product.
Each epoch supplies pseudorange observations and a receive epoch. Epoch options
may override the solve-wide atmosphere, weights, clock seed, and GLONASS
channel options for that epoch.
Options:
:initial_position- shared{x_m, y_m, z_m}position seed, default{0.0, 0.0, 0.0}.:with_geodetic- include geodetic output, defaulttrue.:ionosphere,:troposphere,:klobuchar_alpha,:klobuchar_beta,:pressure_hpa,:temperature_k,:relative_humidity, and:glonass_channelsmatchSidereon.GNSS.Positioning.solve/4.:huberplus:huber_k,:huber_sigma, and:huber_max_iterenables the core static Huber reweighting.
Returns {:ok, %Solution{}} or {:error, reason} with typed static solve
errors from the core.