Earth Modeling¶
Calculate Latitude, Longitude, Altitude Rate given locally tangent velocity
Parameters: VN : {(N,)} array like earth relative velocity in the North direction, m/s
VE : {(N,)} array like earth relative velocity in the East direction, m/s
VD : {(N,)} array like earth relative velocity in the Down direction, m/s
lat : {(N,)} array like latitudes, unit specified in lat_unit, default deg
alt : {(N,)} array like altitudes, unit specified in alt_unit, default m
Returns: lla_dot : {(N,3)} np.array of latitude rate, longitude rate, altitude rate.
The unit of latitude and longitude rate will be the same as the unit specified by lat_unit and the unit of altitude rate will be the same as alt_unit
See also
earthrad- called by this method
Examples
>>> import numpy as np >>> from navpy import llarate >>> llarate(100,0,0,45.0,0) # Moving North at 100 m/s, location is at N45.0 array([ 0.00089983, 0. , 0. ]) >>> # That output was in deg/sec >>> lat = [np.pi/4, -np.pi/6] >>> alt = [100.0, 50] >>> VN = [100, 0] >>> VE = [0, 100] >>> VD = [0, -5] >>> llarate(VN,VE,VD,lat,alt,lat_unit='rad') array([[ 1.57047955e-05, 0.00000000e+00, 0.00000000e+00], [ 0.00000000e+00, 1.80887436e-05, 5.00000000e+00]]) >>> # That output was in rad/sec
-
navpy.llarate(VN, VE, VD, lat, alt, lat_unit='deg', alt_unit='m') Calculate Latitude, Longitude, Altitude Rate given locally tangent velocity
Parameters: VN : {(N,)} array like earth relative velocity in the North direction, m/s
VE : {(N,)} array like earth relative velocity in the East direction, m/s
VD : {(N,)} array like earth relative velocity in the Down direction, m/s
lat : {(N,)} array like latitudes, unit specified in lat_unit, default deg
alt : {(N,)} array like altitudes, unit specified in alt_unit, default m
Returns: lla_dot : {(N,3)} np.array of latitude rate, longitude rate, altitude rate.
The unit of latitude and longitude rate will be the same as the unit specified by lat_unit and the unit of altitude rate will be the same as alt_unit
See also
earthrad- called by this method
Examples
>>> import numpy as np >>> from navpy import llarate >>> llarate(100,0,0,45.0,0) # Moving North at 100 m/s, location is at N45.0 array([ 0.00089983, 0. , 0. ]) >>> # That output was in deg/sec >>> lat = [np.pi/4, -np.pi/6] >>> alt = [100.0, 50] >>> VN = [100, 0] >>> VE = [0, 100] >>> VD = [0, -5] >>> llarate(VN,VE,VD,lat,alt,lat_unit='rad') array([[ 1.57047955e-05, 0.00000000e+00, 0.00000000e+00], [ 0.00000000e+00, 1.80887436e-05, 5.00000000e+00]]) >>> # That output was in rad/sec
Calculate radius of curvature in the prime vertical (East-West) and meridian (North-South) at a given latitude.
Parameters: lat : {(N,)} array like latitude, unit specified by lat_unit, default in deg
Returns: R_N : {(N,)} array like, radius of curvature in the prime vertical (East-West)
R_M : {(N,)} array like, radius of curvature in the meridian (North-South)
Examples
>>> import numpy as np >>> from navpy import earthrad >>> lat = 0 >>> Rtransverse, Rmeridian = earthrad(lat) >>> Rtransverse 6378137.0 >>> Rmeridian 6335439.3272928288 >>> lat = [0, np.pi/2] >>> Rtransverse, Rmeridian = earthrad(lat,lat_unit='rad') >>> Rtransverse array([ 6378137. , 6399593.62575849]) >>> Rmeridian array([ 6335439.32729283, 6399593.62575849])
-
navpy.earthrad(lat, lat_unit='deg', model='wgs84') Calculate radius of curvature in the prime vertical (East-West) and meridian (North-South) at a given latitude.
Parameters: lat : {(N,)} array like latitude, unit specified by lat_unit, default in deg
Returns: R_N : {(N,)} array like, radius of curvature in the prime vertical (East-West)
R_M : {(N,)} array like, radius of curvature in the meridian (North-South)
Examples
>>> import numpy as np >>> from navpy import earthrad >>> lat = 0 >>> Rtransverse, Rmeridian = earthrad(lat) >>> Rtransverse 6378137.0 >>> Rmeridian 6335439.3272928288 >>> lat = [0, np.pi/2] >>> Rtransverse, Rmeridian = earthrad(lat,lat_unit='rad') >>> Rtransverse array([ 6378137. , 6399593.62575849]) >>> Rmeridian array([ 6335439.32729283, 6399593.62575849])
Calculate the earth rotation rate resolved on NED axis given VN, VE, VD, lat, and alt.
Paul Groves’s Notation:
, Eq. (2.75), Ch. 2.3, pp. 44Parameters: lat : {(N,)} array like latitudes, unit specified in lat_unit, default deg
Returns: e : {(N,3)} np.array of the earth’s rotation rate
The unit is in rad/seconds.
References
[1] P. Groves, GNSS, Inertial, and Integrated Navigation Systems, Artech House, 2008