ITRF (International Terrestrial Reference Frame) Coordinate
- class satkit.itrfcoord(*args, **kwargs)
Representation of a coordinate in the International Terrestrial Reference Frame (ITRF)
Notes
This coordinate object can be created from and also output to Geodetic coordinates (latitude, longitude, height above ellipsoid).
Functions are also available to provide rotation quaternions to the East-North-Up frame and North-East-Down frame at this coordinate
- Parameters:
vec (numpy.ndarray, list, or 3-element tuple of floats, optional) – ITRF Cartesian location in meters
- Keyword Arguments:
latitude_deg (float, optional) – Latitude in degrees
longitude_deg (float, optional) – Longitude in degrees
latitude_rad (float, optional) – Latitude in radians
longitude_rad (float, optional) – Longitude in radians
altitude (float, optional) – Height above ellipsoid, meters
height (float, optional) – Height above ellipsoid, meters
- Returns:
New ITRF coordinate
- Return type:
Example
Create ITRF coord from Cartesian
>>> coord = itrfcoord([ 1523128.63570828 -4461395.28873207 4281865.94218203 ]) >>> print(coord) ITRFCoord(lat: 42.4400 deg, lon: -71.1500 deg, hae: 0.10 km)
Create ITRF coord from Geodetic
>>> coord = itrfcoord(latitude_deg=42.44, longitude_deg=-71.15, altitude=100) >>> print(coord) ITRFCoord(lat: 42.4400 deg, lon: -71.1500 deg, hae: 0.10 km)
- property altitude
Altitude above ellipsoid, in meters
- geodesic_distance(other: itrfcoord)
Use Vincenty formula to compute geodesic distance: https://en.wikipedia.org/wiki/Vincenty%27s_formulae
Return a tuple with:
1: geodesic distance (shortest distance between two points) between this coordinate and given coordinate, in meters
2: initial heading, in radians
heading at destination, in radians
- property geodetic_deg
Geodetic position in degrees
- Returns:
Tuple with 3 elements representing the geodetic position. First element is latitude in degrees, second is longitude in degrees, and third is altitude in meters
- Return type:
tuple[float, float, float]
- property geodetic_rad
Geodetic position in radians
- Returns:
Tuple with 3 elements representing the geodetic position. First element is latitude in radians, second is longitude in radians, and third is altitude in meters
- Return type:
tuple[float, float, float]
- property latitude_deg
Latitude in degrees
- property latitude_rad
Latitude in radians
- property longitude_deg
Longitude in degrees
- property longitude_rad
Longitude in radians
- move_with_heading(distance: float, heading_rad: float)
Takes two input arguments:
distance (meters)
heading (rad)
Return itrfcoord representing move along Earth surface by given distance in direction given by heading
Altitude is assumed to be zero
Use Vincenty formula to compute position: https://en.wikipedia.org/wiki/Vincenty%27s_formulae
- property qenu2itrf
Quaternion representiong rotation from East-North-Up (ENU) to ITRF at this location
- Returns:
Quaternion representiong rotation from East-North-Up (ENU) to ITRF at this location
- Return type:
- property qned2itrf
Quaternion representing rotation from North-East-Down (NED) to ITRF at this location
- Returns:
Quaternion representiong rotation from North-East-Down (NED) to ITRF at this location
- Return type:
- property vector
Cartesian ITRF coord as numpy array
- Returns:
3-element numpy array representing the ITRF Cartesian coordinate in meters
- Return type:
npt.NDArray[np.float64]