inertialsim.geodesy.datums
¶
Geodetic datums.
Geodetic and local datums that connect coordinate systems and gravity models to the Earth.
Classes:
Name | Description |
---|---|
GeodeticDatum |
Geodetic datum. |
LocalDatum |
Local datum. |
TopocentricDatum |
Topocentric datum class. |
VehicleDatum |
Vehicle datum class. |
Attributes:
Name | Type | Description |
---|---|---|
WGS84 |
World Geodetic System (WGS84) defining parameters and derived constants. |
|
ROTATION_NED_TO_ENU |
Rotation from NED to ENU topocentric coordinates. |
|
TRANSLATION_NED_TO_ENU |
Translation from NED to ENU topocentric coordinates (zero). |
|
TRANSFORM_NED_TO_ENU |
Rigid transform from NED to ENU topocentric coordinates. |
|
ROTATION_ENU_TO_NED |
Rotation from ENU to NED topocentric coordinates. |
|
TRANSLATION_ENU_TO_NED |
Translation from ENU to NED topocentric coordinates (zero). |
|
TRANSFORM_ENU_TO_NED |
Rigid transform from ENU to NED topocentric coordinates. |
|
ROTATION_FRD_TO_FLU |
Rotation from FRD to FLU local coordinates. |
|
TRANSLATION_FRD_TO_FLU |
Translation from FRD to FLU local coordinates (zero). |
|
TRANSFORM_FRD_TO_FLU |
Rigid transform from FRD to FLU local coordinates. |
|
ROTATION_FLU_TO_FRD |
Rotation from FLU to FRD local coordinates. |
|
TRANSLATION_FLU_TO_FRD |
Translation from FLU to FRD local coordinates (zero). |
|
TRANSFORM_FLU_TO_FRD |
Rigid transform from FLU to FRD local coordinates. |
WGS84
module-attribute
¶
WGS84 = GeodeticDatum(
semimajor_axis=6378137.0,
flattening_factor=298.257223563,
angular_velocity=7.292115e-05,
gravitational_constant=398600441800000.0,
semiminor_axis=6356752.3142,
flattening=0.0033528106647475,
first_eccentricity=0.081819190842622,
first_eccentricity_squared=0.006694379990141,
second_eccentricity=0.082094437949696,
second_eccentricity_squared=0.006739496742276,
linear_eccentricity=521854.00842339,
normal_gravity_equator=9.7803253359,
normal_gravity_pole=9.8321849379,
normal_gravity_k=0.001931852652458,
normal_gravity_m=0.003449786506841,
)
World Geodetic System (WGS84) defining parameters and derived constants.
See Standard [07], Tables 3.1 - 3.7. Version: G1762.
ROTATION_NED_TO_ENU
module-attribute
¶
ROTATION_NED_TO_ENU = from_matrix(
[[0, 1, 0], [1, 0, 0], [0, 0, -1]]
)
Rotation from NED to ENU topocentric coordinates.
TRANSLATION_NED_TO_ENU
module-attribute
¶
TRANSLATION_NED_TO_ENU = from_identity()
Translation from NED to ENU topocentric coordinates (zero).
TRANSFORM_NED_TO_ENU
module-attribute
¶
TRANSFORM_NED_TO_ENU = from_rotation_translation(
ROTATION_NED_TO_ENU, TRANSLATION_NED_TO_ENU
)
Rigid transform from NED to ENU topocentric coordinates.
ROTATION_ENU_TO_NED
module-attribute
¶
Rotation from ENU to NED topocentric coordinates.
TRANSLATION_ENU_TO_NED
module-attribute
¶
Translation from ENU to NED topocentric coordinates (zero).
TRANSFORM_ENU_TO_NED
module-attribute
¶
Rigid transform from ENU to NED topocentric coordinates.
ROTATION_FRD_TO_FLU
module-attribute
¶
ROTATION_FRD_TO_FLU = from_matrix(
[[1, 0, 0], [0, -1, 0], [0, 0, -1]]
)
Rotation from FRD to FLU local coordinates.
TRANSLATION_FRD_TO_FLU
module-attribute
¶
TRANSLATION_FRD_TO_FLU = from_identity()
Translation from FRD to FLU local coordinates (zero).
TRANSFORM_FRD_TO_FLU
module-attribute
¶
TRANSFORM_FRD_TO_FLU = from_rotation_translation(
ROTATION_FRD_TO_FLU, TRANSLATION_FRD_TO_FLU
)
Rigid transform from FRD to FLU local coordinates.
ROTATION_FLU_TO_FRD
module-attribute
¶
Rotation from FLU to FRD local coordinates.
TRANSLATION_FLU_TO_FRD
module-attribute
¶
Translation from FLU to FRD local coordinates (zero).
TRANSFORM_FLU_TO_FRD
module-attribute
¶
Rigid transform from FLU to FRD local coordinates.
GeodeticDatum
dataclass
¶
GeodeticDatum(
*,
semimajor_axis: float,
flattening_factor: float,
angular_velocity: float,
gravitational_constant: float,
semiminor_axis: float,
flattening: float,
first_eccentricity: float,
first_eccentricity_squared: float,
second_eccentricity: float,
second_eccentricity_squared: float,
linear_eccentricity: float,
normal_gravity_equator: float,
normal_gravity_pole: float,
normal_gravity_k: float,
normal_gravity_m: float,
origin: ArrayLike = (0.0, 0.0, 0.0),
prime_meridian: float = 0.0,
)
Geodetic datum.
Defines a datum for Earth. Two shape parameters are required for coordinate conversions/transforms and two mass and rotation parameters are required for gravity calculations. See Standard [07] for details.
Derived parameters
Four parameters are the theoretical minimum required to define a geodetic datum, however InertialSim requires additional derived parameters. Theoretically these derived parameters can be calculated from the four fundamental parameters but often they are specified explicitly to avoid losing numeric precision. See WGS84 as an example.
Geodetic origin support
InertialSim does not support geodetic datums with origin other than the center of mass of the Earth (0.0,0.0,0.0).
Prime meridian support
InertialSim does not support geodetic datums with prime meridians other than the IERS reference meridian, also known as the Greenwich meridian at 0.0 degrees longitude.
Attributes:
LocalDatum
dataclass
¶
LocalDatum(*, axis_order: str)
Local datum.
Defines an axis ordering for a local coordinate system. Common examples are sensor and vehicle coordinate systems.
Attributes:
Name | Type | Description |
---|---|---|
axis_order |
str
|
|
TopocentricDatum
dataclass
¶
TopocentricDatum(
*, axis_order: str = "NED", origin: Coordinates
)
Bases: LocalDatum
Topocentric datum class.
Defines a datum for a coordinate system with an origin on or near the surface of the Earth. Valid axis orderings are North (x), East (y), Down (z) (NED) or East (x), North (y), Up (z) (ENU). NED is the default.
Attributes:
Name | Type | Description |
---|---|---|
origin |
Coordinates
|
|
axis_order |
str
|
|
VehicleDatum
dataclass
¶
VehicleDatum(*, axis_order: str = 'FRD')
Bases: LocalDatum
Vehicle datum class.
Defines a datum for a coordinate reference system with an origin on a vehicle. Valid axis orderings are Forward (x), Right (y), Down (z): "FRD" or Forward (x), Left (y), Up (z): "FLU". FRD is the default.
Attributes:
Name | Type | Description |
---|---|---|
axis_order |
str
|
|