pylupnt.AntexLoader

class pylupnt.AntexLoader
static apply_pco_correction_ecef(t_tai: Real, pos_sp3_ecef: Annotated[numpy.typing.ArrayLike, numpy.float64, '[3, 1]'], pco_neu_m: Annotated[numpy.typing.ArrayLike, numpy.float64, '[3, 1]']) Annotated[numpy.typing.NDArray[numpy.float64], '[3, 1]']

pos_corrected = pos_sp3_ecef + Cijk(t_tai, pos_sp3_ecef) @ pco_neu (mirrors the workflow in generate_antenna_pco.ipynb)

static compute_ijk_to_ecef_rotation(t_tai: Real, r_sat_ecef: Annotated[numpy.typing.ArrayLike, numpy.float64, '[3, 1]']) Annotated[numpy.typing.NDArray[numpy.float64], '[3, 3]']

‘IJK’ rotation matrix Cijk s.t. pco_ecef = Cijk @ pco_neu (ivec = jvec x kvec, jvec = normalize(r_sun_ecef - r_sat_ecef), kvec = -normalize(r_sat_ecef); intentionally distinct from GnssAttitude’s orthonormal body frame, see phase_center_offset.py::ijk_to_ecef_rot)

get_available_freq_codes(self: pylupnt._pylupnt.AntexLoader, gnss_const: pylupnt._pylupnt.GnssConst, prn: SupportsInt | SupportsIndex, t_tai: Real) list[str]

ANTEX frequency codes available for satellite prn at epoch t_tai

get_pco(*args, **kwargs)

Overloaded function.

  1. get_pco(self: pylupnt._pylupnt.AntexLoader, gnss_const: pylupnt._pylupnt.GnssConst, prn: typing.SupportsInt | typing.SupportsIndex, freq: pylupnt._pylupnt.GnssFreq, t_tai: Real) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], “[3, 1]”]

Satellite antenna phase-center offset (PCO), in the satellite North/East/Up (NEU) antenna frame [m]

  1. get_pco(self: pylupnt._pylupnt.AntexLoader, gnss_letter: str, prn: typing.SupportsInt | typing.SupportsIndex, antex_freq_code: str, t_tai: Real) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], “[3, 1]”]

Same as get_pco, but specifying the raw ANTEX frequency code directly (e.g. ‘G01’, ‘E05’)

static gnss_letter(gnss_const: pylupnt._pylupnt.GnssConst) str

Single-letter GNSS system identifier, e.g. GnssConst.GPS -> ‘G’

has_satellite(self: pylupnt._pylupnt.AntexLoader, gnss_const: pylupnt._pylupnt.GnssConst, prn: SupportsInt | SupportsIndex) bool
load_file(self: pylupnt._pylupnt.AntexLoader, filepath: str) None

Parse an additional ANTEX file and merge its satellite entries in

static sat_id(gnss_const: pylupnt._pylupnt.GnssConst, prn: SupportsInt | SupportsIndex) str

SP3/ANTEX/RINEX satellite identifier, e.g. (GnssConst.GPS, 5) -> ‘G05’