Source code for satkit.utils.quantity_init

# satkit: Satellite Mission Analysis and Design for Python
#
# Copyright (C) 2023 Egemen Imre
#
# Licensed under GNU GPL v3.0. See LICENSE.rst for more info.
"""
Package for `pint` Quantity object initialisers.

"""
from org.orekit.bodies import GeodeticPoint
from pint import Quantity

from satkit import u


[docs]class QuantityInit: """ Helper class to initialise Orekit objects with `pint` Quantity support. """
[docs] @staticmethod @u.wraps(None, ("rad", "rad", "m"), False) def geodetic_point( latitude: float | Quantity, longitude: float | Quantity, altitude: float | Quantity, ) -> GeodeticPoint: """ Initialises an Orekit `GeodeticPoint` object with units support. Parameters ---------- latitude Geodetic latitude [rad] longitude Geodetic longitude [rad] altitude Altitude over the ellipsoid [m] Returns ------- geodetic_point Geodetic point on the ellipsoid """ return GeodeticPoint(float(latitude), float(longitude), float(altitude))