Loxodromics for the HP-41
Overview
-A loxodromic curve is a line on the surface of the Earth which cuts
all meridians at the same angle µ ( the azimuth )
-The 2 following programs compute D = the length of these curves and
the azimuth µ
1°) Spherical Model of the Earth
2°) Ellipsoidal model of the Earth
-The azimuths are measured positively clockwise from North
-And the longitudes are measured positively Eastwards from the meridian
of Greenwich
1°) Spherical Model of the Earth
Formulae: L2
- L1 = ( Tan µ ). Ln [ ( Tan ( 45° + b2/2
) ) / (Tan ( 45° + b1/2 ) ) ]
Li = longitudes ; bi = latitudes
D = R.( b2 - b1 )/Cos µ
R = mean radius of the Earth = 6371 km
-If cos µ = 0 we have D = R.( L2
- L1 ).cos b where b = b1
= b2
Data Registers: /
Flags: /
Subroutines: /
-Synthetic registers M & N may be replaced by any standard registers.
01 LBL "LOX"
02 DEG 03 HR 04 STO M 05 STO N 06 X<> T 07 HMS- 08 HR 09 360 10 MOD 11 PI |
12 R-D
13 X>Y? 14 CLX 15 ST+ X 16 - 17 X<>Y 18 HR 19 ST- M 20 2 21 ST/ T 22 / |
23 45
24 ST+ T 25 + 26 TAN 27 R^ 28 TAN 29 X<>Y 30 / 31 LN 32 R-D 33 R-P |
34 X<>Y
35 HMS 36 RCL M 37 LASTX 38 COS 39 X#0? 40 GTO 00 41 + 42 X<> N 43 COS 44 R^ |
45 *
46 1 47 LBL 00 48 / 49 ABS 50 D-R 51 6371 52 * 53 CLA 54 END |
( 78 bytes / SIZE 000 )
STACK | INPUTS | OUTPUTS |
T | L1 ( ° ' " ) | / |
Z | b1 ( ° ' " ) | / |
Y | L2 ( ° ' " ) | µ ( ° ' " ) |
X | b2 ( ° ' " ) | D ( km ) |
Example1:
U.S. Naval Observatory at Washington (D.C.)
L1 = 77°03'56"0 W = -77°03'56"0 ;
b1 = 38°55'17"2 N = +38°55'17"2
The Observatoire de
Paris:
L2 = 2°20'13"8 E = +2°20'13"8
; b2 = 48°50'11"2 N = +48°50'11"2
-77.03560 ENTER^
38.55172 ENTER^
2.20138 ENTER^
48.50112 XEQ "LOX" >>>>
D = 6436.5499 km X<>Y
µ = 80°08'14" ( in 4 seconds )
Example2:
0 ENTER^
30 ENTER^
120 ENTER^
30 R/S
>>>> D = 11555.7158 km X<>Y
µ = 90°
2°) Ellipsoidal Model of the Earth
-Higher accuracy is obtained if we take the Earth's flattening into account.
-Equatorial radius of the Earth = a = 6378.137 km
-Eccentricity of the ellipsoid = e = ( 0.006694385 )1/2
which corresponds to a flattening f = 1/298.257
( e2 = 2.f - f 2 )
Formulae:
L2 - L1 = ( Tan µ
).{ Ln [ ( Tan ( 45° + b2/2 ) ) / (Tan ( 45° +
b1/2 ) ) ] - (e/2).Ln [ ( 1 + e.sin b2 ).( 1 - e.sin
b1 )/( 1 - e.sin b2 )/( 1 + e.sin b1 )
] }
D = [ a.( 1 - e2 )/ cos µ ] §b1b2
( 1 - e2 sin2 t ) -3/2 dt
( § = Integral )
-One could use any integration formula but "LOX2" evaluates this integral
by a series expansion up to the terms in e6
( the first neglected term is proportional to e8
)
D
= [ a.( 1 - e2 )/ cos µ ] [ ( 1 + 3e2/4 + 45e4/64
+ 175e6/256 ).( b2 - b1 ) - ( 3e2/8
+ 15e4/32 + 525e6/1024 ).( sin 2b2 - sin
2b1 )
+ ( 15e4/256 + 105e6/1024 ).( sin 4b2
- sin 4b1 ) - ( 35e6/3072 ).( sin 6b2
- sin 6b1 ) ] + .......................
-However, we cannot use this formula if cos µ = 0 , in this case ( i-e if b1 = b2 ) we have:
D = a.(
cos b ).( L2 - L1 ) / ( 1 - e2 sin2
b ) -1/2 the loxodromic line is the parallel
of latitude b = b1 = b2
Data Registers: R00 = e = 0.0066943851/2
; R01 = b1 ; R02 = b2 ;
R03 = L2 - L1 ; R04 = µ
( in degrees )
Flags: /
Subroutines: /
01 LBL "LOX2"
02 DEG 03 HR 04 STO 02 05 X<> T 06 HMS- 07 HR 08 360 09 MOD 10 PI 11 R-D 12 X>Y? 13 CLX 14 ST+ X 15 - 16 STO 03 17 X<>Y 18 HR 19 STO 01 20 2 21 ST/ T 22 / 23 45 24 ST+ T 25 + 26 TAN 27 R^ 28 TAN |
29 /
30 LN 31 STO 04 32 1 33 RCL 01 34 SIN 35 .006694385 36 SQRT 37 STO 00 38 * 39 ST+ Y 40 1 41 - 42 / 43 1 44 RCL 00 45 RCL 02 46 SIN 47 * 48 ST- Y 49 1 50 + 51 / 52 * 53 CHS 54 SQRT 55 LN 56 RCL 00 |
57 *
58 RCL 04 59 - 60 RCL 03 61 X<>Y 62 R-D 63 R-P 64 X<>Y 65 STO 04 66 RCL 01 67 6 68 * 69 SIN 70 RCL 02 71 6 72 * 73 SIN 74 - 75 3 76 * 77 RCL 02 78 4 79 * 80 SIN 81 RCL 01 82 4 83 * 84 SIN |
85 -
86 2657 87 * 88 + 89 RCL 02 90 ST+ X 91 SIN 92 RCL 01 93 ST+ X 94 SIN 95 - 96 2531555 97 * 98 - 99 RCL 02 100 RCL 01 101 - 102 D-R 103 1005052504 104 * 105 + 106 E9 107 / 108 1 109 RCL 00 110 X^2 111 - 112 * |
113 RCL 04
114 COS 115 X#0? 116 GTO 00 117 RCL 03 118 D-R 119 RCL 01 120 COS 121 * 122 1 123 RCL 01 124 SIN 125 RCL 00 126 * 127 X^2 128 - 129 SQRT 130 LBL 00 131 / 132 RCL 04 133 HMS 134 X<>Y 135 ABS 136 6378.137 137 * 138 END |
( 194 bytes / SIZE 005 )
STACK | INPUTS | OUTPUTS |
T | L1 ( ° ' " ) | / |
Z | b1 ( ° ' " ) | / |
Y | L2 ( ° ' " ) | µ ( ° ' " ) |
X | b2 ( ° ' " ) | D ( km ) |
Example1:
-77.03560 ENTER^
38.55172 ENTER^
2.20138 ENTER^
48.50112 XEQ "LOX2" >>>>
D = 6453.389979 km X<>Y
µ = 80°10'15"31 ( in 12 seconds )
-The exact value is D = 6453.389986 km
-Compare this value with the length of the corresponding geodesic:
6181.621794 km
-Rhumb-sailing is easier but slower than orthodromy.
Example2:
0 ENTER^
30 ENTER^
120 ENTER^
30 R/S
>>>> D = 11578.35364 km X<>Y
µ = 90°
-Due to roundoff errors, there is a loss of significant digits if the
2 latitudes are very close but not equal.
-For instance: ( 0 ; 30° ) ( 120 ; 30°00'01" )
gives D = 11578.956 km instead of 11578.340
( µ = 89°59'59"45 is correctly computed, however
)
-Otherwise, the accuracy is of the order of a few centimeters.
-If you don't want to calculate D , simply replace lines 66 to 137
by a single HMS.
-In order to avoid a DATA ERROR & an OUT OF RANGE if the
latitudes are +/- 90°
key in 89°59'59"9999 instead of 90° , the difference
is negligible.