# `Sidereon.GNSS.PrecisePositioning.Solution`
[🔗](https://github.com/neilberkman/sidereon-ex/blob/main/lib/sidereon/gnss/precise_positioning.ex#L70)

Float-ambiguity phase positioning solution for one epoch.

# `position`

```elixir
@type position() :: %{x_m: float(), y_m: float(), z_m: float()}
```

# `residual`

```elixir
@type residual() :: %{code_m: float(), phase_m: float()}
```

# `t`

```elixir
@type t() :: %Sidereon.GNSS.PrecisePositioning.Solution{
  ambiguities_m: %{required(String.t()) =&gt; float()},
  formal_position_covariance: term(),
  formal_tropo_gradient_covariance_m2: term(),
  metadata: %{
    iterations: pos_integer(),
    converged: boolean(),
    status: :position_tolerance | :max_iterations,
    code_rms_m: float(),
    phase_rms_m: float(),
    weighted_rms_m: float(),
    troposphere_applied: boolean()
  },
  position: position(),
  position_covariance: term(),
  residual_ionosphere_m: term(),
  residuals_m: %{required(String.t()) =&gt; residual()},
  rx_clock_m: float(),
  rx_clock_s: float(),
  temporal_position_covariance: term(),
  tropo_gradient_covariance_m2: term(),
  tropo_gradient_east_m: term(),
  tropo_gradient_north_m: term(),
  used_sats: [String.t()]
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
