ENU#
- class spacekernel.frames.ENU(double lon: float, double lat: float, double alt: float, Ellipsoid ell: Ellipsoid = WGS84)#
Bases:
FrameEast-North-Up (ENU) Local Tangent Reference Frame.
- The ENU frame is a local Cartesian frame centered at a specified ground station, with axes:
X: East
Y: North
Z: Up (normal to the ellipsoid surface)
This class provides high-precision transformations between the ENU frame and the International Terrestrial Reference Frame (ITRF), including position and velocity. The ground station location is specified by geodetic longitude, latitude, and altitude.
- Parameters:
- lonfloat
Geodetic longitude of the ground station [radians].
- latfloat
Geodetic latitude of the ground station [radians].
- altfloat
Altitude above the ellipsoid [meters].
- ellEllipsoid, optional
Reference ellipsoid (default is WGS84).
Notes
All rotations and frame transformations follow standard geodetic conventions.
Axes are oriented: X = East, Y = North, Z = Up.
Used for radar, GNSS, and other local navigation applications.
Summary#
|
Compute the rotation matrix from ENU to ITRF. |
|
Transform position and velocity from ENU to ITRF. |
|
Compute the rotation matrix from ITRF to ENU. |
|
Transform position and velocity from ITRF to ENU. |
|
ENU.r_station_ITRF: ndarray[double] Get the ITRF coordinates of the ground station. |
Methods#
- ENU.rot_to_ITRF(self) ndarray[double]#
Compute the rotation matrix from ENU to ITRF.
- Returns:
- rotndarray of shape (3, 3)
Rotation matrix such that r_ITRF = rot @ r_ENU.
Notes
The rotation is defined at the ground station’s geodetic longitude and latitude.
- ENU.to_ITRF(self, time: DatetimeLike, r_ENU: ndarray[double], v_ENU: ndarray[double]) tuple[ndarray, 2]#
Transform position and velocity from ENU to ITRF.
- Parameters:
- timeDatetimeLike
Time(s) for which the transformation is computed.
- r_ENUndarray of shape (N, 3)
Position vectors in the ENU frame.
- v_ENUndarray of shape (N, 3)
Velocity vectors in the ENU frame.
- Returns:
- r_ITRFndarray of shape (N, 3)
Transformed position vectors in the ITRF frame.
- v_ITRFndarray of shape (N, 3)
Transformed velocity vectors in the ITRF frame.
Notes
This method calls the low-level Cython implementation c_to_ITRF.
- ENU.rot_from_ITRF(self) ndarray[double]#
Compute the rotation matrix from ITRF to ENU.
- Returns:
- rotndarray of shape (3, 3)
Rotation matrix such that r_ENU = rot @ r_ITRF.
Notes
The rotation is defined at the ground station’s geodetic longitude and latitude.
- ENU.from_ITRF(self, time: DatetimeLike, r_ITRF: ndarray[double], v_ITRF: ndarray[double]) tuple[ndarray, 2]#
Transform position and velocity from ITRF to ENU.
- Parameters:
- timeDatetimeLike
Time(s) for which the transformation is computed.
- r_ITRFndarray of shape (N, 3)
Position vectors in the ITRF frame.
- v_ITRFndarray of shape (N, 3)
Velocity vectors in the ITRF frame.
- Returns:
- r_ENUndarray of shape (N, 3)
Transformed position vectors in the ENU frame.
- v_ENUndarray of shape (N, 3)
Transformed velocity vectors in the ENU frame.
Notes
This method calls the low-level Cython implementation c_from_ITRF.