Expand description
SPP-seeded auto-initialization driver for static multi-epoch PPP arcs.
This leaf owns the high-level “raw epochs in, solved arc out” orchestration
that previously lived only in the Elixir binding. It seeds the static PPP
float state from the existing single-point-positioning solver and the raw
observations, then runs the existing static float solve (solve_float_epochs)
and, for the fixed driver, the existing integer-fixed re-solve
(solve_fixed_from_float). It re-implements no solve numerics; only the
seeding policy moves here so every binding can delegate to one driver.
The seeding policy reproduces the Elixir reference
(Sidereon.GNSS.PrecisePositioning.solve_float_epochs/3) exactly so a later
binding delegation is bit-for-bit:
- SPP seed - per epoch, a code-only single-point solve with the ionosphere correction off (the troposphere optional), each epoch using the caller’s cold-start guess. The first SPP failure aborts the whole driver.
- Mean-position seed - the static position seed is the unweighted arithmetic mean of every epoch’s SPP position, summed in reverse-epoch order to match the reference’s floating-point reduction.
- Per-epoch clock seed - each epoch keeps its own SPP receiver clock (seconds times the speed of light), in arc order.
- Phase-minus-code ambiguity seed - each ambiguity id is seeded with
phase_m - code_m(metres) from the first epoch, in sorted-observation order, where that id is seen. - ZTD seed - the zenith-total-delay residual seeds to zero.
When the caller supplies an explicit initial guess, the SPP/mean stages are skipped and that position with its clock (duplicated across epochs) is the seed, again matching the reference.
Structs§
- PppAuto
Init Options - Auto-initialization policy for the raw-epochs PPP driver.
- PppInitial
Guess - Explicit static-position/clock seed that bypasses the SPP auto-init stages.
Enums§
- PppAuto
Init Error - Why the raw-epochs PPP driver could not complete.
- PppAuto
Init Strategy - Runtime strategy selector for the PPP auto-init drivers.
Functions§
- solve_
ppp_ auto_ init_ fixed - Solve a static integer-fixed PPP arc from raw epochs: auto-init seed, the float solve, then the LAMBDA integer fix and ambiguity-conditioned re-solve.
- solve_
ppp_ auto_ init_ fixed_ with_ strategy - Solve a static integer-fixed PPP arc from raw epochs, selecting the PPP strategy for both the float seed solve and the fixed re-solve.
- solve_
ppp_ auto_ init_ float - Solve a static multi-epoch float PPP arc from raw epochs, auto-initializing the float state from the SPP seed described on the module.
- solve_
ppp_ auto_ init_ float_ with_ strategy - Solve a static multi-epoch float PPP arc from raw epochs, selecting the PPP strategy after the auto-init seed is built.