Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Z N GEOMETRIC

Z N GEOMETRIC λ Gre enw ich GEODESY b PART B Q • a O• φ H• equator R.E. DEAKIN and M.N. HUNTER School of Mathematical and Geospatial Sciences RMIT University Melbourne, AUSTRALIA January 2010 P • a RMIT University Geospatial Science FOREWORD These notes are the second part of an introduction to ellipsoidal geometry related to geodesy. They are mainly concerned with the computation of distance and direction between points on a reference ellipsoid. The Earth's terrestrial surface is highly irregular and unsuitable for any mathematical computations, instead an ellipsoid – a surface of revolution created by rotating an ellipse about its minor axis – is adopted and points on the Earth's surface are projected onto the ellipsoid, via a normal to the ellipsoid. All computations are made using these projected points on this reference ellipsoid. These notes are intended for undergraduate students studying courses in surveying, geodesy and map projections. The derivations of equations given herein are detailed, and in some cases elementary, but they do convey the vital connection between geodesy and the mathematics taught to undergraduate students. These notes are a collection of papers written by the authors on the topic of computation of distance and azimuth between points on the reference ellipsoid. There are five lines or curves of interest in geodesy: the geodesic which is the curve of shortest length; the normal section curve; the curve of alignment; the great elliptic arc; and the loxodrome. The most important is of course the geodesic since it is the shortest distance between two points, but the other curves have their uses in navigation (the loxodrome) and in field surveying (normal section and curve of alignment). The methods of computation outlined in these papers have been developed with the computer in mind – perhaps with the exception of F. W. Bessel's paper of 1826 – and most have MATLAB functions that demonstrate the application of the methods. There is a certain amount of repetition in the papers as they are separate documents intended to give the reader an overview of the particular geodetic problem and then a detailed solution with computer examples of algorithms. So the student will see repeated treatments of the ellipsoid and associated formula as well as various solutions of the direct and inverse problems of geodesy. But, there may be something useful within the detail for the interested reader. i RMIT University Geospatial Science TABLE OF CONTENTS pages 1. THE CALCULATION OF LONGITUDE AND LATITUDE FROM GEODETIC MEASUREMENTS 11 This is an English translation of Über die Berechnung der geographischen Längen und Brieten aus geodätischen Vermessungen, Astronomicische Nachrichten (Astronomical Notes) 4(86), 241-254, 1826 by F. W. Bessel. This paper could be regarded as the first practical (and modern) treatment of computation using the geodesic. Bessel's method, with slight variation is still used today. 2. GEODESICS ON AN ELLIPSOID – BESSEL'S METHOD 66 This paper gives a detailed derivation of equations for the solution of the direct and inverses problems on the ellipsoid. Bessel's method as presented here is slightly different from the original but leads to Rainsford's equations and Vincenty's modifications. Vincenty's equations are commonly used for geodesic computation. 3. GEODESICS ON AN ELLIPSOID – PITTMAN'S METHOD An alternative to Bessel's method (Vincenty's equations) that uses recurrence relationships to solve the direct and inverse problems. These methods are unusual but they give extremely good accuracies over any length of line anywhere on the ellipsoid. ii 19 RMIT University Geospatial Science TABLE OF CONTENTS (continued) pages 4. THE NORMAL SECTION CURVE ON AN ELLIPSOID 53 5. THE CURVE OF ALIGNMENT ON AN ELLIPSOID 20 6. THE GREAT ELLIPTIC ARC ON AN ELLIPSOID 19 7. THE LOXODROME ON AN ELLIPSOID 20 iii The calculation of longitude and latitude from geodesic measurements∗ F. W. Bessel Königsberg Observatory arXiv:0908.1824v1 [physics.comp-ph] 13 Aug 2009 (Originally published: October 1825; translated: August 13, 2009) 1. INTRODUCTION Consider a geodesic line between two points A and B on the surface of the Earth. Given the position of A, the length of the line and its azimuth at A, we wish to determine the position of B and the azimuth of the line there. This problem occurs so frequently that I undertook to construct tables to simplify the computation. In order to explain the method clearly, I start by deriving the fundamental properties of geodesic lines on a spheroid of revolution. Even though aspects of this derivation may already be well known, the benefit of having the entire development presented together outweighs the cost of repeating it.1 2. THE CHARACTERISTIC EQUATION FOR A GEODESIC Take two points A and B on the surface on a spheroid2 of revolution joined by some specified curve. Consider two neighboring points on the curve with latitudes φ and φ + dφ and longitudes relative to A of w and w + dw (measuring east positive). Let the distance between them be ds, the azimuth of line directed toward A be α (measured clockwise from north), ∗ This is an English translation of Über die Berechnung der geographischen Längen und Breiten aus geodätischen Vermessungen, Astronomische Nachrichten 4(86), 241–254 (1826), doi:10.1002/asna.18260041601. The paper also appears in Abhandlungen von Friedrich Wilhelm Bessel, Vol. 3, pp. 5– 14 (W. Engelmann, Leipzig, 1876). The translation has been prepared and edited by Charles F. F. Karney hckarney@sarnoff.comi and Rodney E. Deakin hrod.deakin@rmit.edu.aui, with the assistance of Max Hunter and Stephan Brunner. The mathematical notation has been updated to conform to current conventions and, in a few places, the equations have been rearranged for clarity. Several errors have been corrected, a figure has been included, and the tables have been recomputed. A transcription of the original paper with the updated mathematical notation and with the corrections is available at arXiv:0908.1823. A contemporary, but partial, translation into English appeared in Quart. Jour. Roy. Inst. 21(41), 138–152 (1826). 1 In Secs. 2–4, Bessel gives a concise summary of the work of several other authors, notably, Clairaut, du Séjour, Legendre, and Oriani. Bessel’s contributions, which start in Sec. 5, consist of his methods for expanding the distance and longitude integrals and his compilation of tables to provide a practical method for computing geodesics. Two sentences have been omitted from this translation of the introduction. In one, Bessel refers to two letters he published earlier in the Astronomische Nachrichten which do not, however, have a direct bearing on the present work. In the other, he criticizes ”du Séjour’s method,” but without providing details; in any case, such criticism is misplaced because du Séjour had died over 30 years earlier and Bessel does not cite more recent work. 2 “Spheroid” here is used in the sense of a shape approximating a sphere. Sections 2 and 3 treat the case of a rotationally symmetric earth. In Sec. 4, Bessel specializes to a rotationally symmetric ellipsoid. the radius of the circle of latitude be r, and the meridional radius of curvature by R; then we find3 ds cos α = −R dφ = dr , sin φ (1) ds sin α = −r dw, which gives p R2 dφ2 + r2 dw2 . p If we write p for dφ/dw and U for R2 p2 + r2 , this becomes ds = ds = U dw. The distance along the curve between the two points A and B is therefore Z s = U dw, where the integration is from A to B. If the curve is the geodesic or shortest path, then the relation between φ and w must be such that the integral is a minimum. If we perturb this relation so that φ is replaced by φ + z where z is an arbitrary function of w which vanishes at the end points (because these points lie on both curves), then the perturbed length, Z s′ = U ′ dw, must be larger than s for all z. Expanding U (φ, p) in a Taylor series, we obtain4 U′ = U + ∂U ∂U dz z+ + ... ∂φ ∂p dw and therefore we have  Z  ∂U dz ∂U dw + . . . , z+ s′ = s + ∂φ ∂p dw where we have explicitly included terms only up to first order in z. For s to be a minimum, we require that  Z  ∂U ∂U dz dw + . . . ≥ 0 z+ ∂φ ∂p dw 3 4 The minus signs appear in (1) because α is the back azimuth, pointing to A, while ds advances the geodesic away from A. In this section, Bessel assumes an easterly geodesic so that ds/dw > 0. However the final result, Eq. (2), is general. The notation here employs partial derivatives instead of Bessel’s less formal use of differentials. 2 for all z. Since this must also hold if z is replaced by −z and since we can take z so small that the first order terms are bigger that the sum of all the higher order terms (except if the first order terms vanish), it follows that the condition that s be minimum is  Z  ∂U ∂U dz dw = 0. z+ ∂φ ∂p dw RIntegrating the second term by parts to give z(∂U /∂p) − z[d(∂U /∂p)/dw] dw and remembering that z vanishes at the end points, we obtain   Z  ∂U d ∂U dw = 0. z − ∂φ dw ∂p Since this integral must vanish for arbitrary z, we find5   ∂U d ∂U =0 − ∂φ dw ∂p ω 90° 360° − α α′ A m M E N B σ u u′ F G Figure 1 Spherical triangles on the auxiliary sphere. EAB is the geodesic, N is the pole; EF G is the equator; and NE, NAF , and NBG are meridians. and equation (2) becomes or, multiplying by dφ/dw = p, cos u′ sin α′ = − cos u sin α.   ∂U dp dp ∂U d ∂U ∂U dφ = 0, + − −p ∂φ dw ∂p dw dw ∂p dw ∂p This equation relates two sides of a spherical triangle,9 90◦ − u′ and 90◦ − u, and their opposite angles, 360◦ − α and α′ . The third side σ and its opposite angle ω will appear in the following calculations giving elegant expressions for the joint variations of s, u and w. In particular, using the well known differential formulas of spherical trigonometry, we find10 which on integrating with respect to w becomes6   dU U −p = const. dp p Substituting r2 + R2 p2 for U , we obtain7 du = − cos α dσ, cos u dω = − sin α dσ. r p = −r sin α = const., 1 + (R2 /r2 )p2 which is the well known characteristic equation of the geodesic. If the azimuth of the geodesic at A (in the direction of B) is α′ and the distance of A from the rotation axis is r′ , we have Substituting these in equations (1) and expressing r in terms of u gives sin u dσ, sin φ sin u dω. dw = sin φ ds = a r′ sin(α′ + 180◦ ) = r sin α, or r′ sin α′ = −r sin α. Let the maximum distance of the spheroid to the rotation axis be a, so that r and r′ are less than or equal to a; we can then write8 r = a cos u, 4. THE EQUATIONS FOR A GEODESIC ON AN ELLIPSOID I now assume that the meridian is an ellipse with equatorial semi-axis a, polar semi-axis b, and eccentricity e = √ a2 − b2 /a.11 The equation for an ellipse expressed in terms 9 10 5 6 7 8 (4) (2) 3. THE AUXILIARY SPHERE r′ = a cos u′ , (3) 11 This is the Euler-Lagrange equation of the calculus of variations. This is now known as the Beltrami identity. A. C. Clairaut gives a geometric derivation of this result in Mém. de l’Acad. Roy. des Sciences de Paris, 1733, 406–416 (1735). The equation also follows from conservation of angular momentum for a mass sliding without friction on a spheroid of revolution. The quantity u is the reduced or parametric latitude. See the triangle ABN on the “auxiliary sphere” in Fig. 1; Equation (3) is the sine rule applied to angles A and B of the triangle. Here and in the rest of the paper, the differentials give the movement of point B along the geodesic defined with point A and α′ held fixed. In Bessel’s time, it was known that the earth could be approximated by an oblate ellipsoid, a > b, but the eccentricity had not been determined accurately. Therefore, Bessel computes tables which are applicable to oblate ellipsoids with a range of eccentricities. However, the series expansions that Bessel obtains, (11) and (12), can also to applied to prolate ellipsoids, a < b, by allowing e2 < 0. 3 of cartesian coordinates is y2 x2 + 2 = 1. 2 a b Differentiating this and setting dy/dx = − cot φ, we obtain x sin φ y cos φ − = 0; a2 b2 eliminating y between these equations then gives Equations (6) then become14 sin u = cos m sin(M + σ), cos u cos α = − cos m cos(M + σ), cos u sin α = − sin m. This gives cos2 u = 1 − cos2 m sin2 (M + σ), a cos φ . x= p 1 − e2 sin2 φ The quantity x is the same as r = a cos u, which gives the relationships between φ and u, √ cos φ cos u 1 − e2 √ , cos u = p , cos φ = 1 − e2 cos2 u 1 − e2 sin2 φ √ sin u sin φ 1 − e2 , sin φ = √ sin u = p , 2 1 − e2 cos2 u 1 − e2 sin φ p tan u , tan φ = √ tan u = tan φ 1 − e2 , 1 − e2 and sin u p = 1 − e2 cos2 u. sin φ Substituting this into (4), we obtain the differential equations for a geodesic on an ellipsoid p ds = a 1 − e2 cos2 u dσ, (5) p dw = 1 − e2 cos2 u dω. and the equation for ds becomes q p ds = a 1 − e2 1 + k 2 sin2 (M + σ) dσ, To integrate the first of these differential equations, I use the three relations between u′ , u, α′ , α and σ,12 e cos m k= √ . 1 − e2 This differential equation may be integrated in terms of the elliptic integrals introduced by Legendre.15 Because the tools to compute these special functions are not yet sufficiently versatile,16 we instead develop a series solution which converges rapidly because e2 is so small. We readily achieve this by decomposing the term under the square root into two complex factors, namely17 √ 1 − e2 ds = a dσ× 1−ǫ q q  1 − ǫ exp 2i(M + σ) 1 − ǫ exp −2i(M + σ) , where √ 1 + k2 − 1 , ǫ= √ 1 + k2 + 1 14 15 16 17 12 13 Referring to Fig. 1, consider two central cartesian coordinate systems with the xy plane containing the geodesic EAB, and either A or B lying on the x axis. Equations (6) give the transformation between the coordinates of N in the two systems, [sin u′ , cos u′ cos α′ , cos u′ sin α′ ] and [sin u, − cos u cos α, − cos u sin α], namely a rotation by σ about the z axis. The auxiliary angles m and M are an angle and a side of the spherical triangle EAN shown in Fig. 1. Equations (7) are the sine rule on angles E and F of triangle AEF , the cosine rule on angle F of triangle AEF , and the sine rule on angles A and E of triangle AN E. √ 2 ǫ . 1−ǫ √ 1 − e2  ds = a dσ A − 2B cos 2(M + σ) 1−ǫ  − 2C cos 4(M + σ) − 2D cos 6(M + σ) − . . . , (6) (7) k= Expanding the two factors in the radicals in infinite series and multiplying the results gives18 It is convenient to write these in terms of the auxiliary angles m and M defined by13 sin u′ = cos m sin M, cos u′ cos α′ = cos m cos M, cos u′ sin α′ = sin m. (9) where 5. THE DISTANCE INTEGRAL sin u = sin u′ cos σ + cos u′ cos α′ sin σ, − cos u cos α = − sin u′ sin σ + cos u′ cos α′ cos σ, − cos u sin α = cos u′ sin α′ . (8) 18 These are analogs of Eqs. (7) with meridian NAF replaced by NBG. A. M. Legendre, Exercices du calcul intégral, Vol. 1 (Courcier, Paris, 1811). Even though good numerical algorithms for elliptic integrals are available, these usually require linking to an additional library and, for that reason, computations of geodesics are still usually in terms of a series. The notation has been simplified here compared to Bessel’s original formulation in which k and ǫ are expressed in terms of E through k = tan E and ǫ = tan2 12 E. By using ǫ as the expansion parameter and by dividing out the factor 1 − ǫ, Bessel has ensured that the terms that he is expanding are invariant under the transformation ǫ → −ǫ, M +σ → π/2−(M +σ). This symmetry causes half the terms in the expansions in ǫ to vanish. The use of complex exponentials facilitates the series expansions by avoiding awkward trigonometric identities. IfP we write √ the need to 1employ 1·1 2 1 − x = 1 − 2 x − 2·4 x − 1·1·3 x3 − 1·1·3·5 x4 − . . . = j aj xj , 2·4·6 2·4·6·8 ` ´ then the coefficient of cos 2l(M + σ) ǫl+2j is a2j for l = 0 and 2aj aj+l for l > 0. 4 where A, B, C, . . . are given by 2 2    2 1·1 1·1·3 1 ǫ2 + ǫ4 + ǫ6 + . . . , A=1+ 2 2·4 2·4·6 1 1·1 1 3 1·1·3 1·1 5 B = ǫ− ǫ − ǫ 2 2·4 2 2·4·6 2·4 1·1·3·5 1·1·3 7 ǫ − ..., − 2·4·6·8 2·4·6 1·1 2 1·1·3 1 4 1·1·3·5 1·1 6 C= ǫ − ǫ − ǫ 2·4 2·4·6 2 2·4·6·8 2·4 1·1·3·5·7 1·1·3 8 ǫ − ..., − 2·4·6·8·10 2·4·6 1·1·3 3 1·1·3·5 1 5 1·1·3·5·7 1·1 7 D= ǫ − ǫ − ǫ 2·4·6 2·4·6·8 2 2·4·6·8·10 2·4 1·1·3·5·7·9 1·1·3 9 ǫ − ..., − 2·4·6·8·10·12 2·4·6 etc. Integrating the equation for ds starting at σ = 0, we obtain b  s= Aσ − 21 B cos(2M + σ) sin σ 1−ǫ − 22 C cos(4M + 2σ) sin 2σ − 23 D cos(6M + 3σ) sin 3σ  − ... . (10) 6. SOLVING THE DISTANCE EQUATION The series (10) gives the distance s between A and B in terms of u′ , α′ , and σ; if, however, s and α′ have been measured and u′ is known from the latitude at A, then σ is obtained by solving (10). The latitude of B and the azimuth of the geodesic there are found from (8). Equation (10) can be solved either by reverting the series or by successive approximation—the latter way is however the simplest if the tables I have compiled are used. I write19 α σ = s+ β cos(2M + σ) sin σ + γ cos(4M + 2σ) sin 2σ b + δ cos(6M + 3σ) sin 3σ + . . . , (11) The tables give the logarithms20 of α, β, and γ as a function of the argument e cos m . log k = log √ 1 − e2 By this choice, the variation of log β and log γ are very close to two and four times that of the argument, which simplifies interpolation into the table.21 We take αs/b as the first approximation of σ, substitute this into the second term to obtain a second approximation, with which we recalculate the second term and add the third. The convergence of the series is sufficiently fast that, even if the argument is 1̄.1 (which is only possible if the flattening of 1 the ellipsoid, 1 − b/a, exceeds 128 ), the approximation never needs to be carried further in order to keep the errors in σ under 0.001′′. The term involving δ does not exceed 0.0005′′ at this value of the argument. 7. ACCURACY OF THE TABLES The values of log α in the table are given to 8 decimal places.22 An error of half a unit of the last place results in an error of only 0.0005′′ or 0.008 toise over a distance corresponding to σ = 12◦ 4′ or 700 000 toises.23 Similarly, I retain only sufficient digits in the tabulation of log β to ensure that the error in this term is less than 0.0005′′; for this purpose, I use 6 digits at the end of the table and fewer digits for smaller values of the argument. The third term never exceeds 0.17′′ , even at the end of the table; therefore I include only 3 decimal places for log γ. Thus the errors are 0.001′′ for distances up to 700 000 toises; even if the distance is of the order of a quarter meridian (i.e., σ = 90◦ ), the error is less than 0.01′′ . 8. AN EXAMPLE In order to illustrate the use of the tables, I consider the results from the great survey by von Müffling.24 Relative to 20 where 648 000 π 648 000 β= π 648 000 γ= π 648 000 δ= π etc. α= 1−ǫ , A 2B , A C , A 2D , 3A 21 22 19 The units for σ, α, β, . . . are arc seconds. Bessel here adopts a conflicting notation for the coefficient α which should not be confused with the azimuth. 23 24 In this paper, log x denotes the common logarithm (base 10) and we use colog x = log(1/x). The tables in the original paper contained a number of errors of one unit in the last place. These errors do not, for the most part, affect the results obtained from the tables when rounded to 0.001′′ . In addition, there were systematic errors in the tabulated values of log β equivalent to a relative error of order ǫ2 in β which result in discrepancies from 1 to 17 units in the last place on the final page (the 6-figure portion) of the tables. In calculations involving logarithms, a bar over a numeral indicates that that numeral should be negated, e.g., log 0.02 ≈ 2̄.3 = (−2) + 0.3. In the original paper, logarithms are written modulo 10, e.g., log 0.02 ≈ 8.3. The notation “(−)” in these calculations indicates that the quantity whose logarithm is being taken is negative. The columns headed ∆ give the first differences of the immediately preceding columns and aid in interpolating the data. Bessel would have used a table of “proportional parts” to compute the interpolated values. Working with 8-figure logarithms provides about 2 bits more precision than IEEE single precision floating point numbers. The toise was a French unit of length. It can be converted to meters by 1 toise = 864 ligne, 443.296 ligne = 1 m, or 1 toise ≈ 1.949 m. F. K. F. von Müffling, Astron. Nachr. 2(27), 33–38 (1824). 5 Seeberg (point A), the distance and azimuth to Dunkirk (point B) are25 log s = 5.478 303 14, α′ = 274◦ 21′ 3.18′′ . I assume the latitude of the Observatory at Seeberg to be φ′ = 50◦ 56′ 6.7′′ and the ellipsoid parameters to be log b = 6.513 354 64, log e√= 2̄.905 4355.26 From tan u′ = 1 − e2 tan φ′ , we find log tan φ′ = 0.090 626 65 p log 1 − e2 = 1̄.998 590 60 log tan u′ = 0.089 217 25; u′ = 50◦ 50′ 39.057′′. Given u′ and α′ , we can compute M , cos m and sin m from equations (7):27 log sin u′ log cos u′ log cos α′ log sin α′ = 1̄.889 543 51 = 1̄.800 326 27 = 2̄.880 037 33 = 1̄.998 746 62(−) log(cos m sin M ) = 1̄.889 543 51 log(cos m cos M ) = 2̄.680 363 60 log sin m = 1̄.799 072 89(−) M = 86◦ 27′ 53.949′′; 2M = 172◦ 55′ 47.9′′ log cos m = 1̄.890 370 63 4M = 345◦ 51′ 36′′ . √  The argument in the tables, log (e/ 1 − e2 ) cos m , is e = 2̄.906 845 log √ 1 − e2 log cos m = 1̄.890 371 Argument = 2̄.797 216. Looking up log α in the tables, and calculating αs/b gives28 log α = 5.313 998 92 colog b = 7̄.486 645 36 log s = 5.478 303 14 αs = 4.278 947 42; log b 25 26 27 28 α s = 5◦ 16′ 48.481′′. b Seeberg: 50◦ 56′ N 10◦ 44′ E; Dunkirk: 51◦ 2′ N 2◦ 23′ E. In present-day units, this is a ≈ 6377 km, flattening f ≈ 1/308.6, s ≈ 586 km. In this example, Bessel uses the toise as the unit of length and the second as the unit of arc. Bessel solves 3 equations (7) for 2 unknowns M and m. The redundancy serves as a check for the hand calculation and can also improve the accuracy of the calculation, for example, in the case where sin m ≈ 1. It is necessary to use second differences when interpolating in the table for log α. The argument, 2̄.797 216, lies q = 0.7216 of the way between 2̄.79 and 2̄.80. Bessel’s central 2nd-order interpolation formula for the last 6 digits of log α gives 401 284 + q(−1941) + 14 q(q − 1)(1853 − 1004 − 1028) = 399 892. For the other table look-ups, linear interpolation using first differences suffices. Adopting this as the first approximation to the value of σ, we obtain the second by adding the first term in the series (11), log β = 2.305 94 log cos(2M + σ) = 1̄.999 79(−) log sin σ = 2̄.963 91 1.269 64(−) = −18.61′′. We now update the value of this term with the second approximation of σ = 5◦ 16′ 48.5′′ − 18.6′′ = 5◦ 16′ 29.9′′ and so obtain as the third approximation: log β = 2.305 94 log cos(2M + σ) = 1̄.999 79(−) log sin σ = 2̄.963 48 1.269 21(−) = −18.587′′, log γ = 2̄.394 log cos(4M + 2σ) = 1̄.999 log sin 2σ = 1̄.263 3̄.656 = +0.005′′. Gathering the terms in (11) gives σ = 5◦ 16′ 48.481′′ − 18.587′′ + 0.005′′ = 5◦ 16′ 29.899′′ and so, finally, we determine α, u and φ from equations (8), M + σ = 91◦ 44′ 23.848′′ log sin(M + σ) = 1̄.999 799 71  log − cos(M + σ) = 2̄.482 349 32 log cos m = 1̄.890 370 63 log(− sin m) = 1̄.799 072 89 log sin u = 1̄.890 170 34 log(cos u cos α) = 2̄.372 719 95 log(cos u sin α) = 1̄.799 072 89 log cot α = 2̄.573 647 06; log cos u = 1̄.799 377 50 log tan u = 0.090 792 84 p colog 1 − e2 = 0.001 409 40 log tan φ = 0.092 202 24; α = 87◦ 51′ 15.523′′ φ = 51◦ 2′ 12.719′′. In this example, I carried out the trigonometric calculations to 8 decimals; however the tables of log α, log β, and log γ in fact allow α and φ to be determined slightly more accurately than this. If only standard 7-figure logarithm tables are available, the last digits in the tabulated values of log α, log β, and log γ may be neglected. 6 9. THE LONGITUDE INTEGRAL We turn now to the determination of the longitude difference w by integrating (5), p dw = 1 − e2 cos2 u dω. This integral contains two separate constants m and e, which cannot be combined. Thus it not possible to construct tables to allow a rigorous solution of this problem which are valid for arbitrary e.29 However, we can achieve our goal by sacrificing strict rigor and by making an approximation which results in errors which are inconsequential in our application. We start by writing p  dw = dω − 1 − 1 − e2 cos2 u dω, and substitute in the second term dω = sin α′ cos u′ dσ. cos2 u From this, we see that neglecting y results in an error of or1 8 der e8 or an error in w of 384 e σ. This would not be discernible even in the calculation of long geodesics to 10 decimal places.30 Thus, for the present purposes, we may take y ≈ 0 enabling us to tabulate the integral in a way that is valid for all e. 10. SERIES EXPANSION FOR LONGITUDE Introducing this approximation, we have Z dσ e2 q sin m w≈ω− 2 3 2 3 1 − 4 e cos2 u Z dσ e2 =ω− sin m q . 2 3 3 2 3 2 1 − 4 e + 4 e cos2 m sin2 (M + σ) If we set √3 e cos m , k ′ = p4 1 − 34 e2 On integrating, we obtain ′ w = ω − sin α cos u ′ Z 1− √ 1 − e2 cos2 u dσ. cos2 u Let us write √ 1 − 1 − e2 cos2 u e2 = (1 + e2 p cos2 u)q (1 + y); cos2 u 2 in other words, we set √ 2(1 − 1 − e2 cos2 u) e2 cos2 u(1 + e2 p cos2 u)q 1 + 41 e2 cos2 u + 81 e4 cos4 u + 1+y = = 1+ 5 6 6 64 e cos u + . . . !. 2 4 4 qpe2 cos2 u + q(q−1) 1·2 p e cos u + q(q−1)(q−2) p3 e6 cos6 u + . . . 1·2·3 The first three terms in the denominator and in the numerator are equal, provided that p= − 34 , q= 1 + 41 e2 cos2 u + 81 e4 cos4 u + 1+y = 1 + 14 e2 cos2 u + 81 e4 cos4 u + 6 1 6 192 e cos Following the same procedure used in expanding the integral for ds in Sec. 5, we introduce ǫ′ defined by31 √ √ 2 ǫ′ 1 + k ′2 − 1 , k′ = , ǫ′ = √ 1 − ǫ′ 1 + k ′2 + 1 and separate the integrand into two complex factors, q  3 Z (1 − ǫ′ )2 / 1 − 43 e2 dσ q q . 3 1 − ǫ′ exp 2i(M + σ) 3 1 − ǫ′ exp −2i(M + σ) If we expand these in infinite series, the product becomes32 − 31 , 2 which gives =1+ we can express the integral in the second term as Z dσ q . q 3 2 3 3 1 − 4e 1 + k ′2 sin2 (M + σ) 5 6 64 e 7 6 96 e cos6 u + . . . cos6 u + . . . p 3  + 3δ ′ cos 6(M + σ) + . . . dσ, u + ... 30 31 29 1 − 34 e2 Z  α′ + β ′ cos 2(M + σ) + 2γ ′ cos 4(M + σ) As a practical matter, it would have been impossible for Bessel to provide a complete tabulation of a function of two parameters. He could have tabulated the function for a fixed value of e, which would greatly reduced the utility of his method, especially given the uncertainties in the measurements of e. Instead, Bessel manipulates the expression for dw to move the dependence on the second parameter into a small term that may be neglected. 32 1 For a flattening of 128 , the error in the longitude difference over a distance equivalent to a quarter meridian, i.e., 10 000 km, is less than 0.000 05′′ . Bessel gives the relationship between k ′ and ǫ′ in terms of E ′ , where k ′ = tan E ′ and ǫ′ = tan2 12 E ′ . There are a series of errors in the original paper leading up to (12). Here we assume that the original Eq. (12) defines α′ , β ′ , γ ′ , . . . , which makes this equation analogous to (11), and correct the preceding equations to be consistent. 7 where33  2 2   p 1 1·4 ′ ′2 ′4 1 3 ′ 2 α = 2 (1 − ǫ ) 1 + ǫ + ǫ + ... , 3 3·6   p 1 ′ 1·4 1 ′3 1·4·7 1·4 ′5 ′ 1 3 ′ 2 β = 1 (1 − ǫ ) ǫ + ǫ + ǫ + ... , 3 3·6 3 3·6·9 3·6  p 1·4 ′2 1·4·7 1 ′4 ǫ + ǫ γ ′ = 21 3 (1 − ǫ′ )2 3·6 3·6·9 3  1·4·7·10 1·4 ′6 + ǫ + ... , 3·6·9·12 3·6  p 1·4·7 ′3 1·4·7·10 1 ′5 ǫ + ǫ δ ′ = 13 3 (1 − ǫ′ )2 3·6·9 3·6·9·12 3  1·4·7·10·13 1·4 ′7 ǫ + ... , + 3·6·9·12·15 3·6 etc.  Integrating from σ = 0 then gives and evaluate w by means of the tables. I will continue with the example in Sec. 8 and calculate the longitude difference between Dunkirk and Seeberg using this prescription. Solving the spherical triangle for ω gives log sin σ = 2̄.963 483 83 log(− sin α) = 1̄.999 695 39(−) colog cos u′ = 0.199 673 73 log sin ω = 1̄.162 852 95(−); ω = −8◦ 21′ 57.741′′. The argument p for the last two columns of the tables is √ log ( 34 e/ 1 − 43 e2 ) cos m , giving √3 e = 2̄.844 022 log p 4 1 − 34 e2 log cos m = 1̄.890 371 Argument = 2̄.734 393. Computing the terms in the series (12) gives 2 e sin m  ′ w≈ω− p α σ + β ′ cos(2M + σ) sin σ 3 1 − 34 e2 log α′ = 1̄.698 758 log(− sin m) = 1̄.799 073 + γ ′ cos(4M + 2σ) sin 2σ  + δ ′ cos(6M + 3σ) sin 3σ + . . . . e2 log p = 3̄.811 575 3 1 − 34 e2 (12) log σ = 4.278 523 1.587 929 = +38.719′′, 11. COMPUTING THE LONGITUDE DIFFERENCE The first two coefficients of this series are given in the 4th and 5th columns of the tables34 as functions of the argument  √3  4e ′ log k = log p cos m . 1 − 34 e2 The convergence is commensurate with the 3 first columns of the tables. We calculate ω using one of the formulas for spherical triangles (Sec. 3), either35 sin ω = sin σ sin m − sin σ sin α sin σ sin α′ = , = ′ cos u cos u cos u cos u′ and log β ′ = 1.703 log(− sin m) = 1̄.799 e2 = 3̄.812 1 − 34 e2  log cos(2M + σ) sin σ = 2̄.963(−) log p 3 2̄.277(−) = −0.019′′. The sum of both terms is +38.700′′, and adding this to ω, we find the longitude difference, w = −8◦ 21′ 19.041′′. or36 33 34 35 36 tan 12 ω = sin 21 (u′ − u) cot 21 (α′ + α) cos 12 (u′ + u) = cos 21 (u′ − u) cot 21 (α′ − α). sin 12 (u′ + u) 1·4 2 See footnote 18 and set (1 − x)−1/3 = 1 + 31 x + 3·6 x + 1·4·7 x3 + 3·6·9 1·4·7·10 4 x + . . . 3·6·9·12 The value of β ′ in the tables includes the factor of 648 000/π necessary to convert from radians to arc seconds. The first two relations are the sine rule for angle N of triangle ABN of Fig. 1. The last relation is obtained, for example, by substituting for sin α′ from (7). These are Napier’s analogies for angle N of triangle ABN . 12. CONCLUSION This illustration of the use of these tables shows that the accuracy of the calculation is limited not by the neglect of terms of high order in the eccentricity, but by the number of decimal places included. The steps in the calculation are, for the most part, the same as for a spherical earth; in order to account for the earth’s ellipticity one needs, in addition, only to solve equation (11) and to evaluate the series (12). Since this approach is sufficiently convenient even for routine use, it is unnecessary to use an approximate method which is valid only for small distances. (The tables are shown on the following pages.) 8 TABLES for computing geodesics 1. −∆ log β ′ ∆ 1̄.698 970 0 3̄.035 200 2000 2000 2000 2000 2000 1̄.698 970 1̄.698 970 1̄.698 970 1̄.698 970 1̄.698 970 0 0 0 0 0 3̄.235 3̄.435 3̄.635 3̄.835 2̄.035 200 200 200 200 200 2̄.7124 2̄.9124 1̄.1124 1̄.3124 1̄.5124 2000 2000 2000 2000 2000 1̄.698 970 1̄.698 970 1̄.698 970 1̄.698 970 1̄.698 970 0 0 0 0 1 2̄.235 2̄.435 2̄.635 2̄.835 1̄.035 200 200 200 200 200 5 6 5 6 6 1̄.7124 1̄.7324 1̄.7524 1̄.7724 1̄.7924 200 200 200 200 200 1̄.698 969 1̄.698 969 1̄.698 969 1̄.698 969 1̄.698 969 0 0 0 0 0 1̄.235 1̄.255 1̄.275 1̄.295 1̄.315 20 20 20 20 20 5.314 423 77 5.314 423 70 5.314 423 63 5.314 423 56 5.314 423 49 7 7 7 7 8 1̄.8124 1̄.8324 1̄.8524 1̄.8724 1̄.8924 200 200 200 200 200 1̄.698 969 1̄.698 969 1̄.698 969 1̄.698 969 1̄.698 969 0 0 0 0 0 1̄.335 1̄.355 1̄.375 1̄.395 1̄.415 20 20 20 20 20 3̄.60 3̄.61 3̄.62 3̄.63 3̄.64 5.314 423 41 5.314 423 33 5.314 423 25 5.314 423 16 5.314 423 06 8 8 9 10 9 1̄.9124 1̄.9324 1̄.9524 1̄.9724 1̄.9924 200 200 200 200 200 1̄.698 969 1̄.698 969 1̄.698 969 1̄.698 969 1̄.698 969 0 0 0 0 0 1̄.435 1̄.455 1̄.475 1̄.495 1̄.515 20 20 20 20 20 3̄.65 3̄.66 3̄.67 3̄.68 3̄.69 5.314 422 97 5.314 422 86 5.314 422 76 5.314 422 65 5.314 422 53 11 10 11 12 12 0.0124 0.0324 0.0524 0.0724 0.0924 200 200 200 200 200 1̄.698 969 1̄.698 968 1̄.698 968 1̄.698 968 1̄.698 968 1 0 0 0 0 1̄.535 1̄.555 1̄.575 1̄.595 1̄.615 20 20 20 20 20 3̄.70 3̄.71 3̄.72 3̄.73 3̄.74 5.314 422 41 5.314 422 28 5.314 422 14 5.314 422 00 5.314 421 85 13 14 14 15 15 0.1124 0.1324 0.1524 0.1724 0.1924 200 200 200 200 200 1̄.698 968 1̄.698 968 1̄.698 968 1̄.698 968 1̄.698 968 0 0 0 0 0 1̄.635 1̄.655 1̄.675 1̄.695 1̄.715 20 20 20 20 20 3̄.75 3̄.76 3̄.77 3̄.78 3̄.79 5.314 421 70 5.314 421 54 5.314 421 37 5.314 421 19 5.314 421 01 16 17 18 18 20 0.2124 0.2324 0.2524 0.2724 0.2924 200 200 200 200 200 1̄.698 968 1̄.698 968 1̄.698 967 1̄.698 967 1̄.698 967 0 1 0 0 0 1̄.735 1̄.755 1̄.775 1̄.795 1̄.815 20 20 20 20 20 3̄.80 3̄.81 3̄.82 3̄.83 3̄.84 5.314 420 81 5.314 420 61 5.314 420 39 5.314 420 17 5.314 419 94 20 22 22 23 25 0.3124 0.3324 0.3524 0.3724 0.3924 200 200 200 200 200 1̄.698 967 1̄.698 967 1̄.698 967 1̄.698 967 1̄.698 967 0 0 0 0 1 1̄.835 1̄.855 1̄.875 1̄.895 1̄.915 20 20 20 20 20 3̄.85 3̄.86 3̄.87 3̄.88 3̄.89 5.314 419 69 5.314 419 44 5.314 419 17 5.314 418 89 5.314 418 59 25 27 28 30 31 0.4124 0.4324 0.4524 0.4724 0.4924 200 200 200 200 200 1̄.698 966 1̄.698 966 1̄.698 966 1̄.698 966 1̄.698 966 0 0 0 0 1 1̄.935 1̄.955 1̄.975 1̄.995 0.015 20 20 20 20 20 3̄.90 5.314 418 28 Arg log α 4̄.4 5.314 425 13 1 3̄.5124 2000 4̄.5 4̄.6 4̄.7 4̄.8 4̄.9 5.314 425 12 5.314 425 12 5.314 425 11 5.314 425 09 5.314 425 06 0 1 2 3 4 3̄.7124 3̄.9124 2̄.1124 2̄.3124 2̄.5124 3̄.0 3̄.1 3̄.2 3̄.3 3̄.4 5.314 425 02 5.314 424 96 5.314 424 86 5.314 424 70 5.314 424 45 6 10 16 25 40 3̄.50 3̄.51 3̄.52 3̄.53 3̄.54 5.314 424 05 5.314 424 00 5.314 423 94 5.314 423 89 5.314 423 83 3̄.55 3̄.56 3̄.57 3̄.58 3̄.59 −∆ log β 0.5124 ∆ log γ ∆ log α′ 1̄.698 965 0.035 9 TABLES for computing geodesics 2. −∆ log β ′ ∆ 1̄.698 965 1̄.698 965 1̄.698 965 1̄.698 965 1̄.698 965 0 0 0 0 1 0.035 0.055 0.075 0.095 0.115 20 20 20 20 20 2000 2000 2000 1999 2000 1̄.698 964 1̄.698 964 1̄.698 964 1̄.698 963 1̄.698 963 0 0 1 0 0 0.135 0.155 0.175 0.195 0.215 20 20 20 20 20 0.712 34 0.732 34 0.752 34 0.772 34 0.792 34 2000 2000 2000 2000 2000 1̄.698 963 1̄.698 962 1̄.698 962 1̄.698 962 1̄.698 961 1 0 0 1 0 0.235 0.255 0.275 0.295 0.315 20 20 20 20 20 65 67 71 74 77 0.812 34 0.832 34 0.852 34 0.872 33 0.892 33 2000 2000 1999 2000 2000 1̄.698 961 1̄.698 960 1̄.698 960 1̄.698 960 1̄.698 959 1 0 0 1 0 0.335 0.355 0.375 0.395 0.415 20 20 20 20 20 5.314 407 93 5.314 407 12 5.314 406 27 5.314 405 38 5.314 404 45 81 85 89 93 98 0.912 33 0.932 33 0.952 33 0.972 33 0.992 32 2000 2000 2000 1999 2000 1̄.698 959 1̄.698 958 1̄.698 957 1̄.698 957 1̄.698 956 1 1 0 1 0 0.435 0.455 0.475 0.495 0.515 20 20 20 20 20 2̄.15 2̄.16 2̄.17 2̄.18 2̄.19 5.314 403 47 5.314 402 45 5.314 401 38 5.314 400 26 5.314 399 09 102 107 112 117 123 1.012 32 1.032 32 1.052 32 1.072 32 1.092 31 2000 2000 2000 1999 2000 1̄.698 956 1̄.698 955 1̄.698 954 1̄.698 953 1̄.698 953 1 1 1 0 1 0.535 0.555 0.575 0.595 0.615 20 20 20 20 20 2̄.20 2̄.21 2̄.22 2̄.23 2̄.24 5.314 397 86 5.314 396 58 5.314 395 23 5.314 393 82 5.314 392 35 128 135 141 147 155 1.112 31 1.132 31 1.152 31 1.172 30 1.192 30 2000 2000 1999 2000 2000 1̄.698 952 1̄.698 951 1̄.698 950 1̄.698 949 1̄.698 948 1 1 1 1 1 0.635 0.655 0.675 0.695 0.715 20 20 20 20 20 2̄.25 2̄.26 2̄.27 2̄.28 2̄.29 5.314 390 80 5.314 389 18 5.314 387 49 5.314 385 72 5.314 383 86 162 169 177 186 195 1.212 30 1.232 29 1.252 29 1.272 29 1.292 28 1999 2000 2000 1999 2000 4̄.207 4̄.247 4̄.287 4̄.327 4̄.367 40 40 40 40 40 1̄.698 947 1̄.698 946 1̄.698 945 1̄.698 944 1̄.698 942 1 1 1 2 1 0.735 0.755 0.775 0.795 0.815 20 20 20 20 20 2̄.30 2̄.31 2̄.32 2̄.33 2̄.34 5.314 381 91 5.314 379 88 5.314 377 75 5.314 375 51 5.314 373 17 203 213 224 234 244 1.312 28 1.332 27 1.352 27 1.372 27 1.392 26 1999 2000 2000 1999 2000 4̄.407 4̄.447 4̄.487 4̄.527 4̄.567 40 40 40 40 40 1̄.698 941 1̄.698 940 1̄.698 938 1̄.698 937 1̄.698 935 1 2 1 2 1 0.835 0.855 0.875 0.895 0.915 20 20 20 20 20 2̄.35 2̄.36 2̄.37 2̄.38 2̄.39 5.314 370 73 5.314 368 16 5.314 365 48 5.314 362 67 5.314 359 72 257 268 281 295 308 1.412 26 1.432 25 1.452 25 1.472 24 1.492 23 1999 2000 1999 1999 2000 4̄.607 4̄.647 4̄.687 4̄.727 4̄.767 40 40 40 40 40 1̄.698 934 1̄.698 932 1̄.698 930 1̄.698 928 1̄.698 926 2 2 2 2 2 0.935 0.955 0.975 0.995 1.015 20 20 20 20 20 2̄.40 5.314 356 64 Arg log α −∆ log β 3̄.90 3̄.91 3̄.92 3̄.93 3̄.94 5.314 418 28 5.314 417 96 5.314 417 62 5.314 417 27 5.314 416 90 32 34 35 37 39 0.512 35 0.532 35 0.552 35 0.572 35 0.592 35 2000 2000 2000 2000 2000 3̄.95 3̄.96 3̄.97 3̄.98 3̄.99 5.314 416 51 5.314 416 10 5.314 415 68 5.314 415 23 5.314 414 76 41 42 45 47 48 0.612 35 0.632 35 0.652 35 0.672 35 0.692 34 2̄.00 2̄.01 2̄.02 2̄.03 2̄.04 5.314 414 28 5.314 413 76 5.314 413 23 5.314 412 67 5.314 412 08 52 53 56 59 61 2̄.05 2̄.06 2̄.07 2̄.08 2̄.09 5.314 411 47 5.314 410 82 5.314 410 15 5.314 409 44 5.314 408 70 2̄.10 2̄.11 2̄.12 2̄.13 2̄.14 1.512 23 ∆ log γ 4̄.807 ∆ log α′ 1̄.698 924 1.035 10 TABLES for computing geodesics 3. ∆ log γ ∆ log α′ −∆ log β ′ ∆ 1.512 23 1.532 22 1.552 21 1.572 21 1.592 20 1999 1999 2000 1999 1999 4̄.807 4̄.847 4̄.887 4̄.927 4̄.967 40 40 40 40 40 1̄.698 924 1̄.698 922 1̄.698 920 1̄.698 918 1̄.698 915 2 2 2 3 2 1.035 1.055 1.075 1.095 1.115 20 20 20 20 20 406 425 446 466 489 1.612 19 1.632 18 1.652 18 1.672 17 1.692 16 1999 2000 1999 1999 1999 3̄.007 3̄.047 3̄.087 3̄.127 3̄.167 40 40 40 40 40 1̄.698 913 1̄.698 910 1̄.698 907 1̄.698 904 1̄.698 901 3 3 3 3 3 1.135 1.155 1.175 1.195 1.215 20 20 20 20 20 5.314 316 59 5.314 311 48 5.314 306 13 5.314 300 52 5.314 294 65 511 535 561 587 615 1.712 15 1.732 14 1.752 13 1.772 12 1.792 10 1999 1999 1999 1998 1999 3̄.207 3̄.247 3̄.287 3̄.327 3̄.367 40 40 40 40 40 1̄.698 898 1̄.698 894 1̄.698 891 1̄.698 887 1̄.698 883 4 3 4 4 4 1.235 1.255 1.275 1.295 1.315 20 20 20 20 20 2̄.55 2̄.56 2̄.57 2̄.58 2̄.59 5.314 288 50 5.314 282 06 5.314 275 32 5.314 268 27 5.314 260 88 644 674 705 739 774 1.812 09 1.832 08 1.852 07 1.872 05 1.892 04 1999 1999 1998 1999 1998 3̄.407 3̄.447 3̄.487 3̄.527 3̄.567 40 40 40 40 40 1̄.698 879 1̄.698 875 1̄.698 870 1̄.698 865 1̄.698 861 4 5 5 4 6 1.335 1.355 1.375 1.395 1.415 20 20 20 20 20 2̄.60 2̄.61 2̄.62 2̄.63 2̄.64 5.314 253 14 5.314 245 04 5.314 236 56 5.314 227 67 5.314 218 37 810 848 889 930 973 1.912 02 1.932 00 1.951 99 1.971 97 1.991 95 1998 1999 1998 1998 1998 3̄.607 3̄.646 3̄.686 3̄.726 3̄.766 39 40 40 40 40 1̄.698 855 1̄.698 850 1̄.698 844 1̄.698 838 1̄.698 832 5 6 6 6 6 1.435 1.455 1.475 1.495 1.515 20 20 20 20 20 2̄.65 2̄.66 2̄.67 2̄.68 2̄.69 5.314 208 64 5.314 198 44 5.314 187 76 5.314 176 58 5.314 164 88 1020 1068 1118 1170 1226 2.011 93 2.031 91 2.051 89 2.071 87 2.091 84 1998 1998 1998 1997 1998 3̄.806 3̄.846 3̄.886 3̄.926 3̄.966 40 40 40 40 40 1̄.698 826 1̄.698 819 1̄.698 812 1̄.698 804 1̄.698 797 7 7 8 7 9 1.535 1.555 1.575 1.595 1.615 20 20 20 20 20 2̄.70 2̄.71 2̄.72 2̄.73 2̄.74 5.314 152 62 5.314 139 79 5.314 126 35 5.314 112 29 5.314 097 56 1283 1344 1406 1473 1543 2.111 82 2.131 79 2.151 77 2.171 74 2.191 71 1997 1998 1997 1997 1997 2̄.006 2̄.046 2̄.086 2̄.126 2̄.166 40 40 40 40 40 1̄.698 788 1̄.698 780 1̄.698 771 1̄.698 762 1̄.698 752 8 9 9 10 11 1.635 1.654 1.674 1.694 1.714 19 20 20 20 20 2̄.75 2̄.76 2̄.77 2̄.78 2̄.79 5.314 082 13 5.314 065 98 5.314 049 08 5.314 031 37 5.314 012 84 1615 1690 1771 1853 1941 2.211 68 2.231 65 2.251 61 2.271 58 2.291 54 1997 1996 1997 1996 1996 2̄.206 2̄.246 2̄.286 2̄.326 2̄.366 40 40 40 40 39 1̄.698 741 1̄.698 731 1̄.698 719 1̄.698 708 1̄.698 695 10 12 11 13 13 1.734 1.754 1.774 1.794 1.814 20 20 20 20 20 2̄.800 2̄.805 2̄.810 2̄.815 2̄.820 5.313 993 43 5.313 983 39 5.313 973 11 5.313 962 60 5.313 951 84 1004 1028 1051 1076 1101 2.311 50 2.321 48 2.331 46 2.341 44 2.351 42 998 998 998 998 998 2̄.405 2̄.425 2̄.445 2̄.465 2̄.485 20 20 20 20 20 1̄.698 682 1̄.698 676 1̄.698 669 1̄.698 662 1̄.698 655 6 7 7 7 8 1.834 1.844 1.854 1.864 1.874 10 10 10 10 10 2̄.825 2̄.830 2̄.835 2̄.840 2̄.845 5.313 940 83 5.313 929 56 5.313 918 04 5.313 906 24 5.313 894 17 1127 1152 1180 1207 1234 2.361 40 2.371 37 2.381 35 2.391 33 2.401 30 997 998 998 997 998 2̄.505 2̄.525 2̄.545 2̄.565 2̄.585 20 20 20 20 20 1̄.698 647 1̄.698 640 1̄.698 632 1̄.698 624 1̄.698 616 7 8 8 8 8 1.884 1.894 1.904 1.914 1.924 10 10 10 10 10 2̄.850 5.313 881 83 Arg log α −∆ log β 2̄.40 2̄.41 2̄.42 2̄.43 2̄.44 5.314 356 64 5.314 353 41 5.314 350 03 5.314 346 50 5.314 342 79 323 338 353 371 388 2̄.45 2̄.46 2̄.47 2̄.48 2̄.49 5.314 338 91 5.314 334 85 5.314 330 60 5.314 326 14 5.314 321 48 2̄.50 2̄.51 2̄.52 2̄.53 2̄.54 2.411 28 2̄.605 1̄.698 608 1.934 11 TABLES for computing geodesics 4. ∆ log γ ∆ log α′ −∆ log β ′ ∆ 2.411 279 2.421 253 2.431 227 2.441 201 2.451 174 9974 9974 9974 9973 9972 2̄.605 2̄.625 2̄.645 2̄.665 2̄.685 20 20 20 20 20 1̄.698 608 1̄.698 600 1̄.698 591 1̄.698 582 1̄.698 573 8 9 9 9 9 1.934 1.944 1.954 1.964 1.974 10 10 10 10 10 1417 1450 1484 1518 1553 2.461 146 2.471 118 2.481 089 2.491 059 2.501 029 9972 9971 9970 9970 9969 2̄.705 2̄.725 2̄.745 2̄.765 2̄.785 20 20 20 20 19 1̄.698 564 1̄.698 554 1̄.698 545 1̄.698 535 1̄.698 525 10 9 10 10 11 1.984 1.994 2.004 2.014 2.023 10 10 10 9 10 5.313 741 43 5.313 725 53 5.313 709 27 5.313 692 63 5.313 675 61 1590 1626 1664 1702 1742 2.510 998 2.520 966 2.530 934 2.540 900 2.550 866 9968 9968 9966 9966 9965 2̄.804 2̄.824 2̄.844 2̄.864 2̄.884 20 20 20 20 20 1̄.698 514 1̄.698 504 1̄.698 493 1̄.698 482 1̄.698 471 10 11 11 11 12 2.033 2.043 2.053 2.063 2.073 10 10 10 10 10 2̄.925 2̄.930 2̄.935 2̄.940 2̄.945 5.313 658 19 5.313 640 36 5.313 622 12 5.313 603 46 5.313 584 37 1783 1824 1866 1909 1953 2.560 831 2.570 796 2.580 759 2.590 722 2.600 684 9965 9963 9963 9962 9961 2̄.904 2̄.924 2̄.944 2̄.964 2̄.984 20 20 20 20 20 1̄.698 459 1̄.698 447 1̄.698 435 1̄.698 423 1̄.698 410 12 12 12 13 13 2.083 2.093 2.103 2.113 2.123 10 10 10 10 10 2̄.950 2̄.955 2̄.960 2̄.965 2̄.970 5.313 564 84 5.313 544 85 5.313 524 40 5.313 503 47 5.313 482 06 1999 2045 2093 2141 2191 2.610 645 2.620 605 2.630 564 2.640 522 2.650 479 9960 9959 9958 9957 9956 1̄.004 1̄.024 1̄.044 1̄.064 1̄.083 20 20 20 19 20 1̄.698 397 1̄.698 384 1̄.698 370 1̄.698 356 1̄.698 342 13 14 14 14 15 2.133 2.143 2.153 2.163 2.173 10 10 10 10 10 2̄.975 2̄.980 2̄.985 2̄.990 2̄.995 5.313 460 15 5.313 437 74 5.313 414 81 5.313 391 34 5.313 367 34 2241 2293 2347 2400 2457 2.660 435 2.670 391 2.680 345 2.690 298 2.700 250 9956 9954 9953 9952 9951 1̄.103 1̄.123 1̄.143 1̄.163 1̄.183 20 20 20 20 20 1̄.698 327 1̄.698 312 1̄.698 297 1̄.698 281 1̄.698 266 15 15 16 15 17 2.183 2.193 2.203 2.212 2.222 10 10 9 10 10 1̄.000 1̄.005 1̄.010 1̄.015 1̄.020 5.313 342 77 5.313 317 64 5.313 291 93 5.313 265 62 5.313 238 71 2513 2571 2631 2691 2754 2.710 201 2.720 151 2.730 099 2.740 047 2.749 993 9950 9948 9948 9946 9945 1̄.203 1̄.223 1̄.243 1̄.263 1̄.282 20 20 20 19 20 1̄.698 249 1̄.698 232 1̄.698 215 1̄.698 198 1̄.698 180 17 17 17 18 18 2.232 2.242 2.252 2.262 2.272 10 10 10 10 10 1̄.025 1̄.030 1̄.035 1̄.040 1̄.045 5.313 211 17 5.313 182 99 5.313 154 16 5.313 124 67 5.313 094 49 2818 2883 2949 3018 3087 2.759 938 2.769 881 2.779 824 2.789 765 2.799 704 9943 9943 9941 9939 9939 1̄.302 1̄.322 1̄.342 1̄.362 1̄.382 20 20 20 20 20 1̄.698 162 1̄.698 143 1̄.698 124 1̄.698 104 1̄.698 084 19 19 20 20 20 2.282 2.292 2.302 2.312 2.322 10 10 10 10 10 1̄.050 1̄.055 1̄.060 1̄.065 1̄.070 5.313 063 62 5.313 032 03 5.312 999 71 5.312 966 65 5.312 932 82 3159 3232 3306 3383 3460 2.809 643 2.819 579 2.829 515 2.839 449 2.849 381 9936 9936 9934 9932 9931 1̄.402 1̄.422 1̄.442 1̄.461 1̄.481 20 20 19 20 20 1̄.698 064 1̄.698 043 1̄.698 021 1̄.697 999 1̄.697 977 21 22 22 22 23 2.332 2.342 2.351 2.361 2.371 10 9 10 10 10 1̄.075 1̄.080 1̄.085 1̄.090 1̄.095 5.312 898 22 5.312 862 81 5.312 826 58 5.312 789 52 5.312 751 61 3541 3623 3706 3791 3879 2.859 312 2.869 241 2.879 169 2.889 095 2.899 019 9929 9928 9926 9924 9922 1̄.501 1̄.521 1̄.541 1̄.561 1̄.581 20 20 20 20 19 1̄.697 954 1̄.697 930 1̄.697 906 1̄.697 881 1̄.697 856 24 24 25 25 26 2.381 2.391 2.401 2.411 2.421 10 10 10 10 10 1̄.100 5.312 712 82 Arg log α −∆ log β 2̄.850 2̄.855 2̄.860 2̄.865 2̄.870 5.313 881 83 5.313 869 19 5.313 856 26 5.313 843 03 5.313 829 50 1264 1293 1323 1353 1385 2̄.875 2̄.880 2̄.885 2̄.890 2̄.895 5.313 815 65 5.313 801 48 5.313 786 98 5.313 772 14 5.313 756 96 2̄.900 2̄.905 2̄.910 2̄.915 2̄.920 2.908 941 1̄.600 1̄.697 830 2.431 GEODESICS ON AN ELLIPSOID - BESSEL'S METHOD R. E. Deakin and M. N. Hunter School of Mathematical & Geospatial Sciences, RMIT University, GPO Box 2476V, MELBOURNE, Australia email: rod.deakin@rmit.edu.au 1st edition: January 2007 This edition with minor amendments: October 2009 ABSTRACT These notes provide a detailed derivation of the equations for computing the direct and inverse problems on the ellipsoid. These equations could be called Bessel's method and have a history dating back to F. W. Bessel's original paper on the topic titled: 'On the computation of geographical longitude and latitude from geodetic measurements', published in Astronomische Nachrichten (Astronomical Notes), Band 4 (Volume 4), Number 86, Speiten 241-254 (Columns 241-254), Altona 1826. The equations developed here are of a slightly different form than those presented by Bessel, but they lead directly to equations presented by Rainsford (1955) and Vincenty (1975) and the method of development closely follows that shown in Geometric Geodesy (Rapp, 1981). An understanding of the methods introduced in the following pages, in particular the evaluation of elliptic integrals by series expansion, will give the student an insight into other geodetic calculations. INTRODUCTION The direct and inverse problems on the ellipsoid are fundamental geodetic operations and can be likened to the equivalent operations of plane surveying; radiations (computing coordinates of points given bearings and distances radiating from a point of known coordinates) and joins (computing bearings and distances between points having known coordinates). In plane surveying, the coordinates are 2-Dimensional (2D) rectangular coordinates, usually designated East and North and the reference surface is a plane, either a local horizontal plane or a map projection plane. Geodesics – Bessel's method 1 In geodesy, the reference surface is an ellipsoid, the coordinates are latitudes and longitudes, directions are known as azimuths and distances are geodesic arc lengths. αAB C vertex • •α BA φmax B desic g eo b no r ma φA l O φB • a HA • H a B equator al • A n no rm Greenwich me rid ia N λA λB S Fig. 1: Geodesic curve on an ellipsoid The geodesic is a unique curve on the surface of an ellipsoid defining the shortest distance between two points. A geodesic will cut meridians of an ellipsoid at angles α , known as azimuths and measured clockwise from north 0º to 360 . Figure 1 shows a geodesic curve C between two points A (φA, λA ) and B (φB , λB ) on an ellipsoid. φ, λ are latitude and longitude respectively and an ellipsoid is taken to mean a surface of revolution created by rotating an ellipse about its minor axis, NS. The geodesic curve C of length s from A to B has a forward azimuth αAB measured at A and a reverse azimuth αBA measured at B. The direct problem on an ellipsoid is: given latitude and longitude of A and azimuth αAB and geodesic distance s, compute the latitude and longitude of B and the reverse azimuth αBA . The inverse problem is: given the latitudes and longitudes of A and B, compute the forward and reverse azimuths αAB , αBA and the geodesic distance s. Formula for computing geodesic distances and longitude differences between points connected by geodesic curves are derived from solutions of elliptic integrals and in Bessel's method, these elliptic integrals are solutions of equations connecting differential elements on the ellipsoid with corresponding elements on an auxiliary sphere. These integrals do not have direct solutions but instead are solved by expanding them into trigonometric series and integrating term-by-term. Hence the equations developed here are series-type Geodesics – Bessel's method 2 formula truncated at a certain number of terms that give millimetre precision for any length of line not exceeding 180º in longitude difference. These formulae were first developed by Bessel (1826) who gave examples of their use using 10-place logarithms. A similar development is given in Handbuch der Vermessungskunde (Handbook of Geodesy) by Jordan/Eggert/Kneissl, 1958. The British geodesist Hume Rainsford (1955) presented equations and computational methods for the direct and inverse problems that were applicable to machine computation of the mid 20th century. His formulae and iterative method for the inverse case were similar to Bessel's, although his equations contained different ellipsoid constants and geodesic curve parameters, but his equations for the direct case, different from Bessel's, were based on a direct technique given by G.T. McCaw (1932-33) which avoided iteration. For many years Rainsford's (and McCaw's) equations were the standard method of solving the direct and inverse problems on the ellipsoid when millimetre precision was required, even though they involved iteration and lengthy long-hand machine computation. In 1975, Thaddeus (Tom) Vincenty (1975-76), then working for the Geodetic Survey Squadron of the US Air Force, presented a set of compact nested equations that could be conveniently programmed on the then new electronic computers. His method and equations were based on Rainsford's inverse method combined with techniques developed by Professor Richard H. Rapp of the Ohio State University. Vincenty's equations for the direct and inverse problems on the ellipsoid have become a standard method of solution. Vincenty's method (following on from Rainsford and Bessel) is not the only method of solving the direct and inverse problems on the ellipsoid. There are other techniques; some involving elegant solutions to integrals using recurrence relationships, e.g., Pittman (1986) and others using numerical integration techniques, e.g., Kivioja (1971) and Jank & Kivioja (1980). In this paper, we present a development following Rapp (1981) and based on Bessel's method which yields Rainsford's equations for the inverse problem. We then show how Vincenty's equations are obtained and how they are used in practice. In addition, certain ellipsoid relationships are given, the mathematical definition of a geodesic is discussed and the characteristic equation of a geodesic derived. The characteristic equation of a geodesic is fundamental to all solutions of the direct and inverse problems on the ellipsoid. Geodesics – Bessel's method 3 SOME ELLIPSOID RELATIONSHIPS The size and shape of an ellipsoid is defined by one of three pairs of parameters: (i) a, b where a and b are the semi-major and semi-minor axes lengths of an ellipsoid respectively, or (ii) a, f where f is the flattening of an ellipsoid, or (iii) a, e 2 where e 2 is the square of the first eccentricity of an ellipsoid. The ellipsoid parameters a, b, f , e 2 are related by the following equations f = a −b b = 1− a a b = a (1 − f ) e2 = (2) a 2 − b2 b2 = − = f (2 − f ) 1 a2 a2 1 − e2 = (1) b2 2 = 1 − f (2 − f ) = (1 − f ) 2 a (3) (4) The second eccentricity e ′ of an ellipsoid is also of use and e ′2 = f (2 − f ) a 2 − b2 a2 e2 = − = = 1 2 2 2 2 b b 1 −e (1 − f ) (5) e ′2 1 + e ′2 (6) e2 = In Figure 1 the normals to the surface at A and B intersect the rotational axis of the ellipsoid (NS line) at H A and H B making angles φA , φB with the equatorial plane of the ellipsoid. These are the latitudes of A and B respectively. The longitudes λA , λB are the angles between the Greenwich meridian plane (a reference plane) and the meridian planes ONAH A and ONBH B containing the normals through A and B. φ and λ are curvilinear coordinates and meridians of longitude (curves of constant λ ) and parallels of latitude (curves of constant φ ) are parametric curves on the ellipsoidal surface. For a general point P on the surface of the ellipsoid (see Fig. 2), planes containing the normal to the ellipsoid intersect the surface creating elliptical sections known as normal sections. Amongst the infinite number of possible normal sections at a point, each having a certain radius of curvature, two are of interest: (i) the meridian section, containing the axis of revolution of the ellipsoid and having the least radius of curvature, denoted by ρ , and (ii) the prime vertical section, perpendicular to the meridian plane and having the greatest radius of curvature, denoted by ν . Geodesics – Bessel's method 4 ρ= a (1 − e 2 ) (1 − e 2 sin2 φ) ν= 3 2 a (1 − e sin φ) 2 2 1 2 a (1 − e 2 ) = (7) W3 = a W (8) W 2 = 1 − e 2 sin2 φ (9) The centres of the radii of curvature of the prime vertical sections at A and B are at H A and H B , where H A and H B are the intersections of the normals at A and B and the rotational axis, and νA = PH A , νB = PH B . The centres of the radii of curvature of the meridian sections at A and B lie on the normals between P and H A and P and H B . Alternative equations for the radii of curvature ρ and ν are given by ρ= ν= c = a2 b (1 + e ′2 cos2 φ) 3 2 a2 b (1 + e ′2 cos2 φ) 1 2 = c V3 (10) = c V (11) a2 a = 1− f b (12) V 2 = 1 + e ′2 cos2 φ (13) and c is the polar radius of curvature of the ellipsoid. The latitude functions W and V are related as follows W2 = V2 1 + e ′2 and W = V (1 + e ′ ) 2 1 2 b = V a (14) Points on the ellipsoidal surface have curvilinear coordinates φ, λ and Cartesian coordinates x,y,z where the x-z plane is the Greenwich meridian plane, the x-y plane is the equatorial plane and the y-z plane is a meridian plane 90º east of the Greenwich meridian plane. Cartesian and curvilinear coordinates are related by x = ν cos φ cos λ y = ν cos φ cos λ (15) z = ν (1 − e 2 ) sin φ Note that ν (1 − e 2 ) is the distance along the normal from a point on the surface to the point where the normal cuts the equatorial plane. Geodesics – Bessel's method 5 THE DIFFERENTIAL RECTANGLE ON THE ELLIPSOID The derivation of equations relating to the geodesic requires an understanding of the connection between differentially small quantities on the surface of the ellipsoid. These relationships can be derived from the differential rectangle, with diagonal PQ in Figure 2 which shows P and Q on an ellipsoid, having semi-major axis a, flattening f, separated by differential changes in latitude dφ and longitude dλ . P and Q are connected by a curve of length ds making an angle α (the azimuth) with the meridian through P. The meridians λ and λ + d λ , and the parallels φ and φ + d φ form a differential rectangle on the surface of the ellipsoid. The differential distances dp along the parallel φ and dm along the meridian λ are dp = w d λ = ν cos φ d λ (16) dm = ρ d φ (17) where ρ and ν are radii of curvature in the meridian and prime vertical planes respectively and w = ν cos φ is the perpendicular distance from the rotational axis. dλ meridian P • • φ w no rm φ a parallel al α + dα Q O ρ dφ α φ +d φ Q H • α ds P equator • ν cos φ d λ λ λ+ d λ φ + dφ λ φ λ+d λ Figure 2: Differential rectangle on the ellipsoid The differential distance ds is given by ds = dp 2 + dm 2 = Geodesics – Bessel's method ( ) ( 2 ν cos φ d λ + ρ d φ ) 2 (18) 6 and so ⎛d λ ⎞ ds = ν 2 cos2 φ ⎜⎜ ⎟⎟⎟ + ρ 2 ⎜⎝d φ ⎠⎟ dφ 2 ⎛d φ ⎞ ds = ν 2 cos2 φ + ρ 2 ⎜⎜ ⎟⎟⎟ ⎝d λ ⎠ dλ 2 or while sin α = ν cos φ dλ ds cos α = ρ and dφ ds (19) spa MATHEMATICAL DEFINITION OF A GEODESIC curve e s c x concepts associated with space curves and surfaces. A • Q space curve may be defined as the locus of the terminal r +δr z k A geodesic can be defined mathematically by considering points P of a position vector r (t ) defined by a single r i P • C δr scalar parameter t, r (t ) = x (t ) i + y (t ) j + z (t ) k j y (20) i, j, k are fixed unit Cartesian vectors in the directions of the x,y,z coordinate axes. As the parameter t varies the Figure 3: Space curve C terminal point P of the vector sweeps out the space curve C. Let s be the arc-length of C measured from some convenient point on C, so that ⎛dx ⎞ ⎛dy ⎞ ⎛dz ⎞ ds = ⎜⎜ ⎟⎟⎟ + ⎜⎜ ⎟⎟⎟ + ⎜⎜ ⎟⎟⎟ or s = ⎝ dt ⎠ ⎝ dt ⎠ ⎝ dt ⎠ dt 2 2 2 ∫ dr dr • dt . Hence s is a function of t and x,y,z are dt dt functions of s. Let Q, a small distance δs along the curve from P, have a position vector δr δs . Both when δs is positive or negative r + δ r . Then δ r = PQ and δ r δs dr approximates to a unit vector in the direction of s increasing and is a tangent vector of ds unit length denoted by t̂ ; hence ˆt = dr = dx i + dy j + dz k ds ds ds ds (21) Since t̂ is a unit vector then ˆt • ˆt = 1 and differentiating with respect to s leads to ˆ ˆ ˆt • dt = 0 from which we deduce that dt is orthogonal to t̂ and write ds ds dˆt ˆ, = κn ds Geodesics – Bessel's method κ>0 (22) 7 dˆt is called the curvature vector k, n̂ is a unit vector called the principal normal vector, ds 1 κ the curvature and = ρ is the radius of curvature. The circle through P, tangent to t̂ κ dˆt ˆ• = κ ; i.e., n̂ is the unit with this radius ρ is called the osculating circle. Also n ds vector in the direction of k. Let b̂ be a third unit vector defined by the vector cross product ˆ = ˆt × n ˆ b (23) ˆ and n ˆ form a right-handed triad. Differentiating equation (23) with respect to s thus ˆt, b gives ˆ d ˆ ˆ ˆ dn ˆ db dˆt dn dn ˆ) = × n ˆ + ˆt × ˆ×n ˆ + ˆt × = (ˆt × n = κn = t× ds ds ds ds ds ds then ˆ ˆ ⎟⎞ dn ˆ ˆ ˆ ˆt • db = ˆt • ⎛⎜ˆt × dn = • (t × t) = 0 ⎟ ⎜ ⎟ ⎝ ds ⎠ ds ds ˆ ˆ ˆ db ˆ•b ˆ = 1 it follows that b ˆ • db = 0 so that db is is orthogonal to t̂ . But from b ds ds ds ˆ db orthogonal to b̂ and so is in the plane containing t̂ and n̂ . Since is in the plane of t̂ ds ˆ db is opposite n̂ and n̂ and is orthogonal to t̂ , it must be parallel to n̂ . The direction of ds ˆ db × ˆt is in the direction of b̂ . Hence as it must be to ensure the cross product ds so that ˆ db ˆ, = −τ n ds τ>0 (24) 1 the radius of torsion. t̂ , n̂ and τ b̂ form a right-handed set of orthogonal unit vectors along a space curve. We call b̂ the unit binormal vector, τ the torsion, and The plane containing t̂ and n̂ is the osculating plane, the plane containing n̂ and b̂ is the normal plane and the plane containing t̂ and b̂ is the rectifying plane. Figure 4 shows these orthogonal unit vectors for a space curve. Geodesics – Bessel's method 8 osculating plane rectifying plane z k x i b P ^ t ^ n r j normal plane ^ y Figure 4: The tangent t̂ , principal normal n̂ and binormal b̂ to a space curve ˆ × ˆt and the derivative with respect to s is ˆ=b Also n ˆ ˆ ˆ d ˆ ˆ dn db ˆ × dt = −τ n ˆ × κn ˆ − κˆt ˆ × ˆt + b ˆ = τb = (b × t) = × ˆt + b ds ds ds ds (25) Equations (22), (24) and (25) are known as the Frenet-Serret formulae. dˆt ˆ = κn ds ˆ db ˆ = −τ n ds ˆ dn ˆ − κˆt = τb ds (26) These formulae, derived independently by the French mathematicians Jean-Frédéric Frenet (1816–1900) and Joseph Alfred Serret (1819–1885) describe the dynamics of a point moving along a continuous and differentiable curve in three-dimensional space. Frenet derived these formulae in his doctoral thesis at the University of Toulouse; the latter part of which was published as 'Sur quelques propriétés des courbes à double courbure', (Some properties of curves with double curvature) in the Journal de mathématiques pures et appliqués (Journal of pure and applied mathematics), Vol. 17, pp.437-447, 1852. Frenet also explained their use in a paper titled 'Théorèmes sur les courbes gauches' (Theorems on awkward curves) published in 1853. Serret presented an independent derivation of the same formulae in 'Sur quelques formules relatives à la théorie des courbes à double courbure' (Some formulas relating to the theory of curves with double curvature) published in the J. de Math. Vol. 16, pp.241-254, 1851 (DSB 1971). Geodesics – Bessel's method 9 A geodesic may be defined in the following manner: A curve drawn on a surface so that its osculating plane at any point contains the normal to the surface at the point is a geodesic. It follows that the principal normal at any point on the curve is the normal to the surface and the geodesic is the shortest distance between two points on a surface. osculating plane normal section plane ^ t ^ b S P • Q' A C CN Q B ξ ^ N ^ n Figure 5: The osculating plane of a geodesic To understand that the geodesic is the shortest path on a surface requires the use of Meusnier's theorem, a fundamental theorem on the nature of surfaces. Jean-BaptisteMarie-Charles Meusnier de la Place (1754 - 1793) was a French mathematician who, in a paper titled Mémoire sur la corbure des surfaces (Memoir on the curvature of surfaces), read at the Paris Academy of Sciences in 1776 and published in 1785, derived his theorem on the curvature, at a point of a surface, of plane sections with a common tangent (DSB 1971). His theorem can be stated as: Between the radius ρ of the osculating circle of a plane slice C and the radius ρN of the osculating circle of a normal slice C N , where both slices have the same tangent at P, there exists the relation ρ = ρN cos ξ where ξ is the angle between the unit principal normals n̂ and N̂ to curves C and C N at P. Geodesics – Bessel's method 10 In Figure 5, an infinitesimal arc PQ of a geodesic coincides with the section of the surface S by a plane containing t̂ and N̂ where N̂ is a unit vector normal to the surface at P. This plane is a normal section plane through P and by Meusnier's theorem, the geodesic arc PQ is the arc of least curvature through P and Q; or the shortest distance on the surface between two adjacent points P and Q is along the geodesic through the points. In Figure 5, curve C (the arc APB) will have a smaller radius of curvature at P than curve C N the normal section arc Q'PQ. THE CHARACTERISTIC EQUATION OF A GEODESIC USING DIRECTION COSINES z r 3 = r cos γ γ 1• α 2 r β • r r 2 = r cos β y x r 1 = r cos α Figure 6: Direction cosines The characteristic equation of a geodesic can be derived from relationships between the direction cosines of the principal normal to a curve and the normal to the surface. In Figure 6, r = r1 i + r2 j + r3 k is a vector between two points in space having a magnitude r r r r r = r12 + r22 + r32 . ˆr = = 1 i + 2 j + 3 k is a unit vector and the scalar components r r r r r1 r2 r3 = cos α , = cos β and = cos γ . l = cos α , m = cos β and n = cos γ are known as r r r direction cosines and the unit vector can be expressed as ˆr = l i + m j + n k . From equations (20) and (22) we may write the unit principal normal vector n̂ of a curve C as ˆ= n 1 d 2 r x ′′ y ′′ z ′′ = i+ j + k = ρ x ′′ i + ρ y ′′ j + ρ z ′′ k 2 κ ds κ κ κ Geodesics – Bessel's method (27) 11 dx d 2x 1 ′ ′′ and x = 2 are first and second derivatives with respect to arc where ρ = . x = κ ds ds length respectively and similarly for y ′, z ′, y ′′, z ′′ . ˆ = N 1 i + N 2 j + N 3 k where N , N , N are The unit normal N̂ to the ellipsoid surface is N 1 2 3 ν ν ν N1 = cos α , the Cartesian components of the normal vector PH and ν is the magnitude. ν N2 N = cos β and 3 = cos γ are the direction cosines l, m and n. Note that the direction ν ν of the unit normal to the ellipsoid is towards the centre of curvature of normal sections passing through P. z Greenwich m erid ia n λ x ^ O • P no rm a ν l N y φ H• equator Figure 7: The unit normal N̂ to the ellipsoid The unit normal N̂ to the ellipsoid surface is given by ˆ = ⎛⎜ −x ⎟⎟⎞ i + ⎛⎜ −y ⎞⎟ j + ⎛⎜ −ν sin φ ⎞⎟⎟ k N ⎜⎝ ν ⎜⎝ ν ⎠ ⎝⎜ ν ⎠⎟ ⎠⎟ (28) To ensure that the curve C is a geodesic, i.e., the unit principal normal n̂ to the curve must be coincident with the unit normal N̂ to the surface, the coefficients in equations (27) and (28) must be equal, thus −x = ρ x ′′ ; ν −y = ρ y ′′ ; ν −ν sin φ = ρ z ′′ ν This leads to ρ x ′′ ρ y ′′ ρ z ′′ = y = xν ν sin φ ν ν Geodesics – Bessel's method (29) 12 From the first two equations of (29) we have ρ x ′′ ν ν = ρ y ′′ giving the second-order x y differential equation (provided ρν ≠ 0 ) xy ′′ − yx ′′ = 0 which can be written as d (xy ′ − yx ′) = 0 and so a first integral is ds xy ′ − yx ′ = C (30) where C is an arbitrary constant. Now, from equations (15), x and y are functions of φ and λ , and the chain rule gives ∂x d φ ∂x d λ + ∂φ ds ∂λ ds ∂y d φ ∂y d λ y′ = + ∂φ ds ∂λ ds x′ = (31) Differentiating the first two equations of (15) with respect to φ , bearing in mind that ν is a function of φ gives ∂x dν = −ν sin φ cos λ + cos φ cos λ ∂φ dφ = −ν sin φ cos λ + cos φ cos λ ae 2 sin φ cos φ (1 − e 2 sin2 φ) 3 2 Using equation (8) and simplifying yields ∂x = −ρ sin φ cos λ ∂φ Similarly ∂y dν = −ν sin φ sin λ + cos φ sin λ = −ρ sin φ sin λ ∂φ dφ Placing these results, together with the derivatives ∂x ∂y and into equations (31) gives ∂λ ∂λ dφ dλ − ν cos φ sin λ ds ds dφ dλ + ν cos φ cos λ y ′ = −ρ sin φ sin λ ds ds x ′ = −ρ sin φ cos λ These values of x ′ and y ′ together with x and y from equations (15) substituted into equation (30) gives ν 2 cos2 φ Geodesics – Bessel's method dλ =C ds (32) 13 which can be re-arranged to give an expression for the differential distance ds ds = ν 2 cos2 φ dλ C ds is also given by equation (18) and equating the two and simplifying gives the differential equation of the geodesic (Thomas 1952) C 2ρ 2d φ 2 + ν 2 cos2 φ (C 2 − ν 2 cos2 φ )d λ 2 = 0 (33) dλ and substituting into equation (32) gives the ds characteristic equation of the geodesic on the ellipsoid From equation (19), sin α = ν cos φ ν cos φ sin α = C (34) Equation (34) is also known as Clairaut's equation in honour of the French mathematical physicist Alexis-Claude Clairaut (1713-1765). In a paper in 1733 titled Détermination géométrique de la perpendiculaire à la méridienne, tracée par M. Cassini, avec plusieurs methods d’en tirer la grandeur et la figure de la terre (Geometric determination of the perpendicular to the meridian, traced by Mr. Cassini, … on the figure of the Earth.) Clairaut made an elegant study of the geodesics of quadrics of rotation. It included the property already pointed out by Johann Bernoulli: the osculating plane of the geodesic is normal to the surface (DSB 1971). The characteristic equation of a geodesic shows that the geodesic on the ellipsoid has the intrinsic property that at any point, the product of the radius w of the parallel of latitude and the sine of the azimuth of the geodesic at that point is a constant. This means that as w = ν cos φ decreases in higher latitudes, in both the northern and southern hemispheres, sin α increases until it reaches a maximum or minimum of ±1 , noting that the azimuth of a geodesic at a point will vary between 0° and 180° if the point is moving along a geodesic in an easterly direction or between 180° and 360° if the point is moving along a geodesic in a westerly direction. At the point when sin α = ±1 , which is known as the vertex, w is a minimum and the latitude φ will be a maximum value φ0 , known as the geodetic latitude of the vertex. Thus the geodesic oscillates over the surface of the ellipsoid between two parallels of latitude having a maximum in the northern and southern hemispheres and crossing the equator at nodes; but as we will demonstrate later, due to the eccentricity of the ellipsoid the geodesic will not repeat after a complete cycle. Geodesics – Bessel's method 14 vertex • vertex • • node node • • vertex node • Figure 8a Figure 8b Figure 8c Figure 8: A single cycle of a geodesic on the Earth Figures 8a, 8b and 8c show a single cycle of a geodesic on the Earth. This particular geodesic reaches maximum latitudes of approximately ±45º and has an azimuth of approximately 45º as it crosses the equator at longitude 0º. Figure 9 shows a schematic representation of the oscillation of a geodesic on an ellipsoid. P is a point on a geodesic that crosses the equator at A, heading in a north-easterly direction reaching a maximum northerly latitude φmax at the vertex P0 (north), then descends in a south-easterly direction crossing the equator at B, reaching a maximum southerly latitude φmin at P0 (south), then ascends in a north-easterly direction crossing the equator again at A'. This is one complete cycle of the geodesic, but λA′ does not equal λA due to the eccentricity of the ellipsoid, hence we say that the geodesic curve does not repeat after a complete cycle. P0 vertex • φmax P φ A node • • λ node B • φmin equator node • A' • A vertex Figure 9: Schematic representation of the oscillation of a geodesic on an ellipsoid Geodesics – Bessel's method 15 RELATIONSHIPS BETWEEN PARAMETRIC LATITUDE ψ AND GEODETIC LATITUDE φ The development of formulae is simplified if parametric latitude ψ is used rather than geodetic latitude φ . The connection between the two latitudes can be obtained from the following relationships. ellipsoid having semi-major axis OE = a and semiminor axis ON = b . P is a point on the ellipsoid and P ′ is a point on an auxiliary circle centred on O of radius a. P and P ′ have the same perpendicular z b distance w from the axis of revolution ON. The normal to the ellipsoid at P cuts the major axis at an angle φ (the geodetic latitude) and intersects the rotational axis at H. The distance PH = ν . The auxiliary circle N' N P' • • w P a no ν rm al Figure 10 shows a portion of a meridian NPE of an O ψ φ a tan ge nt M E w H• angle P ′OE = ψ is the parametric latitude Figure 10: Meridian section of ellipsoid The Cartesian equation of the ellipse and the w2 z2 + 2 = 1 and w 2 + z 2 = a 2 respectively. Now, since a2 b a2 the w-coordinate of P and P ′ are the same then a 2 − 2 z P2 = w P2 = wP2 ′ = a 2 − z P2 ′ which b b leads to z P = z P ′ . Using this relationship a auxiliary circle of Figure 10 are w = OM = a cos ψ z = MP = b sin ψ Note that writing equations (35) as gives (35) w z = cos ψ and = sin ψ then squaring and adding a b w2 z2 + 2 = cos2 ψ + sin 2 ψ = 1 which is the Cartesian equation of an ellipse. 2 a b From Figure 10 w = ν cos φ = a cos ψ (36) and from the third of equations (15) z = ν (1 − e 2 ) sin φ , hence using equations (35) we may write Geodesics – Bessel's method 16 w = a cos ψ = ν cos φ (37) z = b sin ψ = ν (1 − e 2 ) sin φ from which the following ratios are obtained z b = tan ψ = (1 − e 2 ) tan φ w a Since e 2 = a 2 − b2 b2 b2 2 = − then 1 1 − e = and we may define parametric latitude ψ by a2 a2 a2 tan ψ = 1 b tan φ = (1 − e 2 )2 tan φ = (1 − f ) tan φ a (38) Alternatively, using equations (36) and (8) we may define the parametric latitude ψ by cos ψ = cos φ (39) 1 2 (1 − e 2 sin2 φ) or equivalently by sin φ = sin ψ (40) 1 2 (1 − e 2 cos2 ψ) These three relationships are useful in the derivation of formulae for geodesic distance and longitude difference that follow. THE LATITUDES φ0 AND ψ0 OF THE GEODESIC VERTEX Now Clairaut's equation (34) is ν cos φ sin α = constant = C , where ν = a 1 (1 − e 2 sin2 φ)2 . The term ν cos φ will be a minimum (and the latitude φ will be a maximum in the northern and southern hemispheres) when sin α is a maximum of 1, and this occurs when α = 90 or 270 . This point is known as the geodesic vertex. Let ν 0 cos φ0 be this smallest value, then ν 0 cos φ0 = C = ν cos φ sin α (41) φ0 is called the maximum geodetic latitude and the value of ψ corresponding to φ0 is called the maximum parametric latitude and is denoted by ψ0 . Using this correspondence and equations (36) and (41) gives a cos ψ0 = ν cos φ sin α = a cos ψ sin α Geodesics – Bessel's method (42) 17 From this we may define the parametric latitude of the vertex ψ0 as cos ψ0 = cos ψ sin α (43) and the azimuth α of the geodesic as cos α = cos2 ψ − cos2 ψ0 cos ψ (44) From equation (43) we see that if the azimuth α of a geodesic is known at a point P having parametric latitude ψ , the parametric latitude ψ0 of the vertex P0 can be computed. Conversely, given ψ and ψ0 of points P and P0 the azimuth of the geodesic between them may be computed from equation (44). THE ELLIPSOID, THE AUXILIARY SPHERE AND THE DIFFERENTIAL EQUATIONS The derivation of Bessel's formulae (or Rainsford's and Vincenty's equations) begins by developing relationships between the ellipsoid and a sphere. The sphere is an auxiliary surface and not an approximation of the ellipsoid; its radius therefore is immaterial and can be taken to be 1 (unit radius). 90°− ψ2 N α2 node vertex A = 90° A2 • 90° α 1 s •P sic 2 de o e P'1 AE • λ1 90°− ψ0 90°− ψ 1 node λ 2 equator • g • g P1 αE vertex α = 90° N' A1 σ • P' sic 2 de o e H • c i r t c a l e) ( gre • E ω 1 ω2 equator ellipsoid auxiliary sphere S Figure 11a: The geodesic passing through Figure 11b: The great circle passing through P1 and P2 on the ellipsoid. P' on the auxiliary sphere. 2 1 and P' Geodesics – Bessel's method 18 Figure 11a shows a geodesic passing through P1 and P2 on an ellipsoid. The geodesic has azimuths αE where it crosses the equator (a node), α1 and α2 at P1 and P2 respectively and reaches a maximum latitude at the vertex where its azimuth is α = 90 . The length of the geodesic between P1 and P2 is s and the longitudes of P1 and P2 are λ1 and λ2 . Using equation (43) we may write cos ψ1 sin α1 = cos ψ2 sin α2 = cos ψ0 (45) Figure 11b shows P1′ and P2′ on an auxiliary sphere (of unit radius) where latitudes on this sphere are defined to be equal to parametric latitudes on the ellipsoid. The geodesic, a great circle on a sphere, passing through P1′ and P2′ has azimuths AE at the equator E, A1 and A2 at P1′ and P2′ respectively and A = 90 at the vertex H. The length of the great circle between P1′ and P2′ is σ and the longitudes of P1′ and P2′ are ω1 and ω2 . Again, using equation (43), which holds for all geodesics (or great circles on auxiliary spheres) we may write cos ψ1 sin A1 = cos ψ2 sin A2 = cos ψ0 (46) Now, since parametric latitudes are defined to be equal on the auxiliary sphere and the ellipsoid, equations (45) and (46) show that on these two surfaces A = α , i.e., azimuths of great circles on the auxiliary sphere are equal to azimuths of geodesics on the ellipsoid. Now, consider the differential rectangle on the ellipsoid and sphere shown in Figures 12a and 12b below α • φ + dφ ds • ν cos φ d λ λ α + dα dψ ρ dφ α + dα cos ψ dω ω λ +d λ ψ+ d ψ dσ • φ Figure 12a: Differential rectangle on ellipsoid α • ψ ω+ d ω Figure 12b: Differential rectangle on sphere We have for the ellipsoid [see Figure 2 and equations (19)] ds cos α = ρ d φ ds sin α = ν cos φ d λ Geodesics – Bessel's method (47) 19 and for the sphere d σ cos α = d ψ (48) d σ sin α = cos ψ d ω Dividing equations (47) by equations (48) gives ρ dφ ds cos α = ; d σ cos α dψ ν cos φ d λ ds sin α = d σ sin α cos ψ d ω and noting from equation (36) that ν cos φ = a cos ψ , then cancelling terms gives ds dφ dλ =ρ =a dσ dψ dω (49) We may write these equations as two separate relationships ds dφ =ρ dσ dψ (50) dλ 1 ds = d ω a dσ (51) dφ then we may develop two relatively simple dψ ds (s ellipsoid and σ sphere) and the other differential equations; one involving distance dσ dλ ( λ ellipsoid and ω sphere). Integration yields equations that will involving longitude dω enable us to compute geodesic lengths s on the ellipsoid given great circle distances σ on and if we can obtain an expression for an auxiliary sphere, and equations to compute longitude differences Δλ on the ellipsoid given longitude differences Δω on the auxiliary sphere. An expression for dφ can be determined as follows. dψ From equation (38) we have 1 tan ψ = (1 − e 2 )2 tan φ and differentiating with respect to ψ gives { } 1 d d dφ (tan ψ ) = (1 − e 2 )2 tan φ dψ dφ dψ sec2 ψ = (1 − e 2 )2 sec2 φ 1 and Geodesics – Bessel's method dφ dψ 20 1 cos2 φ dφ = 1 d ψ (1 − e 2 )2 cos2 ψ giving (52) Substituting equation (52) into equation (50) gives cos2 φ ρ ds = 1 d σ (1 − e 2 )2 cos2 ψ (53) and substituting equation (53) into equation (51) gives cos2 φ ρ dλ = 1 d ω a (1 − e 2 )2 cos2 ψ (54) Now from equation (36) we may write a cos φ = ν cos ψ a2 cos2 φ = 2 ν cos2 ψ and and using the relationships given in equations (4), (10), (11) and (12) we may write cos2 φ a2 b 2V 2 = = ; a2 ν2 cos2 ψ ρ (1 − e 2 ) 1 2 = c a a3 = ; V 3 b b 2V 3 ρ a (1 − e 2 )2 1 = a2 b 2V 3 (55) Substituting these results into equations (53) and (54) gives and ds a = dσ V (56) dλ 1 = dω V (57) Now from equation (13) we may write V 2 = 1 + e ′2 cos2 φ and also from equation (55) we may write cos2 φ = b 2V 2 cos2 ψ . Using these gives a2 V = 1 + e ′2 2 b 2V 2 cos2 ψ 2 a Now using equations (4) and (5) gives e2 1 − e 2 )V 2 cos2 ψ V =1+ 2 ( 1 −e = 1 + e 2V 2 cos2 ψ 2 and V 2 (1 − e 2 cos2 ψ) = 1 from which we obtain V = Geodesics – Bessel's method 1 (1 − e 2 1 cos2 ψ)2 (58) 21 Substituting equation (58) into equations (56) and (57) gives 1 ds = a (1 − e 2 cos2 ψ)2 dσ (59) 1 dλ = (1 − e 2 cos2 ψ)2 dω (60) and Equations (59) and (60) are the two differential equations from which we obtain distance s and longitude difference ω − λ . FORMULA FOR COMPUTATION OF GEODESIC DISTANCE s N' 1 ψ 90° 90°− σ ψ0 90°− ψ2 °− 90 α1 P'2 vertex α = 90° esic geod − σ1 90° α2 • • H σ1 P'1 • αE node • E ω1 ω2 equator auxiliary sphere Figure 13: Geodesic on auxiliary sphere Figure 13 shows P1′ and P2′ on an auxiliary sphere (of unit radius) where latitudes on this sphere are defined to be equal to parametric latitudes on the ellipsoid. The geodesic, a great circle on a sphere, passing through P1′ and P2′ has azimuths αE at the equator E, α1 at P1′ , α2 at P2′ and α = 90 at the vertex H. Geodesics – Bessel's method 22 Note here that we have shown previously that for our auxiliary sphere, the azimuth of a great circle on the sphere is equal to the azimuth of the geodesic on the ellipsoid. The length of the great circle arc between P1′ and P2′ is σ and the longitudes of P1′ and P2′ are ω1 and ω2 . Also note that σ1 and σ2 are angular distances along the great circle from the node E to P1′ and E to P2′ respectively and the angular distance from E to the vertex H is 90º. ψ1 , ψ2 and ψ0 are the parametric latitudes of P1 , P2 and the vertex respectively, and they are also the latitudes of P1′ , P2′ and the vertex H on the auxiliary sphere. N' From the spherical triangle P1′N ′ H with the right- °− 90 angle at H, using the sine rule (for spherical sin α1 1 = cos ψ0 cos ψ1 so sin α1 cos ψ1 = cos ψ0 1 90°− ψ sin (90 ) sin α1 = sin (90 − ψ0 ) sin (90 − ψ1 ) or ψ0 trigonometry) H − σ1 90° α1 (61) P'1 • Note that equation (61) can also be obtained from equation (43) and at the equator where ψ = 90 and cos ψ = 1 we have sin αE = cos ψ0 (62) Using Napier's Rules for circular parts in the right-angled spherical triangle P1′N ′ H sin (mid-part) = product of tan (adjacent-parts) 90°− ( 90°− ψ1 ) 90°− ψ0 sin (90 − α1 ) = tan ψ1 tan (90 − σ1 ) ψ1 cos α1 = tan ψ1 cot σ1 90°− σ1 = 90°− α1 tan ψ1 tan σ1 and tan σ1 = Geodesics – Bessel's method tan ψ1 cos α1 (63) 23 Using Napier's Rules for circular parts in the right-angled spherical triangle P2′ N ′ H P'2 α2 • σ) (σ 1 + − ° 90 • 90°− ψ0 90°− ( 90°− ψ 2 ) ψ0 90° − °− 90 ψ2 N' ψ2 90°− α 2 H 90°− (σ 1 + σ ) sin (mid-part) = product of cos (opposite-parts) sin ψ2 = cos (90 − (σ1 + σ )) cos (90 − ψ0 ) sin ψ2 = sin (σ1 + σ ) sin ψ0 Note: (64) The subscript 2 can be dropped and we can just refer to a general point P' and the distance from P1′ to P' is σ , hence sin ψ = sin (σ1 + σ ) sin ψ0 (65) Referring to equations (59) and (60), we need to develop an expression for cos2 ψ . This can be achieved in the following manner. Squaring both sides of equation (65) and using the trigonometric identity sin2 ψ + cos2 ψ = 1 we have sin2 ψ = 1 − cos2 ψ = sin2 (σ1 + σ ) sin2 ψ0 so that cos2 ψ = 1 − sin2 (σ1 + σ ) sin2 ψ0 (66) x = σ1 + σ (67) cos2 ψ = 1 − sin2 x sin2 ψ0 (68) Let and equation (66) becomes We may now write equation (59) with dx = d σ since σ1 is constant, as ds = a (1 − e 2 cos2 ψ)2 d σ 1 2 = a (1 − e 2 ⎡⎣1 − sin2 x sin2 ψ0 ⎤⎦ ) dx 1 1 = a (1 − e 2 + e 2 sin2 x sin2 ψ0 )2 dx Geodesics – Bessel's method 24 Now using equations (4), (5) and (6) 1 2 ⎛ 1 e ′2 2 2 ⎟⎞⎟ dx + ψ sin sin ds = a ⎜⎜ x 0⎟ ⎝⎜1 + e ′2 1 + e ′2 ⎠ 1 a ′2 sin2 x sin2 ψ0 )2 dx = 1 (1 + e (1 + e ′2 )2 1 = b (1 + e ′2 sin2 x sin2 ψ0 )2 dx Now, since e ′2 is a constant for the ellipsoid and ψ0 is a constant for a particular geodesic we may write u 2 = e ′2 sin2 ψ0 = e ′2 cos2 αE (69) where αE is the azimuth of the geodesic at the node or equator crossing, and ds = b (1 + u 2 sin2 x )2 dx 1 (70) The length of the geodesic arc s between P1 and P2 is found by integration as x =σ1 +σ s =b 2 2 ∫ (1 + u sin x ) 1 2 dx (71) x =σ1 where the integration terminals are x = σ1 and x = σ1 + σ remembering that at P1′ , σ = 0 and x = σ1 , and at P2′ , x = σ1 + σ . Equation (71) is an elliptic integral and does not have a simple closed-form solution. 1 However, the integrand (1 + u 2 sin2 x )2 can be expanded in a series and then evaluated by term-by-term integration. The integrand in equation (71) can be expanded by use of the binomial series ∞ (1 + x ) = ∑ Bnβ x n β (72) n =0 An infinite series where n is a positive integer, β is any real number and the binomial coefficients Bnβ are given by Bnβ = β (β − 1)(β − 2)(β − 3) n! (β − n + 1) (73) The binomial series (72) is convergent when −1 < x < 1 . In equation (73) n! denotes nfactorial and n ! = n (n − 1)(n − 2)(n − 3) 3 ⋅ 2 ⋅ 1 . zero-factorial is defined as 0 ! = 1 and the binomial coefficient B0β = 1 . Geodesics – Bessel's method 25 In the case where β is a positive integer, say k, the binomial series (72) can be expressed as the finite sum k (1 + x ) = ∑ Bnk x n k (74) n =0 where the binomial coefficients Bnk in series (74) are given by Bnk = k! n ! (k − n ) ! (75) 1 The binomial coefficients Bn2 for the series (72) are given by equation (73) with the following results for n = 0, 1, 2 and 3 1 n=0 B02 = 1 n =1 B12 = n=2 B22 = n=3 B32 = 1 1 1 1 2 ( 21 )(− 21 ) 2! =− ( 21 )(− 21 )(− 23 ) 3! 1 8 = 1 16 1 Inspecting the results above, we can see that the binomial coefficients Bn2 form a sequence 1, 1 1⋅1 1⋅1⋅ 3 1⋅1⋅ 3 ⋅ 5 1⋅1⋅ 3 ⋅ 5 ⋅ 7 1⋅ 1⋅ 3 ⋅ 5 ⋅ 7 ⋅ 9 , − , , − , , − , 2 2⋅4 2⋅4⋅6 2 ⋅ 4 ⋅ 6 ⋅ 8 2 ⋅ 4 ⋅ 6 ⋅ 8 ⋅ 10 2 ⋅ 4 ⋅ 6 ⋅ 8 ⋅ 10 ⋅ 12 Using these results (1 + u 2 sin2 x ) 1 2 1 1⋅1 4 1⋅1⋅ 3 6 = 1 + u 2 sin2 x − u sin 4 x + u sin6 x 2 2⋅4 2⋅4⋅6 1⋅1⋅ 3 ⋅ 5 8 1 ⋅ 1 ⋅ 3 ⋅ 5 ⋅ 7 10 10 u sin 8 x + u sin x + − 2⋅4⋅6⋅8 2 ⋅ 4 ⋅ 6 ⋅ 8 ⋅ 10 (76) To simplify this expression, and make the eventual integration easier, the powers of sin x can be expressed in terms of multiple angles using the standard form 1 sin x = 2n 2 2n ⎛2n ⎞⎟ (−1)n ⎜ ⎟ ⎜⎜⎜⎝ n ⎟⎟⎠ + 22n −1 ⎛2n ⎞⎟ ⎛2n ⎞⎟ ⎪⎧⎪ ⎜ ⎜ ⎨cos 2nx − ⎜⎜ ⎟⎟⎟ cos (2n − 2) x + ⎜⎜ ⎟⎟⎟ cos (2n − 4) x ⎪⎪ ⎜⎝ 1 ⎠⎟ ⎝⎜ 2 ⎠⎟ ⎪⎩ ⎫ ⎛2n ⎞⎟ ⎛ 2n ⎞⎟ ⎪ n ⎟⎟ cos 2x ⎪⎬ − ⎜⎜⎜ ⎟⎟ cos (2n − 6) x + (−1) ⎜⎜⎜ ⎪ ⎜⎝ 3 ⎠⎟⎟ ⎝⎜n − 1⎠⎟⎟ ⎪ ⎪ ⎭ (77) ⎛2n ⎞ Using equation (77) and the binomial coefficients Bn2n = ⎜⎜⎜ ⎟⎟⎟ computed using equation ⎜⎝ n ⎟⎠ (75) gives Geodesics – Bessel's method 26 sin2 x = 1 1 − cos 2x 2 2 sin 4 x = 3 1 1 + cos 4x − cos 2x 8 8 2 sin6 x = 5 1 3 15 − cos 6x + cos 4x − cos 2x 16 32 16 32 sin 8 x = 35 1 1 7 7 cos 8x − cos 6x + cos 4x − cos 2x + 128 128 16 32 16 sin10 x = 63 1 5 45 15 105 cos10x + cos 8x − cos 6x + cos 4x − cos 2x − 256 512 256 512 64 256 (78) Substituting equations (78) into equation (76) and arranging according to cos 2x , cos 4x , etc, we obtain (Rapp 1981, p. 7-8) (1 + u 2 sin2 x ) 1 2 = A + B cos 2x + C cos 4x + D cos 6x + E cos 8x + F cos10x + (79) where the coefficients A, B, C, etc., are 1 3 5 6 175 8 441 10 A = 1 + u2 − u4 + u − u + u 4 64 256 16384 65536 1 1 15 6 35 8 735 10 B = − u2 + u4− u + u − u 4 16 512 2048 65536 1 3 6 35 8 105 10 C = u − u + u − u4+ 64 256 4096 16384 1 6 5 35 D= u + u8 − u 10 − 512 2048 131072 5 35 E= u8 + u 10 − 16384 65536 7 F= u 10 − 131072 − + − (80) + − + Substituting equation (79) into equation (71) gives σ1 +σ s =b ∫ {A + B cos 2x + C cos 4x + D cos 6x + E cos 8x + F cos10x + }dx (81) σ1 or σ1 +σ s = A ∫ dx + B b σ 1 σ1 +σ ∫ σ1 +σ cos 2x dx + C σ1 ∫ σ1 Geodesics – Bessel's method cos 4x dx + D σ1 σ1 +σ +E ∫ σ1 +σ σ1 σ1 +σ cos 8x dx + F ∫ ∫ cos 6x dx (82) cos10x dx σ1 27 The evaluation of the integral σ1 +σ ∫ cos nx dx = σ1 1 1 σ +σ [ sin nx ]σ11 = {sin n (σ1 + σ ) − sin n σ1 } n n (83) combined with the trigonometric identity ⎡n ⎤ ⎡n ⎤ sin nX − sin nY = 2 cos ⎢ (X + Y )⎥ sin ⎢ (X −Y )⎥ ⎣⎢ 2 ⎦⎥ ⎣⎢ 2 ⎦⎥ where X = σ1 + σ and Y = σ1 so that X + Y = 2σ1 + σ and X −Y = σ gives σ1 +σ ∫ cos nx dx = σ1 n 2 cos n σm sin σ n 2 (84) Noting that n n sin n (σ1 + σ ) − sin n σ1 = 2 cos (2σ1 + σ ) sin σ 2 2 and with σ = σ2 − σ1 , then 2σ1 + σ = 2σ1 + (σ2 − σ1 ) = σ1 + σ2 σm = and putting σ1 + σ2 2 (85) then 2σm = 2σ1 + σ (86) and sin n (σ1 + σ ) − sin n σ1 = 2 cos n σm sin n σ 2 (87) Using this result, equation (82) becomes s = Aσ +B (cos 2σm sin σ ) + C ( 12 cos 4σm sin 2σ ) + D ( 13 cos 6σm sin 3σ ) b +E ( 14 cos 8σm sin 4σ ) + F ( 51 cos10σm sin 5σ ) + or re-arranged as (Rapp 1981, equation 39, p. 9) { C D cos 4σm sin 2σ + cos 6σm sin 3σ 2 3 E F + cos 8σm sin 4σ + cos10σm sin 5σ + 4 5 s = b Aσ + B cos 2σm sin σ + } (88) Equation (88) may be modified by adopting another set of constants; defined as B0 = A; Geodesics – Bessel's method B2 = B; B4 = C ; 2 B6 = D ; 3 B8 = E ; 4 B10 = F 5 (89) 28 to give s = b {B0σ + B2 cos 2σm sin σ + B4 cos 4σm sin 2σ + B6 cos 6σm sin 3σ + B8 cos 8σm sin 4σ + B10 cos10σm sin 5σ + + B2n cos 2n σm sin n σ + (90) } where the coefficients B0 , B2 , B4 , … are 1 2 3 5 6 u − u4 + u 4 64 256 1 1 15 6 u − u2 + u 4 − 4 16 512 1 4 3 6 u + u − 128 512 1 u6 − 1536 B0 = 1 + B2 = B4 = B6 = B8 = B10 = 175 8 441 10 u + u − 16384 65536 35 8 735 10 u − u + + 2048 65536 35 8 105 10 u + u − − 8192 32768 5 35 u8 − u 10 + + 6144 393216 5 35 u8 + u 10 − − 65536 262144 7 u 10 + − 655360 − Since each of these convergent series is alternating, an upper bound of the error committed in truncating the series is the first term omitted – keeping terms up to u 8 only commits an error of order u 10 – and equation (90) can be approximated by s = b {B0σ + B2 cos 2σm sin σ + B4 cos 4σm sin 2σ + B6 cos 6σm sin 3σ +B8 cos 8σm sin 4σ } (91) where 1 2 3 5 6 u − u4 + u 4 64 256 1 1 15 6 u − u2 + u 4 − 4 16 512 1 4 3 6 u + u − 128 512 1 u6 − 1536 B0 = 1 + B2 = B4 = B6 = B8 = 175 8 u 16384 35 8 u + 2048 35 8 u − 8192 5 u8 + 6144 5 u8 − 65536 − (92) The approximation (91) and the coefficients given by equations (92) are the same as Rainsford (1955, equations 18 and 19, p.15) and also Rapp (1981, equations 40 and 41, p. 9). Geodesics – Bessel's method 29 Equation (91) can be used in two ways which will be discussed in detail later. Briefly, however, the first way is in the direct problem – where s, u 2 and σ1 are known – to solve iteratively for σ (and hence σm from 2σm = 2σ1 + σ ; and x = σ1 + σ ) by using NewtonRaphson iteration for the real roots of the equation f (σ ) = 0 given in the form of an iterative equation σ(n +1) = σ n − ( ) f (σ n ) f ′ (σ n ) ( ) (93) ( ) where n denotes the nth iteration and f (σ ) can be obtained from equation (91) as f (σ ) = B0σ +B2 cos 2σm sin σ + B4 cos 4σm sin 2σ + B6 cos 6σm sin 3σ s +B8 cos 8σm sin 4σ − b and the derivative f ′ (σ ) = (94) d {f (σ )} is given by dσ ( f ′ (σ ) = 1 + u 2 sin2 x ) 1 2 (95) ( [Note here that f (σ ) is the result of integrating the function 1 + u 2 sin2 x ) 1 2 with respect to dx; so then the derivative f ′ (σ ) must be the original function.] An initial value, σ(1) ( σ for n = 1 ) can be computed from σ(1) = s and the functions B0b f (σ(1) ) and f ′ (σ(1) ) evaluated from equations (94) and (95) using σ(1) . σ(2) (σ for n = 2) can now be computed from equation (93) and this process repeated to obtain values σ(3), σ(4), … . This iterative process can be concluded when the difference between σ(n +1) and σ n reaches an acceptably small value. ( ) The second application of equation (91) is in the inverse problem where s is computed once σ has been determined by spherical trigonometry. Geodesics – Bessel's method 30 FORMULA FOR COMPUTATION OF LONGITUDE DIFFERENCE BETWEEN TWO POINTS ON A GEODESIC N' °− 90 vertex 1 ψ 9 0° 90°− P'2 α1 • P'i • P'i+1 • • c desi geo H dσ σ1 P'1 • αi α = 90° ψ0 dω αE node • E ω1 equ ator auxiliary sphere Figure 14: Geodesic on auxiliary sphere Figure 14 shows P1′ and P2′ on an auxiliary sphere (of unit radius) where latitudes on this sphere are defined to be equal to parametric latitudes on the ellipsoid. Pi ′ and Pi +′ 1 are arbitrary points on the geodesic (a great circle) between P1′ and P2′ separated by the angular distance d σ . N′ 90 °− ψi dω cos ψi dω Q αi • • dσ ic geodes P'i+1 P'i Figure 15 Geodesics – Bessel's method 31 Figure 15 shows the differential spherical triangle Pi ′N ′ Pi +′ 1 broken into two right-angled spherical triangles Pi ′Q Pi +′ 1 and QN ′ Pi +′ 1 . The great circle arc Q Pi +′ 1 is defined as cos ψ1 d ω , which is the differential arc length of the parallel of parametric latitude ψ1 . Approximating the spherical triangle Pi ′Q Pi +′ 1 with a plane right-angled triangle gives cos ψi d ω = d σ sin αi and dω = sin αi dσ cos ψi (96) cos ψ0 cos ψi (97) From equation (43) sin αi = and substituting equation (97) into (96) gives the relationship (dropping the subscript i) dω = cos ψ0 dσ cos2 ψ (98) Substituting equation (98) into equation (60) and re-arranging gives d λ = cos ψ0 (1 − e 2 cos2 ψ) cos2 ψ 1 2 dσ (99) Subtracting equation (98) from equation (99) gives an expression for the difference between differentials of two measures of longitude; dω on the auxiliary sphere and d λ on the ellipsoid ⎡ 1 − e 2 cos2 ψ 21 ⎤ ) 1 ⎥ ⎢( d λ − d ω = cos ψ0 ⎢ − ⎥ dσ cos2 ψ cos2 ψ ⎥ ⎢ ⎣ ⎦ (100) 1 Equation (100) can be simplified by expanding (1 − e 2 cos2 ψ)2 using the binomial series (72) ∞ (1 − e 2 cos2 ψ)2 = ∑ Bn2 (−e 2 cos2 ψ) 1 1 n n =0 1 and from the previous development, the binomial coefficients Bn2 form a sequence 1, 1 1⋅1 1⋅1⋅ 3 1⋅1⋅ 3 ⋅ 5 1⋅1⋅ 3 ⋅ 5 ⋅ 7 1⋅1⋅ 3 ⋅ 5 ⋅ 7 ⋅ 9 , − , , − , , − , 2 2⋅4 2⋅4⋅6 2 ⋅ 4 ⋅ 6 ⋅ 8 2 ⋅ 4 ⋅ 6 ⋅ 8 ⋅ 10 2 ⋅ 4 ⋅ 6 ⋅ 8 ⋅ 10 ⋅ 12 Geodesics – Bessel's method 32 Using these results (1 − e 2 cos2 ψ) 1 2 1 1⋅1 4 1⋅1⋅ 3 6 = 1 − e 2 cos2 ψ − e cos4 ψ − e cos6 ψ 2 2⋅4 2⋅4⋅6 1⋅1⋅ 3 ⋅ 5 8 1 1 3 5 ⋅ 7 10 ⋅ ⋅ ⋅ − e cos 8 ψ − e cos10 ψ + 2⋅4⋅6⋅8 2 ⋅ 4 ⋅ 6 ⋅ 8 ⋅ 10 (101) so that (1 − e 2 cos2 ψ) 1 2 = cos ψ 2 Now, subtracting 1 1 1 1 − e 2 − e 4 cos2 ψ − e 6 cos4 ψ 2 cos ψ 2 8 16 5 8 7 10 e cos6 ψ − e cos8 ψ + − 128 256 (102) 1 from both sides of equation (102) gives a new equation whose cos2 ψ left-hand-side is the term inside the brackets [ ] in equation (100), and using this result we may write equation (100) as { 1 1 1 d λ − d ω = cos ψ0 − e 2 − e 4 cos2 ψ − e 6 cos4 ψ 2 8 16 5 8 7 10 − e cos6 ψ − e cos8 ψ + 128 256 }d σ (103) which can be re-arranged as d ω − d λ− = { 1 1 e2 cos ψ0 1 + e 2 cos2 ψ + e 4 cos4 ψ 2 4 8 5 7 8 + e 6 cos6 ψ + e cos8 ψ + 64 128 }d σ (104) From equations (65) and (67) we have sin ψ = sin (σ1 + σ ) sin ψ0 and x = σ1 + σ respectively, which gives sin ψ = sin x sin ψ0 and sin2 ψ = sin2 x sin2 ψ0 = 1 − cos2 ψ . This result can be re-arranged as cos2 ψ = 1 − sin2 ψ0 sin2 x Now cos4 ψ = (1 − sin2 ψ0 sin2 x ) , cos6 ψ = (1 − sin2 ψ0 sin2 x ) , cos8 ψ = (1 − sin2 ψ0 sin2 x ) , 2 3 4 etc., and using the binomial series (74) we may write cos4 ψ = 1 − 2 sin2 ψ0 sin2 x + sin 4 ψ0 sin 4 x cos6 ψ = 1 − 3 sin2 ψ0 sin2 x + 3 sin 4 ψ0 sin 4 x − sin6 ψ0 sin6 x cos8 ψ = 1 − 4 sin2 ψ0 sin2 x + 6 sin 4 ψ0 sin 4 x − 4 sin6 ψ0 sin6 x + sin 8 ψ0 sin 8 x Geodesics – Bessel's method 33 Substituting these relationships into equation (104) and noting that dx = d σ gives d ω − d λ− = { e2 1 cos ψ0 1 + e 2 (1 − sin2 ψ0 sin2 x ) 2 4 1 4 + e (1 − 2 sin2 ψ0 sin2 x + sin 4 ψ0 sin 4 x ) 8 5 + e 6 (1 − 3 sin2 ψ0 sin2 x + 3 sin 4 ψ0 sin 4 x − sin6 ψ0 sin6 x ) 64 7 8 + e (1 − 4 sin2 ψ0 sin2 x + 6 sin 4 ψ0 sin 4 x 128 −4 sin6 ψ0 sin6 x + sin 8 ψ0 sin 8 x ) + } dx (105) Now, expressions for sin2 x , sin 4 x , … have been developed previously and are given in equations (78). These even powers of sin x may be substituted into equation (105) to give d ω − d λ− = ⎧⎪ e2 1 ⎛ ⎡1 1 ⎤⎞ cos ψ0 ⎪⎨1 + e 2 ⎜⎜⎜1 − sin2 ψ0 ⎢ − cos 2x ⎥ ⎟⎟⎟ 2 4 ⎝ ⎣⎢ 2 2 ⎦⎥ ⎠ ⎪ ⎩⎪ 1 ⎡1 1 ⎤ + e 4 (1 − 2 sin2 ψ0 ⎢ − cos 2x ⎥ ⎢⎣ 2 2 ⎥⎦ 8 1 ⎡3 1 ⎤⎞ + sin 4 ψ0 ⎢ + cos 4x − cos 2x ⎥ ⎟⎟⎟ 2 ⎣⎢ 8 8 ⎦⎥ ⎠ 5 ⎡1 1 ⎤ + e 6 (1 − 3 sin2 ψ0 ⎢ − cos 2x ⎥ ⎢⎣ 2 2 ⎥⎦ 64 1 ⎡3 1 ⎤ + 3 sin 4 ψ0 ⎢ + cos 4x − cos 2x ⎥ ⎥⎦ 2 ⎣⎢ 8 8 1 3 15 ⎡5 ⎤⎞ − sin 6 ψ0 ⎢ − cos 6x + cos 4x − cos 2x ⎥⎟⎟⎟ ⎢⎣ 16 32 ⎥⎦ ⎠ 16 32 7 8 ⎛⎜ ⎡1 1 ⎤ e ⎜⎜1 − 4 sin2 ψ0 ⎢ − cos 2x ⎥ + 128 ⎝ ⎣⎢ 2 2 ⎦⎥ 1 ⎡3 1 ⎤ + 6 sin 4 ψ0 ⎢ + cos 4x − cos 2x ⎥ ⎢⎣ 8 8 ⎥⎦ 2 ⎡5 ⎤ 1 3 15 − 4 sin6 ψ0 ⎢ − cos 6x + cos 4x − cos 2x ⎥ 16 32 ⎣⎢ 16 32 ⎦⎥ ⎡ 35 1 1 + sin 8 ψ0 ⎢ + cos 8x − cos 6x ⎢⎣ 128 128 16 7 7 ⎤ + cos 4x − cos 2x ⎥ ⎥⎦ 32 16 + } dx Geodesics – Bessel's method (106) 34 Expanding the components of equation (106) associated with the even powers of e we have 1 2⎛ 1 1 ⎞ e ⎜⎜1 − sin2 ψ0 + sin2 ψ0 cos 2x ⎟⎟ ⎝ ⎠ 4 2 2 (107) 1 4 e (1 − sin2 ψ0 + sin2 ψ0 cos 2x 8 ⎞ 3 1 1 + sin 4 ψ0 + sin 4 ψ0 cos 4x − sin 4 ψ0 cos 2x ⎟⎟ ⎠ 8 8 2 (108) 5 6 e (1 − sin2 ψ0 + sin2 ψ0 cos 2x 64 9 3 3 + sin 4 ψ0 + sin 4 ψ0 cos 4x − sin 4 ψ0 cos 2x 8 8 2 ⎞ 5 1 3 15 − sin6 ψ0 + sin6 ψ0 cos 6x − sin6 ψ0 cos 4x + sin6 ψ0 cos 2x ⎟⎟ ⎠ 16 32 16 32 7 8 e (1 − sin2 ψ0 + sin2 ψ0 cos 2x 128 9 3 + sin 4 ψ0 + sin 4 ψ0 cos 4x − 3 sin 4 ψ0 cos 2x 4 4 5 1 3 − sin6 ψ0 + sin6 ψ0 cos 6x − sin6 ψ0 cos 4x 4 8 4 15 6 + sin ψ0 cos 2x 8 35 1 1 + sin 8 ψ0 + sin 8 ψ0 cos 8x − sin 8 ψ0 cos 6x 128 128 16 ⎞ 7 7 + sin 8 ψ0 cos 4x − sin 8 ψ0 cos 2x ⎟⎟ ⎠ 132 16 (109) (110) Gathering together the constant terms and the coefficients of cos 2x , cos 4x , cos 6x, etc. in equations (107) to (110), we can write equation (106) as d ω − dλ = e2 cos ψ0 {C 0 + C 2 cos 2x + C 4 cos 4x + C 6 cos 6x + C 8 cos 8x + 2 }dx (111) where the coefficients C 0 , C 2 , C 4 , etc. are Geodesics – Bessel's method 35 1 1 5 7 8 C 0 = 1 + e2 + e 4 + e6 + e + 4 8 64 128 ⎛1 ⎞ 1 15 6 7 − ⎜⎜ e 2 + e 4 + e + e 8 + ⎟⎟ sin2 ψ0 ⎝8 ⎠ 8 128 64 ⎛3 ⎞ 45 6 63 8 + ⎜⎜ e 4 + e + e + ⎟⎟ sin 4 ψ0 ⎝ 64 ⎠ 512 512 ⎛ 25 6 ⎞ 35 8 − ⎜⎜ e + e + ⎟⎟ sin 6 ψ0 ⎝1024 ⎠ 512 ⎛ 245 8 + ⎜⎜ e + ⎝16384 − ⎞⎟ 8 sin ψ0 ⎠⎟ (112) 1 15 6 7 ⎛1 ⎞ C 2 = ⎜⎜ e 2 + e 4 + e + e 8 + ⎟⎟ sin2 ψ0 ⎝8 ⎠ 8 128 64 15 6 21 8 ⎛1 ⎞ e + e + ⎟⎟ sin 4 ψ0 − ⎜⎜ e 4 + ⎝16 ⎠ 128 128 105 8 ⎛ 75 6 ⎞ e + e + ⎟⎟ sin6 ψ0 + ⎜⎜ ⎝ 2048 ⎠ 1024 ⎛ 49 8 ⎞ e + ⎟⎟ sin 8 ψ0 + ⎜⎜ ⎝ 2048 ⎠ − (113) 15 6 21 8 ⎛1 ⎞ C 4 = ⎜⎜ e 4 + e + e + ⎟⎟ sin 4 ψ0 ⎝ 64 ⎠ 512 512 21 8 ⎛ 15 6 ⎞ e + e + ⎟⎟ sin 6 ψ0 − ⎜⎜ ⎝1024 ⎠ 512 ⎛ 49 8 ⎞ e + ⎟⎟ sin 8 ψ0 + ⎜⎜ ⎝1096 ⎠ − (114) ⎛ 5 6 ⎞ 7 8 C 6 = ⎜⎜ e + e + ⎟⎟ sin6 ψ0 ⎝ 2048 ⎠ 1024 ⎛ 7 8 ⎞ − ⎜⎜ e + ⎟⎟ sin 8 ψ0 ⎝ 2048 ⎠ + (115) ⎛ 7 C 8 = ⎜⎜ e8 + ⎝16384 ⎟⎞⎟ sin 8 ψ0 − ⎠ (116) The longitude differences (spherical ω minus geodetic λ ) are given by the integral Δω − Δλ = e2 cos ψ0 2 x =σ1 +σ ∫ {C 0 + C 2 cos 2x + C 4 cos 4x + C 6 cos 6x + C 8 cos 8x + }dx (117) x =σ1 where Δω = ω2 − ω1 is the difference in longitudes of P1′ and P2′ on the auxiliary sphere and Δλ = λ2 − λ1 is the difference in longitudes of P1 and P2 on the ellipsoid. Geodesics – Bessel's method 36 Equation (117) has a similar form to equation (81) and the solution of the integral in equation (117) can be achieved by the same method used to solve the integral in equation (81). Hence, similarly to equation (88) and also Rapp (1981 equation (55), p. 13) { e2 C Δω − Δλ = cos ψ0 C 0σ + C 2 cos 2σm sin σ + 4 cos 4σm sin 2σ 2 2 C C + 6 cos 6σm sin 3σ + 8 cos 8σm sin 4σ + 3 4 } (118) Rainsford (1955, p. 14, equations 10 and 11) has the differences in longitudes Δω − Δλ as a function of the flattening f and the azimuth of the geodesic at the equator αE ; noting that from either equations (61) or (69) we may obtain the relationships sin αE = cos ψ0 (119) 1 − sin2 αE = sin2 ψ0 (120) Also, since e 2 = f (2 − f ) = 2 f − f 2 , even powers of the eccentricity e can be expressed as functions of the flattening f e2 = 2f − f 2 e4 = 4f 2 − 4f 3 + f 4 e 6 = 8 f 3 − 12 f 4 + 6 f 5 − f 6 (121) e 8 = 16 f 4 − 32 f 5 + 24 f 6 − 8 f 7 + f 8 Re-arranging equation (118) and using equation (119) gives ⎧ e2 e2 ⎪e 2 Δω − Δλ = sin αE ⎨⎪ C 0σ + C 2 cos 2σm sin σ + C 4 cos 4σm sin 2σ ⎪ 2 4 ⎪ ⎩2 ⎫ e2 e2 ⎪ + C 6 cos 6σm sin 3σ + C 8 cos 8σm sin 4σ + ⎪ ⎬ ⎪ 6 8 ⎪ ⎭ Now, with equations (112) and (120) the coefficient e2 C 0 can be written as 2 e2 e2 1 1 5 8 C 0 = + e4 + e6 + e + 2 2 8 16 128 ⎛1 1 15 8 ⎞⎟ − ⎜⎜ e 4 + e 6 + e ⎟ (1 − sin2 αE ) ⎝16 ⎠ 16 256 2 ⎛ 3 6 ⎞ 45 8 + ⎜⎜ e + e + ⎟⎟ (1 − sin2 αE ) ⎝128 ⎠ 1024 3 ⎛ 25 8 ⎞ − ⎜⎜ e + ⎟⎟ (1 − sin2 αE ) ⎝ 2048 ⎠ + Geodesics – Bessel's method (122) (123) 37 noting here that terms greater than e 8 have been ignored. Using equations (121) in equation (123) with the trigonometric identity cos2 αE + sin2 αE = 1 gives e2 7 C0 = f − f 5 + 2 8 ⎛1 ⎞ 1 1 3 − ⎜⎜ f 2 + f 3 + f 4 − f 5 + ⎟⎟ cos2 αE ⎝4 ⎠ 4 4 2 ⎛3 ⎞ 27 4 81 5 + ⎜⎜ f 3 + f − f + ⎟⎟ cos 4 αE ⎝16 ⎠ 64 64 ⎛ 25 4 25 5 ⎞ − ⎜⎜ f − f + ⎟⎟ cos6 αE ⎝128 ⎠ 64 + Now for any geodetic ellipsoid e 8 2.01e-009 and f 4 (124) 1.26e-010 , and since terms greater than e have been ignored in the development of equation (123) then no additional errors 8 will be induced by ignoring terms greater than f 4 in equation (124). Hence we define { e2 1 C 0 ≡ f 1 − f (1 + f + f 2 ) cos2 αE 2 4 3 ⎛ 9 ⎞ + f 2 ⎜⎜1 + f ⎟⎟ cos 4 αE 16 ⎝ 4 ⎠ 25 3 f cos6 αE − 128 } (125) Using similar reasoning we also define ⎧1 ⎫ 1 ⎛ 9 ⎞ 75 3 e2 C 2 ≡ f ⎪⎨ f (1 + f + f 2 ) cos2 αE − f 2 ⎜⎜1 + f ⎟⎟ cos 4 αE + f cos6 αE ⎪⎬ ⎪ ⎪ 2 4 ⎝ 4 ⎠ 256 ⎪4 ⎪ ⎩ ⎭ (126) ⎧ 1 2⎛ ⎫ e2 9 ⎞ 4 15 3 C4 ≡ f ⎪ f cos6 αE ⎪ ⎨ f ⎜⎜1 + f ⎟⎟ cos αE − ⎬ ⎪ ⎪ 4 4 ⎠ 256 ⎪ 32 ⎝ ⎪ ⎩ ⎭ (127) { e2 5 3 C6 ≡ f f cos6 αE 6 768 } (128) Using equations (125) to (128) enables equation (122) to be approximated by Δω − Δλ = f sin αE {A0σ + A2 cos 2σm sin σ + A4 cos 4σm sin 2σ + A6 cos 6σm sin 3σ } (129) where Δω = ω2 − ω1 is the difference in longitudes of P1′ and P2′ on the auxiliary sphere and Δλ = λ2 − λ1 is the difference in longitudes of P1 and P2 on the ellipsoid, and the coefficients are Geodesics – Bessel's method 38 1 3 2⎛ 9 ⎞ 25 3 f (1 + f + f 2 ) cos2 αE + f ⎜⎜1 + f ⎟⎟ cos4 αE − f cos6 αE 4 16 ⎝ 4 ⎠ 128 1 1 ⎛ 9 ⎞ 75 3 A2 = f (1 + f + f 2 ) cos2 αE − f 2 ⎜⎜1 + f ⎟⎟ cos4 αE + f cos6 αE ⎝ ⎠ 4 4 4 256 1 2⎛ 9 ⎞ 15 3 A4 = f ⎜⎜1 + f ⎟⎟ cos 4 αE − f cos6 αE ⎝ ⎠ 32 4 256 5 3 A6 = f cos6 αE 768 A0 = 1 − (130) The approximation (129) and the coefficients (130) are the same as Rainsford (1955, equations 10 and 11, p. 14) and also Rapp (1981, equation 56, p. 13). Equation (129) can be used in two ways which will be discussed in detail later. Briefly, however, the first way is in the direct problem – after σ (and σm from 2σm = 2σ1 + σ ) has been solved iteratively – to compute the difference Δω − Δλ . And in the inverse problem to compute the longitude difference iteratively. VINCENTY'S MODIFICATIONS OF RAINSFORD'S EQUATIONS In 1975, T. Vincenty (1975) produced other forms of equations (91) and (129) more suited to computer evaluation and requiring a minimum of trigonometric function evaluations. These equations may be obtained in the following manner. Vincenty's modification of Rainsford's equation for distance The starting point here is equation (91) [Rainsford's equation for distance] that can be rearranged as σ = s B B B − 2 cos 2σm sin σ − 4 cos 4σm sin 2σ − 6 cos 6σm sin 3σ bB0 B0 B0 B0 B − 8 cos 8σm sin 4σ B0 (131) or σ = s +Δσ bB0 (132) where Geodesics – Bessel's method 39 B2 B B cos 2σm sin σ − 4 cos 4σm sin 2σ − 6 cos 6σm sin 3σ B0 B0 B0 B − 8 cos 8σm sin 4σ B0 Δσ = − (133) 1 3 5 6 175 8 u − u = 1 + x and Now, from equations (92) B0 = 1 + u 2 − u 4 + 4 64 256 16384 1 −1 = (1 + x ) . Using a special case of the binomial series [equation (72) with β = −1 and B0 with x < 1 ] −1 (1 + x ) = 1 − x + x2 − x3 + x4 − allows us to write ⎛1 1 3 = 1− ⎜⎜ u 2 − u 4 + ⎝ 4 64 B0 ⎛1 3 + ⎜⎜ u 2 − u 4 + ⎝4 64 ⎞⎟ ⎛ 1 2 3 + ⎜ u − u4 + ⎠⎟ ⎝⎜ 4 64 ⎞⎟ ⎛ 1 2 3 − ⎜ u − u4 + ⎠⎟ ⎝⎜ 4 64 2 ⎟⎟⎞ ⎠ 3 ⎞ ⎟⎠⎟ − 1 7 15 6 579 8 u + u − = 1 − u2 + u4 − 4 64 256 16384 4 and using this result gives B2 ⎛ 1 1 15 6 35 8 = ⎜⎜− u 2 + u 4 − u + u − ⎝ 4 16 512 2048 B0 1 1 37 6 47 8 u + u − = − u2 + u4 − 4 8 512 1024 ⎞⎛ 1 2 7 4 15 6 579 8 ⎟ ⎟⎠⎝⎜⎜1 − 4 u + 64 u − 256 u + 16384 u − ⎟⎞ ⎟⎠ Similarly, the other ratios are obtained and B2 B0 B4 B0 B6 B0 B8 B0 1 = − u2 4 = = = 1 37 6 47 8 + u4 − u + u 8 512 1024 1 4 1 6 27 8 − u + u − u 128 128 4096 1 1 − u6 + u8 1536 1024 5 − u8 65536 − + (134) − + For a geodesic on the GRS80 ellipsoid, having αE = 0 (which makes u 2 a maximum) and with σ = 22.5 , σm = 22.5 (which makes cos 8σm sin 4σ = 1 ) the maximum value of the last term in equations (131) and (133) is Geodesics – Bessel's method B8 cos 8σm sin 4σ = 1.5739827e-013 radians . B0 40 This is equivalent to an arc length of 0.000001 m on a sphere of radius 6378137 m. This term will be ignored and Δσ is defined as Δσ ≡ − B2 B B cos 2σm sin σ − 4 cos 4σm sin 2σ − 6 cos 6σm sin 3σ B0 B0 B0 (135) Now, using the trigonometric identities sin 2A = 2 sin A cos A cos 2A = 2 cos2 A − 1 sin 3A = 3 sin A − 4 sin 3 A cos 3A = 4 cos3 A − 3 cos A then cos 4A = 2 cos2 2A − 1 cos 6A = 4 cos3 2A − 3 cos 2A and using these identities in equation (135) gives B2 B cos 2σm sin σ − 4 (2 cos2 2σm − 1) (2 sin σ cos σ ) B0 B0 B − 6 (4 cos3 2σm − 3 cos 2σm )(3 sin σ − 4 sin 3 σ ) B0 Δσ = − which may be written as ⎧ ⎪ B B Δσ = sin σ ⎨⎪− 2 cos 2σm − 2 4 cos σ (2 cos2 2σm − 1) ⎪ B0 ⎪ ⎩ B0 ⎫ ⎪ B − 6 cos 2σm (3 − 4 sin2 σ )(4 cos2 2σm − 3)⎪ ⎬ ⎪ B0 ⎪ ⎭ (136) Now ⎛ −B2 ⎟⎞ 1 4 1 6 53 8 ⎜⎜ ⎟⎟ = u − u + u − ⎜⎝ B0 ⎟⎠ 16 16 1024 2 ⎛ −B ⎞ ⎜⎜ 2 ⎟⎟⎟ = ⎜⎝ B ⎟⎠ 3 0 (137) 1 6 3 8 u − u + 64 128 Comparing equations (137) with equations (134) we have ⎛B ⎞ 1 4 1 6 54 8 u − u + u −2 ⎜⎜ 4 ⎟⎟⎟ = ⎜⎝ B ⎠⎟ 64 64 4096 0 1 ⎛⎜ −B2 ⎞⎟ 1 4 1 6 53 8 ⎟⎟ = u − u + u ⎜⎜ 4 ⎝ B0 ⎟⎠ 64 64 4096 2 Geodesics – Bessel's method 41 1 u 8 which would be equivalent to a maximum error 4096 of 5.0367e-013 radians or 0.000003 m on a sphere of radius 6378137 m. Ignoring this small and these two equations differ by difference, we define ⎛ B ⎞ 1 ⎛ −B ⎞ −2 ⎜⎜ 4 ⎟⎟⎟ ≡ ⎜⎜ 2 ⎟⎟⎟ ⎜⎝ B ⎠⎟ 4 ⎜⎝ B ⎠⎟ 0 0 2 (138) Again, comparing equations (137) with equations (134) we have ⎛B ⎞ 1 1 u6 + u8 − ⎜⎜ 6 ⎟⎟⎟ = ⎜⎝ B0 ⎠⎟ 1536 1024 1 ⎛⎜ −B2 ⎞⎟ 1 3 ⎟ = u6 + u8 ⎜ ⎟ ⎟ ⎜ 24 ⎝ B0 ⎠ 1536 3072 2 and noting that 1 3 u8 = u 8 we may say 1024 3072 ⎛B ⎞ 1 ⎜⎛ −B2 ⎟⎞ ⎟ − ⎜⎜ 6 ⎟⎟⎟ = ⎜⎝ B ⎠⎟ 24 ⎜⎜⎝ B ⎟⎟⎠ 0 0 3 (139) Using equations (138) and (139) we may write equation (136) as 2 ⎧ ⎪⎛ −B ⎞ 1 ⎜⎛ −B2 ⎞⎟ 2⎟ ⎪ ⎜ ⎟⎟ cos 2σm + ⎜ ⎟⎟ cos σ (2 cos2 2σm − 1) Δσ = sin σ ⎨⎜ ⎜ ⎜ ⎟ ⎪ 4 ⎝ B0 ⎠⎟ B ⎪ ⎪ ⎩⎝ 0 ⎠ 3 ⎫ ⎪ 1 ⎛⎜ −B2 ⎟⎞ 2 2 ⎟⎟ cos 2σm (3 − 4 sin σ )(4 cos 2σm − 3)⎪⎬ + ⎜ ⎪ 24 ⎜⎝ B0 ⎠⎟ ⎪ ⎪ ⎭ We may now express the great circle arc length σ as σ = s +Δσ bA′ (140) where { Δσ = B ′ sin σ cos 2σm + 1 ⎡ B ′ ⎢⎣ cos σ (2 cos2 2σm − 1) 4 ⎫ 1 ⎤⎪ − B ′ cos 2σm (−3 + 4 sin2 σ )(−3 + 4 cos2 2σm )⎥⎬ ⎥⎦ ⎪ 6 ⎪ ⎭ (141) and Geodesics – Bessel's method 42 1 3 5 6 175 8 A′ = B0 = 1 + u 2 − u 4 + u − u 4 64 256 16384 4096 2 768 4 320 6 175 8 =1+ u − u + u − u 16384 16384 16384 16384 u2 =1+ 4096 + u 2 (−768 + u 2 (320 − 175u 2 )) 16384 ( B′ = ) 1 1 37 6 47 8 −B2 = u2− u 4 + u − u B0 4 8 512 1024 256 2 128 4 74 6 47 8 = u − u + u − u 1024 1024 1024 1024 u2 = 256 + u 2 (−128 + u 2 (74 − 47u 2 )) 1024 ( ) (142) (143) Equations (140) to (143) are the same as those given by Vincenty (1975, equations 7, 6, 3 and 4, p. 89). Vincenty notes in his paper that these equations were derived from Rainsford's inverse formula and that most significant terms in u 8 were retained, but he gave no outline of his method. Vincenty's modification of Rainsford's equation for longitude difference The starting point here is equation (129) [Rainsford's equation for longitude differences] with coefficients A0 , A2 , A4 and A6 . Referring to this equation, Rainsford (1955, p. 14) states: “The A coefficients are given as functions of f since they converge more rapidly than when given as functions of e 2 . The maximum value of any term in f 4 (i.e. f 3 in the A's) is less than 0′′.00001 even for a line half round the world. Thus the A6 term may be omitted altogether and the following simplified forms used even for precise results:” Rainsford's simplified formula is Δω − Δλ = f sin αE {A0′σ + A2′ cos 2σm sin σ + A4′ cos 4σm sin 2σ} (144) where Δω = ω2 − ω1 is the difference in longitudes of P1′ and P2′ on the auxiliary sphere and Δλ = λ2 − λ1 is the difference in longitudes of P1 and P2 on the ellipsoid, and the coefficients are Geodesics – Bessel's method 43 1 3 f (1 + f ) cos2 αE − f 2 cos4 αE 4 16 1 1 A2′ = f (1 + f ) cos2 αE − f 2 cos4 αE 4 4 1 2 A4′ = f cos 4 αE 32 A0′ = 1 − (145) Equation (144) can be written as ⎧ ⎫ ⎪ ⎪ A′ A′ Δω − Δλ = A0′ f sin αE ⎪⎨σ + 2 cos 2σm sin σ + 4 cos 4σm sin 2σ⎪⎬ ⎪ ⎪ A0′ A0′ ⎪ ⎪ ⎩ ⎭ (146) Using the trigonometric double angle formulas sin 2A = 2 sin A cos A , cos 2A = 2 cos2 A − 1 we can write sin 2σ = 2 sin σ cos σ cos 4σm = 2 cos2 2σm − 1 and equation (146) becomes ⎧ ⎫ ⎪ ⎪ A′ A′ Δω − Δλ = A0′ f sin αE ⎪⎨σ + 2 cos 2σm sin σ + 4 (2 cos2 2σm − 1) (2 sin σ cos σ )⎪⎬ ⎪ ⎪ A0′ A0′ ⎪ ⎪ ⎩ ⎭ ⎧ ⎫ ⎡ A′ ⎤⎪ ⎪ A′ (147) = A0′ f sin αE ⎪⎨σ + sin σ ⎢ 2 cos 2σm + 2 4 cos σ (2 cos2 2σm − 1)⎥ ⎪ ⎢ A0′ ⎥⎬ ⎪ ⎪ ′ A 0 ⎣ ⎦ ⎭⎪ ⎩⎪ Now the coefficient A0′ may be re-arranged as follows 1 3 2 f (1 + f ) cos2 αE + f cos4 αE 4 16 ⎛4 ⎞ 3 = 1 − ⎜⎜ f (1 + f ) cos2 αE − f 2 cos4 αE ⎟⎟ ⎝16 ⎠ 16 f = 1 − cos2 αE (4 (1 + f ) − 3 f cos2 αE ) 16 f = 1 − cos2 αE (4 + f (4 − 3 cos2 αE )) 16 A0′ = 1 − or A0′ = 1 − C where C = f cos2 αE (4 + f (4 − 3 cos2 αE )) 16 Now using these relationships and a special result of the binomial series [equation (72) with x = −C and β = −1 ] we may write Geodesics – Bessel's method 44 1 1 −1 = = (1 − C ) = 1 + C + C 2 + C 3 + A0′ 1 − C and A2′ 1 1 3 1 = f cos2 αE + f 2 cos2 αE − f 2 cos4 αE + f 3 cos4 αE + ′ A0 4 4 16 8 Ignoring terms greater than f 3 (greater than f 2 in A2′ ) we have A0′ 1 1 3 A2′ ≡ f cos2 αE + f 2 cos2 αE − f 2 cos4 αE 4 4 16 A0′ f cos2 αE (4 + f (4 − 3 cos2 αE )) = 16 =C Also A4′ 1 2 1 3 = f cos 4 αE + f cos6 αE + A0′ 32 128 and ignoring terms greater than f 3 (greater than f 2 in A4′ 1 2 ≡ f cos 4 αE A0′ 32 and 2 A4′ ) we have A0′ A4′ 1 2 = f cos 4 αE A0′ 16 Now C2 = 1 2 1 3 3 f cos4 αE + f 3 cos 4 αE − f cos6 αE + 16 8 32 and ignoring terms greater than f 3 (greater than f 2 in C 2 ) we have C2 ≡ A′ 1 2 f cos 4 αE = 2 4 A0′ 16 Using these results we may write equation (147) as { Δλ = Δω − (1 − C ) f sin αE σ + C sin σ ⎡⎢⎣ cos 2σm + C cos σ (−1 + 2 cos2 2σm )⎤⎥⎦ } (148) where Δω = ω2 − ω1 is the difference in longitudes of P1′ and P2′ on the auxiliary sphere and Δλ = λ2 − λ1 is the difference in longitudes of P1 and P2 on the ellipsoid, and C = Geodesics – Bessel's method f cos2 αE (4 + f (4 − 3 cos2 αE )) 16 (149) 45 Equations (148) and (149) are essentially the same as Vincenty (1975, equations 11 and 10, p.89) – Vincenty uses L and λ where we have used Δλ and Δω respectively – although he gives no outline of his method of deriving his equations from Rainsford's. SOLVING THE DIRECT AND INVERSE PROBLEMS ON THE ELLIPSOID USING VINCENTY'S EQUATIONS Vincenty (1975) set out methods of solving the direct and inverse problems on the ellipsoid. His methods were different from those proposed by Rainsford (1955) even though his equations (140) to (143) for spherical arc length σ and (148) and (149) for longitude λ were simplifications of Rainsford's equations. His approach was to develop solutions more applicable to computer programming rather than the mechanical methods used by Rainsford. Vincenty's method relies upon the auxiliary sphere and there are several equations using spherical trigonometry. Since distances are often small when compared with the Earth's circumference, resulting spherical triangles can have very small sides and angles. In such cases, usual spherical trigonometry formula, e.g., sine rule and cosine rule, may not furnish accurate results and other, less common formula, are used. Vincenty's equations and his methods are now widely used in geodetic computations. In the solutions of the direct and inverse problems set out in subsequent sections, the following notation and relationships are used. a, f semi-major axis length and flattening of ellipsoid. b semi-minor axis length of the ellipsoid, b = a (1 − f ) e 2 eccentricity of ellipsoid squared, e 2 = f (2 − f ) e ′2 2nd-eccentricity of ellipsoid squared, e ′2 = e2 1 − e2 φ, λ latitude and longitude on ellipsoid: φ measured 0 to ± 90 (north latitudes positive and south latitudes negative) and λ measured 0 to ± 180 (east longitudes positive and west longitudes negative). s length of the geodesic on the ellipsoid. α1, α2 azimuths of the geodesic, clockwise from north 0 to 360 ; α2 in the direction P1P2 produced. Geodesics – Bessel's method 46 α12 azimuth of geodesic P1P2 ; α12 = α1 α21 reverse azimuth; azimuth of geodesic P2P1 ; α21 = α2 ± 180 αE azimuth of geodesic at the equator, sin αE = cos ψ0 u 2 = e ′2 sin2 ψ0 ψ parametric latitude, tan ψ = (1 − f ) tan φ ψ0 parametric latitude of geodesic vertex, cos ψ0 = cos ψ sin α = sin αE ψ, ω latitude and longitude on auxiliary sphere: ψ measured 0 to ± 90 (north latitudes positive and south latitudes negative) and ω measured 0 to ± 180 (east longitudes positive and west longitudes negative). Δλ, Δω longitude differences; Δλ = λ2 − λ1 (ellipsoid) and Δω = ω2 − ω1 (spherical) σ angular distance (great circle arc) P1′P2′ on the auxiliary sphere. σ1 angular distance from equator to P1′ on the auxiliary sphere, tan σ1 = tan ψ1 cos α1 σm angular distance from equator to mid-point of great circle arc P1′P2′ on the auxiliary sphere, 2σm = 2σ1 + σ THE DIRECT PROBLEM ON THE ELLIPSOID USING VINCENTY'S EQUATIONS Using Vincenty's equations the direct problem on the ellipsoid [given latitude and longitude of P1 on the ellipsoid and azimuth α12 and geodesic distance s to P2 on the ellipsoid, compute the latitude and longitude of P2 and the reverse azimuth α21 ] may be solved by the following sequence. With the ellipsoid constants a, f , b = a (1 − f ), e 2 = f (2 − f ) and e ′2 = e2 and given 1 − e2 φ1, λ1, α1 = α12 and s 1. Compute parametric latitude ψ1 of P1 from tan ψ1 = (1 − f ) tan φ1 Geodesics – Bessel's method 47 2. Compute the parametric latitude of the geodesic vertex ψ0 from cos ψ0 = cos ψ1 sin α1 3. Compute the geodesic constant u 2 from u 2 = e ′2 sin2 ψ0 4. Compute angular distance σ1 on the auxiliary sphere from the equator to P1′ from tan σ1 = 5. tan ψ1 cos α1 Compute the azimuth of the geodesic at the equator αE from sin αE = cos ψ0 = cos ψ1 sin α1 6. Compute Vincenty's constants A′ and B ′ from A′ = 1 + B′ = 7. u2 4096 + u 2 (−768 + u 2 (320 − 175u 2 )) 16384 ( ) u2 256 + u 2 (−128 + u 2 (74 − 47u 2 )) 1024 ( ) Compute angular distance σ on the auxiliary sphere from P1′ to P2′ by iteration using the following sequence of equations until there is negligible change in σ 2σm = 2σ1 + σ { Δσ = B ′ sin σ cos 2σm + 1 ⎡ B ′ cos σ (2 cos2 2σm − 1) 4 ⎢⎣ 1 ⎤ ⎫⎪ − B ′ cos 2σm (−3 + 4 sin2 σ )(−3 + 4 cos2 2σm )⎥⎬ ⎥⎦ ⎪⎭⎪ 6 s + Δσ σ = bA′ The first approximation for σ in this iterative solution can be taken as σ 8. After computing the spherical arc length σ the latitude of P2 can be computed using tan ψ2 spherical trigonometry and the relationship tan φ2 = (1 − f ) tan φ2 = 9. s bA′ sin ψ1 cos σ + cos ψ1 sin σ cos α1 (1 − f ) sin2 αE + (sin ψ1 sin σ − cos ψ1 cos σ cos α1 ) 2 Compute the longitude difference Δω on the auxiliary sphere from tan Δω = Geodesics – Bessel's method sin σ sin α1 cos ψ1 cos σ − sin ψ1 sin σ cos α1 48 10. Compute Vincenty's constant C from C = 11. f cos2 αE (4 + f (4 − 3 cos2 αE )) 16 Compute the longitude difference Δλ on the ellipsoid from { Δλ = Δω − (1 − C ) f sin αE σ + C sin σ ⎡⎢⎣ cos 2σm + C cos σ (−1 + 2 cos2 2σm )⎤⎥⎦ 12. Compute azimuth α2 from tan α2 = 13. } sin αE cos ψ1 cos σ cos α1 − sin ψ1 sin σ Compute reverse azimuth α21 α21 = α2 ± 180 Shown below is the output of a MATLAB function Vincenty_Direct.m that solves the direct problem on the ellipsoid. The ellipsoid is the GRS80 ellipsoid and φ, λ for P1 are −45 and 132 respectively with α12 = 1 43′ 25.876544′′ and s = 3880 275.684153 m . φ, λ computed for P2 are −10 and 133 respectively with the reverse azimuth α21 = 181 14 ′ 22.613213′′ >> Vincenty_Direct ///////////////////////////////////////////////// // DIRECT CASE on ellipsoid: Vincenty's method // ///////////////////////////////////////////////// ellipsoid parameters a = 6378137.000000000 f = 1/298.257222101000 b = 6356752.314140356100 e2 = 6.694380022901e-003 ep2 = 6.739496775479e-003 Latitude & Longitude of P1 latP1 = -45 0 0.000000 (D M S) lonP1 = 132 0 0.000000 (D M S) Azimuth & Distance P1-P2 az12 = 1 43 25.876544 (D M S) s = 3880275.684153 Parametric Latitude of P1 psiP1 = -44 54 13.636256 (D M S) Parametric Latitude of vertex P0 psiP0 = 88 46 44.750547 (D M S) Geodesic constant u2 (u-squared) u2 = 6.736437077728e-003 Geodesics – Bessel's method 49 angular distance on auxiliary sphere from equator to P1' sigma1 = -7.839452835875e-001 radians Vincenty's constants A and B A = 1.001681988050e+000 B = 1.678458818215e-003 angular distance sigma on auxiliary sphere from P1' to P2' sigma = 6.099458753810e-001 radians iterations = 5 Latitude of P2 latP2 = -10 0 0.000000 (D M S) Vincenty's constant C C = 8.385253517062e-004 Longitude difference P1-P2 dlon = 1 0 0.000000 (D M S) Longitude of P2 lon2 = 133 0 0.000000 (D M S) Reverse azimuth alpha21 = 181 14 22.613213 (D M S) >> THE INVERSE PROBLEM ON THE ELLIPSOID USING VINCENTY'S EQUATIONS Using Vincenty's equations the inverse problem on the ellipsoid [given latitudes and longitudes of P1 and P2 on the ellipsoid compute the forward and reverse azimuths α12 and α21 and the geodesic distance s] may be solved by the following sequence. With the ellipsoid constants a, f , b = a (1 − f ), e 2 = f (2 − f ) and e ′2 = φ1, λ1 and φ2 , λ2 1. e2 and given 1 − e2 Compute parametric latitudes ψ1 and ψ2 of P1 and P2 from tan ψ = (1 − f ) tan φ 2. Compute the longitude difference Δλ on the ellipsoid Δλ = λ2 − λ1 Geodesics – Bessel's method 50 3. Compute the longitude difference Δω on the auxiliary sphere between P1′ to P2′ by iteration using the following sequence of equations until there is negligible change in Δω . Note that σ should be computed using the atan2 function after evaluating sin σ = sin2 σ and cos σ . This will give −180 < σ ≤ 180 . sin2 σ = (cos ψ2 sin Δω ) + (cos ψ1 sin ψ2 − sin ψ1 cos ψ2 cos Δω ) 2 2 cos σ = sin ψ1 sin ψ2 + cos ψ1 cos ψ2 cos Δω sin σ cos σ cos ψ1 cos ψ2 sin Δω sin αE = sin σ 2 sin ψ1 sin ψ2 cos 2σm = cos σ − cos2 αE f cos2 αE (4 + f (4 − 3 cos2 αE )) C= 16 tan σ = { Δω = Δλ + (1 − C ) f sin αE σ + C sin σ ⎡⎢⎣ cos 2σm + C cos σ (−1 + 2 cos2 2σm )⎤⎥⎦ The first approximation for Δω in this iterative solution can be taken as Δω 4. } Δλ Compute the parametric latitude of the geodesic vertex ψ0 from cos ψ0 = sin αE 5. Compute the geodesic constant u 2 from u 2 = e ′2 sin2 ψ0 6. Compute Vincenty's constants A′ and B ′ from A′ = 1 + B′ = 7. u2 4096 + u 2 (−768 + u 2 (320 − 175u 2 )) 16384 ( ) u2 256 + u 2 (−128 + u 2 (74 − 47u 2 )) 1024 ( ) Compute geodesic distance s from { Δσ = B ′ sin σ cos 2σm + 1 ⎡ B ′ ⎢⎣ cos σ (2 cos2 2σm − 1) 4 ⎤⎫ 1 ⎪ − B ′ cos 2σm (−3 + 4 sin2 σ )(−3 + 4 cos2 2σm )⎥⎬ ⎥ 6 ⎦⎪ ⎪ ⎭ s = bA (σ − Δσ ) 8. Compute the forward azimuth α12 = α1 from tan α1 = Geodesics – Bessel's method cos ψ2 sin Δω cos ψ1 sin ψ2 − sin ψ1 cos ψ2 cos Δω 51 9. Compute azimuth α2 from tan α2 = 10. cos ψ1 sin Δω − sin ψ1 cos ψ2 + cos ψ1 sin ψ2 cos Δω Compute reverse azimuth α21 α21 = α2 ± 180 Shown below is the output of a MATLAB function Vincenty_Inverse.m that solves the inverse problem on the ellipsoid. The ellipsoid is the GRS80 ellipsoid. φ, λ for P1 are −10 and 110 respectively and φ, λ for P2 are −45 and 155 respectively. Computed azimuths are α12 = 140 30′ 03.017703′′ and α21 = 297 48 ′ 47.310738 ′′ , and geodesic distance s = 5783 228.548429 m . >> Vincenty_Inverse //////////////////////////////////////////////////// // INVERSE CASE on ellipsoid: Vincenty's method // //////////////////////////////////////////////////// ellipsoid parameters a = 6378137.000000000 f = 1/298.257222101000 b = 6356752.314140356100 e2 = 6.694380022901e-003 ep2 = 6.739496775479e-003 Latitude & Longitude of P1 latP1 = -10 0 0.000000 (D M S) lonP1 = 110 0 0.000000 (D M S) Latitude & Longitude of P2 latP2 = -45 0 0.000000 (D M S) lonP2 = 155 0 0.000000 (D M S) Parametric Latitudes of P1 and P2 psiP1 = -9 58 1.723159 (D M S) psiP2 = -44 54 13.636256 (D M S) Longitude difference on ellipsoid P1-P2 dlon = 45 0 0.000000 (D M S) Longitude difference on auxiliary sphere P1'-P2' domega = 9.090186019005e-001 radians iterations = 5 Parametric Latitude of vertex P0 psiP0 = 51 12 36.239192 (D M S) Geodesic constant u2 (u-squared) u2 = 4.094508823114e-003 Vincenty's constants A and B A = 1.001022842684e+000 B = 1.021536528199e-003 Geodesics – Bessel's method 52 Azimuth & Distance P1-P2 az12 = 140 30 3.017703 (D M S) s = 5783228.548429 Reverse azimuth alpha21 = 297 48 47.310738 (D M S) >> EXCEL WORKBOOK vincenty.xls FROM GEOSCIENCE AUSTRALIA Geoscience Australia has made available an Excel workbook vincenty.xls containing four spreadsheets labelled Ellipsoids, Direct Solution, Inverse Solution and Test Data. The Direct Solution and Inverse Solution spreadsheets are implementations of Vincenty's equations. The Excel workbook vincenty.xls can be downloaded via the Internet at the Geoscience Australia website (http://www.ga.gov.au/) following the links to Geodetic Calculations then Calculate Bearing Distance from Latitude Longitude. At this web page the spreadsheet vincenty.xls is available for use or downloading. Alternatively, the Intergovernmental Committee on Surveying and Mapping (ICSM) has produced an on-line publication Geocentric Datum of Australia Technical Manual Version 2.2 (GDA Technical Manual, ICSM 2002) with a link to vincenty.xls. The operation of vincenty.xls is relatively simple, but since the spreadsheets use the Excel solver for the iterative solutions of certain equations then the Iteration box must be checked on the Calculation sheet. The Calculation sheet is found under Tools/Options on the Excel toolbar. Also, on the Calculation sheet make sure the Maximum change box has a value of 0.000000000001. The Direct Solution and Inverse Solution spreadsheets have statements that the spreadsheets have been tested in the Australian region but not exhaustively tested worldwide. To test vincenty.xls, direct and inverse solutions between points on a geographic rectangle ABCD covering Australia were computed using vincenty.xls and MATLAB functions Vincenty_Direct.m and Vincenty_Inverse.m. Figure 16 shows the geographic rectangle ABCD whose sides are the meridians of longitude 110 and 155 and parallels of latitude −10 and −45 . Several lines were chosen on and across this rectangle. Geodesics – Bessel's method 53 Figure 16: Geographic rectangle covering Australia P1 P2 azimuth α φ = −10 φ = −10 α12 = 94 06′ 55.752182′′ λ = 110 λ = 155 α21 = 265 53′ 04.247 818 ′′ φ = −10 φ = −45 α12 = 140 30′ 03.017 703′′ λ = 110 λ = 155 α21 = 297 48 ′ 47.310 738 ′′ φ = −10 φ = −45 α12 = 180 00′ 00.000 000′′ λ = 110 λ = 110 α21 = 0 00′ 00.000 000′′ φ = −10 φ = −45 α12 = 219 29′ 56.982 297 ′′ λ = 155 λ = 110 α21 = 62 11′ 12.689 262′′ φ = −45 φ = −10 α12 = 1 43′ 25.876 544 ′′ λ = 132 λ = 133 α21 = 181 14 ′ 22.613 213′′ φ = −35 φ = −36 α12 = 105 00′ 10.107 712′′ λ = 110 λ = 155 α21 = 257 56′ 53.869 209′′ distance s s = 4 929 703.675 416 m s = 5 783 228.548 429 m s = 3 879 089.544 659 m s = 5 783 228.548 429 m s = 3 880 275.684153 m s = 4 047 421.887 193 m Table 1: Geodesic curves between P1 and P2 on the GRS80 ellipsoid Geodesics – Bessel's method 54 Table 1 shows a number of long geodesics that are either bounding meridians of the rectangle or geodesics crossing the rectangle. All of these results have been computed using the MATLAB function Vincenty_Inverse.m and verified by using the MATLAB function Vincenty_Direct.m. Each of the lines were then computed using the Inverse Solution spreadsheet of the Excel workbook vincenty.xls; all azimuths were identical and the differences between distances were 0.000002 m on one line and 0.000001 m on two other lines. Each of the lines were then verified by using the Direct Solution spreadsheet (all computed latitudes and longitudes we in exact agreement). It could be concluded that the Excel workbook vincenty.xls gives results accurate to at least the 5th decimal of distance and the 6th decimal of seconds of azimuth for any geodesic in Australia. Vincenty (1975) verifies his equations by comparing his results with Rainsford's over five test lines (Rainsford 1955). On one of these lines – line (a) φ1 = 55 45′ , λ1 = 0 00′ , α12 = 96 36′ 08.79960′′ , s = 14110 526.170 m on Bessel's ellipsoid a = 6377397.155 m 1 f = 299.1528128 – Vincenty finds his direct solution gives φ2 = −33 26′ 00.000012′′ , λ2 = 108 13′ 00.000 007 ′′ and α21 = 137 52′ 22.014 528 ′′ . We can confirm that the MATLAB function Vincenty_Direct.m also gives these results, but it is interesting to note that the Direct Solution spreadsheet of the Excel workbook vincenty.xls does not give these results. This is due to the Excel solver – used to determine a value by iteration – returning an incorrect value. Whilst the error in the Excel solver result is small, it is, nonetheless, significant and users should be aware of the likelihood or erroneous results over very long geodesics using vincenty.xls. MATLAB FUNCTIONS Shown below are two MATLAB functions Vincenty_Direct.m and Vincenty_Inverse.m that have been written to test Vincenty's equations and his direct and inverse methods of solution. Both functions call another function DMS.m that is also shown. Geodesics – Bessel's method 55 MATLAB function Vincenty_Direct.m function Vincenty_Direct % Vincenty_Direct computes the "direct case" on the ellipsoid using % Vinventy's method. % Given the size and shape of the ellipsoid and the latitude and % longitude of P1 and the azimuth and geodesic distance of P1 to P2, % this function computes the latitude and longitude of P2 and the % reverse azimuth P2 to P1. %============================================================================ % Function: Vincenty_Direct % % Useage: Vincenty_Direct; % % Author: % Rod Deakin, % Department of Mathematical and Geospatial Sciences, % RMIT University, % GPO Box 2476V, MELBOURNE VIC 3001 % AUSTRALIA % email: rod.deakin@rmit.edu.au % % Date: % Version 1.0 2 March 2008 % % Functions Required: % [D,M,S] = DMS(DecDeg) % % Remarks: % This function computes the DIRECT CASE on the ellipsoid. Given the size % and shape of an ellipsoid (defined by parameters a and f, semi-major % axis and flattening respectively) and the latitude and longitude of P1 % and the azimuth (az12) P1 to P2 and the geodesic distance (s) P1 to P2, % the function computes the latitude and longitude of P2 and the reverse % azimuth (az21) P2 to P1. Latitudes and longitudes of the geodesic % vertices P0 and P0' are also output as well as distances and longitude % difference from P1 and P2 to the relevant vertices. % % References: % [1] Deakin, R.E, and Hunter, M.N., 2007. 'Geodesics on an Ellipsoid % Bessels' Method', School of Mathematical and Geospatial Sciences, % RMIT University, January 2007. % [2] Vincenty, T., 1975. 'Direct and Inverse solutions of geodesics on % the ellipsoid with application of nested equations', Survey % Review, Vol. 23, No. 176, pp.88-93, April 1975. % % Variables: % a - semi-major axis of ellipsoid % A - Vincenty's constant for computation of sigma % alpha1 - azimuth P1-P2 (radians) % az12 - azimuth P1-P2 (degrees) % az21 - azimuth P2-P1 (degrees) % b - semi-minor axis of ellipsoid % A - Vincenty's constant for computation of sigma % cos_alpha1 - cosine of azimuth of geodesic P1-P2 at P1 % dlambda - longitude difference P1 to P2 (radians) % domega - longitude difference P1' to P2' (radians) % d2r - degree to radian conversion factor % e2 - eccentricity of ellipsoid squared % ep2 - 2nd eccentricity squared % f - flattening of ellipsoid % flat - denominator of flattening, f = 1/flat % lambda1 - longitude of P1 (radians) % lambda2 - longitude of P2 (radians) % lat1 - latitude of P1 (degrees) Geodesics – Bessel's method 56 % lat2 - latitude of P2 (degrees) % lon1 - longitude of P1 (degrees) % lon2 - longitude of P2 (degrees) % phi1 - latitude of P1 (radians) % phi2 - latitude of P2 (radians) % pion2 - pi/2 % psi0 - parametric latitude of P0 (radians) % psi1 - parametric latitude of P1 (radians) % psi2 - parametric latitude of P2 (radians) % s - geodesic distance P1 to P2 % sigma1 - angular distance (radians) on auxiliary sphere from % equator to P1' % sin_alpha1 - sine of azimuth of geodesic P1-P2 at P1 % twopi - 2*pi % u2 - geodesic constant u-squared % % %============================================================================ % Define some constants d2r = 180/pi; twopi = 2*pi; pion2 = pi/2; % Set defining ellipsoid parameters a = 6378137; % GRS80 flat = 298.257222101; % a = 6377397.155; % Bessel (see Ref [2], p.91) % flat = 299.1528128; % Compute derived ellipsoid constants f = 1/flat; b = a*(1-f); e2 = f*(2-f); ep2 = e2/(1-e2); %--------------------------------------% latitude and longitude of P1 (degrees) %--------------------------------------lat1 = -45; lon1 = 132; % lat and lon of P1 (radians) phi1 = lat1/d2r; lambda1 = lon1/d2r; %-----------------------------------% azimuth of geodesic P1-P2 (degrees) %-----------------------------------az12 = 1 + 43/60 + 25.876544/3600; % % azimuth of geodesic P1-P2 (radians) alpha1 = az12/d2r; % sine and cosine of azimuth P1-P2 sin_alpha1 = sin(alpha1); cos_alpha1 = cos(alpha1); %-----------------% geodesic distance %-----------------s = 3880275.684153; % [1] Compute parametric latitude psi1 of P1 psi1 = atan((1-f)*tan(phi1)); % [2] Compute parametric latitude of vertex psi0 = acos(cos(psi1)*sin_alpha1); Geodesics – Bessel's method 57 % [3] Compute geodesic constant u2 (u-squared) u2 = ep2*(sin(psi0)^2); % [4] Compute angular distance sigma1 on the auxiliary sphere from equator % to P1' sigma1 = atan2(tan(psi1),cos_alpha1); % [5] Compute the sine of the azimuth of the geodesic at the equator sin_alphaE = cos(psi0); % [6] Compute Vincenty's constants A and B A = 1 + u2/16384*(4096 + u2*(-768 + u2*(320-175*u2))); B = u2/1024*(256 + u2*(-128 + u2*(74-47*u2))); % [7] Compute sigma by iteration sigma = s/(b*A); iter = 1; while 1 two_sigma_m = 2*sigma1 + sigma; s1 = sin(sigma); s2 = s1*s1; c1 = cos(sigma); c1_2m = cos(two_sigma_m); c2_2m = c1_2m*c1_2m; t1 = 2*c2_2m-1; t2 = -3+4*s2; t3 = -3+4*c2_2m; delta_sigma = B*s1*(c1_2m+B/4*(c1*t1-B/6*c1_2m*t2*t3)); sigma_new = s/(b*A)+delta_sigma; if abs(sigma_new-sigma)<1e-12 break; end; sigma = sigma_new; iter = iter + 1; end; s1 = sin(sigma); c1 = cos(sigma); % [8] Compute latitude of P2 y = sin(psi1)*c1+cos(psi1)*s1*cos_alpha1; x = (1-f)*sqrt(sin_alphaE^2+(sin(psi1)*s1-cos(psi1)*c1*cos_alpha1)^2); phi2 = atan2(y,x); lat2 = phi2*d2r; % [9] Compute longitude difference domega on the auxiliary sphere y = s1*sin_alpha1; x = cos(psi1)*c1-sin(psi1)*s1*cos_alpha1; domega = atan2(y,x); % [10] Compute Vincenty's constant C x = 1-sin_alphaE^2; C = f/16*x*(4+f*(4-3*x)); % [11] Compute longitude difference on ellipsoid two_sigma_m = 2*sigma1 + sigma; c1_2m = cos(two_sigma_m); c2_2m = c1_2m*c1_2m; dlambda = domega-(1-C)*f*sin_alphaE*(sigma+C*s1*(c1_2m+C*c1*(-1+2*c2_2m))); dlon = dlambda*d2r; lon2 = lon1+dlon; % [12] Compute azimuth alpha2 y = sin_alphaE; x = cos(psi1)*c1*cos_alpha1-sin(psi1)*s1; alpha2 = atan2(y,x); % [13] Compute reverse azimuth az21 Geodesics – Bessel's method 58 az21 = alpha2*d2r + 180; if az21 > 360 az21 = az21-360; end; %------------------------------------------------% Print computed quantities, latitudes and azimuth %------------------------------------------------- fprintf('\n/////////////////////////////////////////////////'); fprintf('\n// DIRECT CASE on ellipsoid: Vincenty''s method //'); fprintf('\n/////////////////////////////////////////////////'); fprintf('\n\nellipsoid parameters'); fprintf('\na = %18.9f',a); fprintf('\nf = 1/%16.12f',flat); fprintf('\nb = %21.12f',b); fprintf('\ne2 = %20.12e',e2); fprintf('\nep2 = %20.12e',ep2); fprintf('\n\nLatitude & Longitude of P1'); [D,M,S] = DMS(lat1); if D==0 && lat1<0 fprintf('\nlatP1 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nlatP1 = %3d %2d %9.6f (D M S)',D,M,S); end; [D,M,S] = DMS(lon1); if D==0 && lon1<0 fprintf('\nlonP1 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nlonP1 = %3d %2d %9.6f (D M S)',D,M,S); end; fprintf('\n\nAzimuth & Distance P1-P2'); [D,M,S] = DMS(az12); fprintf('\naz12 = %4d %2d %9.6f (D M S)',D,M,S); fprintf('\ns = %17.6f',s); fprintf('\n\nParametric Latitude of P1'); [D,M,S] = DMS(psi1*d2r); if D==0 && psi1<0 fprintf('\npsiP1 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\npsiP1 = %3d %2d %9.6f (D M S)',D,M,S); end; fprintf('\n\nParametric Latitude of vertex P0'); [D,M,S] = DMS(psi0*d2r); if D==0 && psi0<0 fprintf('\npsiP0 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\npsiP0 = %3d %2d %9.6f (D M S)',D,M,S); end; fprintf('\n\nGeodesic constant u2 (u-squared)'); fprintf('\nu2 = %20.12e',u2); fprintf('\n\nangular distance on auxiliary sphere from equator to P1'''); fprintf('\nsigma1 = %20.12e radians',sigma1); fprintf('\n\nVincenty''s constants A and B'); fprintf('\nA = %20.12e',A); fprintf('\nB = %20.12e',B); fprintf('\n\nangular distance sigma on auxiliary sphere from P1'' to P2'''); fprintf('\nsigma = %20.12e radians',sigma); Geodesics – Bessel's method 59 fprintf('\niterations = %2d',iter); fprintf('\n\nLatitude of P2'); [D,M,S] = DMS(lat2); if D==0 && lat2<0 fprintf('\nlatP2 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nlatP2 = %3d %2d %9.6f (D M S)',D,M,S); end; fprintf('\n\nVincenty''s constant C'); fprintf('\nC = %20.12e',C); fprintf('\n\nLongitude difference P1-P2'); [D,M,S] = DMS(dlon); if D==0 && dlon<0 fprintf('\ndlon = -0 %2d %9.6f (D M S)',M,S); else fprintf('\ndlon = %3d %2d %9.6f (D M S)',D,M,S); end; fprintf('\n\nLongitude of P2'); [D,M,S] = DMS(lon2); if D==0 && lon2<0 fprintf('\nlon2 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nlon2 = %3d %2d %9.6f (D M S)',D,M,S); end; fprintf('\n\nReverse azimuth'); [D,M,S] = DMS(az21); fprintf('\nalpha21 = %3d %2d %9.6f (D M S)',D,M,S); fprintf('\n\n'); MATLAB function Vincenty_Inverse.m function Vincenty_Inverse % Vincenty_Inverse computes the "inverse case" on the ellipsoid using % Vinventy's method. % Given the size and shape of the ellipsoid and the latitudes and % longitudes of P1 and P2 this function computes the geodesic distance % P1 to P2 and the forward and reverse azimuths %============================================================================ % Function: Vincenty_Inverse % % Useage: Vincenty_Inverse; % % Author: % Rod Deakin, % Department of Mathematical and Geospatial Sciences, % RMIT University, % GPO Box 2476V, MELBOURNE VIC 3001 % AUSTRALIA % email: rod.deakin@rmit.edu.au % % Date: % Version 1.0 7 March 2008 % % Functions Required: % [D,M,S] = DMS(DecDeg) % % Remarks: % This function computes the INVERSE CASE on the ellipsoid. Given the size Geodesics – Bessel's method 60 % and shape of an ellipsoid (defined by parameters a and f, semi-major % axis and flattening respectively) and the latitudes and longitudes of P1 % this function computes the forward azimuth (az12) P1 to P2, the reverse % azimuth (az21) P2 to P1 and the geodesic distance (s) P1 to P2. % % References: % [1] Deakin, R.E, and Hunter, M.N., 2007. 'Geodesics on an Ellipsoid % Bessels' Method', School of Mathematical and Geospatial Sciences, % RMIT University, January 2007. % [2] Vincenty, T., 1975. 'Direct and Inverse solutions of geodesics on % the ellipsoid with application of nested equations', Survey % Review, Vol. 23, No. 176, pp.88-93, April 1975. % % Variables: % A - Vincenty's constant for computation of sigma % a - semi-major axis of ellipsoid % alpha1 - azimuth at P1 for the line P1-P2 (radians) % alpha2 - azimuth at P2 for the line P1-P2 extended (radians) % az12 - azimuth P1-P2 (degrees) % az21 - azimuth P2-P1 (degrees) % B - Vincenty's constant for computation of sigma % b - semi-minor axis of ellipsoid % C - Vincenty's constant for computation of longitude % difference % cdo - cos(domega) % cos_sigma - cos(sigma) % delta_sigma - small change in sigma % dlambda - longitude difference P1 to P2 (radians) % domega - longitude difference P1' to P2' (radians) % d2r - degree to radian conversion factor % e2 - eccentricity of ellipsoid squared % ep2 - 2nd eccentricity squared % f - flattening of ellipsoid % flat - denominator of flattening, f = 1/flat % lambda1 - longitude of P1 (radians) % lambda2 - longitude of P2 (radians) % lat1 - latitude of P1 (degrees) % lat2 - latitude of P2 (degrees) % lon1 - longitude of P1 (degrees) % lon2 - longitude of P2 (degrees) % phi1 - latitude of P1 (radians) % phi2 - latitude of P2 (radians) % pion2 - pi/2 % psi0 - parametric latitude of P0 (radians) % psi1 - parametric latitude of P1 (radians) % psi2 - parametric latitude of P2 (radians) % s - geodesic distance P1 to P2 % sdo - sin(domega) % sigma - angular distance (radians) on auxiliary sphere from P1' % to P2' % sin_alphaE - sine of azimuth of geodesic P1-P2 at equator % sin_sigma - sin(sigma) % twopi - 2*pi % u2 - geodesic constant u-squared % % %============================================================================ % Define some constants d2r = 180/pi; twopi = 2*pi; pion2 = pi/2; % Set defining ellipsoid parameters a = 6378137; % GRS80 flat = 298.257222101; % a = 6377397.155; % Bessel (see Ref [2], p.91) % flat = 299.1528128; Geodesics – Bessel's method 61 % Compute derived ellipsoid constants f = 1/flat; b = a*(1-f); e2 = f*(2-f); ep2 = e2/(1-e2); %--------------------------------------% latitude and longitude of P1 (degrees) %--------------------------------------lat1 = -10; lon1 = 110; % lat and lon of P1 (radians) phi1 = lat1/d2r; lambda1 = lon1/d2r; %--------------------------------------% latitude and longitude of P2 (degrees) %--------------------------------------lat2 = -45; lon2 = 155; % lat and lon of P2 (radians) phi2 = lat2/d2r; lambda2 = lon2/d2r; % [1] Compute parametric latitudes psi1 and psi2 of P1 and P2 psi1 = atan((1-f)*tan(phi1)); psi2 = atan((1-f)*tan(phi2)); s1 s2 c1 c2 = = = = sin(psi1); sin(psi2); cos(psi1); cos(psi2); % [2] Compute longitude difference dlambda on the ellipsoid dlambda = lambda2-lambda1; % (radians) dlon = lon2-lon1; % (degrees) % [3] Compute longitude difference domega on the auxiliary sphere by % iteration domega = dlambda; iter = 1; while 1 sdo = sin(domega); cdo = cos(domega); x = c2*sdo; y = c1*s2 - s1*c2*cdo; sin_sigma = sqrt(x*x + y*y); cos_sigma = s1*s2 + c1*c2*cdo; sigma = atan2(sin_sigma,cos_sigma); sin_alphaE = c1*c2*sdo/sin_sigma; % Compute c1_2m = cos(2*sigma_m) x = 1-(sin_alphaE*sin_alphaE); c1_2m = cos_sigma - (2*s1*s2/x); % Compute Vincenty's constant C C = f/16*x*(4+f*(4-3*x)); % Compute domega c2_2m = c1_2m*c1_2m; domega_new = dlambda+(1-C)*f*sin_alphaE*(sigma+C*sin_sigma*(c1_2m+C*cos_sigma*(1+2*c2_2m))); if abs(domega-domega_new)<1e-12 break; end; domega = domega_new; iter = iter + 1; end; Geodesics – Bessel's method 62 % [4] Compute parametric latitude of vertex psi0 = acos(sin_alphaE); % [5] Compute geodesic constant u2 (u-squared) u2 = ep2*(sin(psi0)^2); % [6] Compute Vincenty's constants A and B A = 1 + u2/16384*(4096 + u2*(-768 + u2*(320-175*u2))); B = u2/1024*(256 + u2*(-128 + u2*(74-47*u2))); % [7] Compute geodesic distance s t1 = 2*c2_2m-1; t2 = -3+4*sin_sigma*sin_sigma; t3 = -3+4*c2_2m; delta_sigma = B*sin_sigma*(c1_2m+B/4*(cos_sigma*t1-B/6*c1_2m*t2*t3)); s = b*A*(sigma-delta_sigma); % [8] Compute forward azimuth alpha1 y = c2*sdo; x = c1*s2 - s1*c2*cdo; alpha1 = atan2(y,x); if alpha1<0 alpha1 = alpha1+twopi; end; az12 = alpha1*d2r; % [9] Compute azimuth alpha2 y = c1*sdo; x = -s1*c2 + c1*s2*cdo; alpha2 = atan2(y,x); % [10] Compute reverse azimuth az21 az21 = alpha2*d2r + 180; if az21 > 360 az21 = az21-360; end; %------------------------------------------------% Print computed quantities, latitudes and azimuth %------------------------------------------------fprintf('\n////////////////////////////////////////////////////'); fprintf('\n// INVERSE CASE on ellipsoid: Vincenty''s method //'); fprintf('\n////////////////////////////////////////////////////'); fprintf('\n\nellipsoid parameters'); fprintf('\na = %18.9f',a); fprintf('\nf = 1/%16.12f',flat); fprintf('\nb = %21.12f',b); fprintf('\ne2 = %20.12e',e2); fprintf('\nep2 = %20.12e',ep2); fprintf('\n\nLatitude & Longitude of [D,M,S] = DMS(lat1); if D==0 && lat1<0 fprintf('\nlatP1 = -0 %2d %9.6f else fprintf('\nlatP1 = %3d %2d %9.6f end; [D,M,S] = DMS(lon1); if D==0 && lon1<0 fprintf('\nlonP1 = -0 %2d %9.6f else fprintf('\nlonP1 = %3d %2d %9.6f end; fprintf('\n\nLatitude & Longitude of [D,M,S] = DMS(lat2); if D==0 && lat2<0 Geodesics – Bessel's method P1'); (D M S)',M,S); (D M S)',D,M,S); (D M S)',M,S); (D M S)',D,M,S); P2'); 63 fprintf('\nlatP2 else fprintf('\nlatP2 end; [D,M,S] = DMS(lon2); if D==0 && lon2<0 fprintf('\nlonP2 else fprintf('\nlonP2 end; = -0 %2d %9.6f (D M S)',M,S); = %3d %2d %9.6f (D M S)',D,M,S); = -0 %2d %9.6f (D M S)',M,S); = %3d %2d %9.6f (D M S)',D,M,S); fprintf('\n\nParametric Latitudes of [D,M,S] = DMS(psi1*d2r); if D==0 && psi1<0 fprintf('\npsiP1 = -0 %2d %9.6f else fprintf('\npsiP1 = %3d %2d %9.6f end; [D,M,S] = DMS(psi2*d2r); if D==0 && psi2<0 fprintf('\npsiP2 = -0 %2d %9.6f else fprintf('\npsiP2 = %3d %2d %9.6f end; P1 and P2'); (D M S)',M,S); (D M S)',D,M,S); (D M S)',M,S); (D M S)',D,M,S); fprintf('\n\nLongitude difference on ellipsoid P1-P2'); [D,M,S] = DMS(dlon); if D==0 && dlon<0 fprintf('\ndlon = -0 %2d %9.6f (D M S)',M,S); else fprintf('\ndlon = %3d %2d %9.6f (D M S)',D,M,S); end; fprintf('\n\nLongitude difference on auxiliary sphere P1''-P2'''); fprintf('\ndomega = %20.12e radians',sigma); fprintf('\niterations = %2d',iter); fprintf('\n\nParametric Latitude of vertex P0'); [D,M,S] = DMS(psi0*d2r); if D==0 && psi0<0 fprintf('\npsiP0 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\npsiP0 = %3d %2d %9.6f (D M S)',D,M,S); end; fprintf('\n\nGeodesic constant u2 (u-squared)'); fprintf('\nu2 = %20.12e',u2); fprintf('\n\nVincenty''s constants A and B'); fprintf('\nA = %20.12e',A); fprintf('\nB = %20.12e',B); fprintf('\n\nAzimuth & Distance P1-P2'); [D,M,S] = DMS(az12); fprintf('\naz12 = %4d %2d %9.6f (D M S)',D,M,S); fprintf('\ns = %17.6f',s); fprintf('\n\nReverse azimuth'); [D,M,S] = DMS(az21); fprintf('\nalpha21 = %3d %2d %9.6f (D M S)',D,M,S); fprintf('\n\n'); Geodesics – Bessel's method 64 MATLAB function DMS.m function [D,M,S] = DMS(DecDeg) % [D,M,S] = DMS(DecDeg) This function takes an angle in decimal degrees and returns % Degrees, Minutes and Seconds val D = M = S = = abs(DecDeg); fix(val); fix((val-D)*60); (val-D-M/60)*3600; if abs(S-60) < 5.0e-10 M = M + 1; S = 0.0; end if M == 60 D = D + 1; M = 0.0; end if D >=360 D = D - 360; end if(DecDeg<=0) D = -D; end return REFERENCES Bessel, F. W., (1826), 'On the computation of geographical longitude and latitude from geodetic measurements', Astronomische Nachrichten (Astronomical Notes), Band 4 (Volume 4), Number 86, Spalten 241-254 (Columns 241-254), Altona 1826. DSB, (1971), Dictionary of Scientific Biography, C.C. Gillispie (Editor in Chief), Charles Scribner's Sons, New York. ICSM, (2002). Geocentric Datum of Australia Technical Manual – Version 2.2, Intergovernmental Committee on Surveying and Mapping (ICSM), February 2002, available online at: http://www.icsm.gov.au/icsm/gda/gdatm/index.html (last accessed March 2006) Jank, W., Kivioja, L. A., (1980), 'Solution of the direct and inverse problems on reference ellipsoids by point-by-point integration using programmable pocket calculators', Surveying and Mapping, Vol. 15, No. 3, pp. 325-337. Jordan/Eggert/Kneissl, (1959), Handbuch der Vermessungskunde, Band IV Mathematische Geodäsie, J.B. Metzlersche Verlagsbuchnandlung, Stuttgart, pp. 978987. Geodesics – Bessel's method 65 Kivioja, L. A., (1971), 'Computation of geodetic direct and indirect problems by computers accumulating increments from geodetic line elements', Bulletin Geodesique, No. 99, pp. 55-63. McCaw, G. T., (1932-33), 'Long lines on the Earth', Empire Survey Review, Vol. 1, No. 6, pp. 259-263 and Vol. 2, No. 9, pp. 156-163. McCaw, G. T., (1934), 'Long lines on the Earth: the direct problem', Empire Survey Review, Vol. 2, No. 12, pp. 346-352 and Vol. 2, No. 14, pp. 505-508. Pittman, M. E., (1986), 'Precision direct and inverse solution of the geodesic', Surveying and Mapping, Vol. 46, No. 1, pp. 47-54. Rainsford, H. F., (1955), 'Long geodesics on the ellipsoid', Bulletin Geodesique, No. 37, pp. 12-22. Rapp, R. H., (1981), Geometric Geodesy – Volume II (Advanced Techniques), Department of Geodetic Science, The Ohio State University, Columbus, Ohio 43210, March, 1981. Thomas, P. D., (1952), Conformal Projections in Geodesy and Cartography, Special Publication No. 251, Coast and Geodetic Survey, United States Department of Commerce, Washington, D.C. Thomas, P. D., (1970), Spheroidal Geodesics, Reference Systems, & Local Geometry. SP– 138 U.S. Naval Oceanographic Office, Washington, D.C. Vincenty, T., (1975), 'Direct and inverse solutions on the ellipsoid with application of nested equations', Survey Review, Vol. 23, No. 176, pp. 88-93. Vincenty, T., (1976), 'Correspondence: solutions of geodesics', Survey Review, Vol. 23, No. 180, p. 294. Geodesics – Bessel's method 66 GEODESICS ON AN ELLIPSOID – PITTMAN'S METHOD R.E. Deakin and M.N. Hunter School of Mathematical and Geospatial Sciences, RMIT University GPO Box 2476V, MELBOURNE, VIC 3001 Email: rod.deakin@rmit.edu.au Presented at the Spatial Sciences Institute Biennial International Conference (SSC2007), Hobart, Tasmania, 14-18 May 2007. ABSTRACT The direct and inverse problems of the geodesic on an ellipsoid are fundamental geodetic operations. This paper presents a detailed derivation of a set of recurrence relationships that can be used to obtain solutions to the direct and inverse problems with sub-millimetre accuracies for any length of line anywhere on an ellipsoid. These recurrence relationships were first described by Pittman (1986), but since then, little or nothing about them has appeared in the geodetic literature. This is unusual for such an elegant technique and it is hoped that this paper can redress this situation. Pittman's method has much to recommend it. BIOGRAPHIES OF PRESENTERS Rod Deakin and Max Hunter are lecturers in the School of Mathematical and Geospatial Sciences, RMIT University; Rod is a surveyor and Max is a mathematician, and both have extensive experience teaching undergraduate students. INTRODUCTION Twenty-one years ago (March 1986), Michael E. Pittman, an assistant professor of mathematical physics with the Department of Physics, University of New Orleans, Louisiana USA, published a paper titled 'Precision Direct and Inverse Solutions of the Geodesic' in Surveying and Mapping (the journal of the American Congress on Surveying & Mapping, now called Surveying and Land Information Systems). It was probably an unusual event – a physicist writing a technical article on geodetic computation – but even more unusual was Pittman's method; or as he put it in his paper, "The following method is rather different." And it certainly is. Usual approaches could be roughly divided into two groups: (i) numerical integration schemes and (ii) series expansion of elliptic integrals. The first group could be further divided into integration schemes based on simple differential relationships of the ellipsoid (e.g., Kivioja 1971, Jank & Kivioja 1980, Thomas & Featherstone 2005), or numerical integration of elliptic integrals that are usually functions of elements of the ellipsoid and an auxiliary sphere (e.g., Saito 1970, 1979 and Sjöberg 2006). The second group includes the original method of F. W. Bessel (1826) that used an auxiliary sphere and various modifications to his method (e.g., Rainsford 1955, Vincenty 1975, 1976 and Bowring 1983, 1984). 1 Pittman developed simple recurrence relationships for the evaluation of elliptic integrals that yield distance and longitude difference between a point on a geodesic and the geodesic vertex. These equations can then be used to solve the direct and inverse problems. Pittman's technique is not limited by distance, does not involve any auxiliary surfaces, does not use arbitrarily truncated series and its accuracy is limited only by capacity of the computer used. Pittman's paper was eight pages long and five of those contained a FORTRAN computer program. In the remaining three pages he presented a very concise development of two recurrence relationships and how they can be used to solve the direct and inverse problems of the geodesic on an ellipsoid (more about this later). His paper, a masterpiece of brevity, contained a single reference and an acknowledgement to Clifford J. Mugnier – then a lecturer in the Department of Civil Engineering, University of New Orleans – for numerous discussions. Unlike other published methods which have been discussed and developed in detail over the years, Pittman's method seems to have received no further treatment to our knowledge in the academic literature, excepting brief mentions in bibliographies and reference lists. Our purpose, in this paper, is to explain Pittman's elegant method as well as provide some useful information about the properties of the geodesic on an ellipsoid. The Direct and Inverse problems of the geodesic on an ellipsoid In geodesy, the geodesic is a unique curve on the surface of an ellipsoid defining the shortest distance between two points. A geodesic will cut meridians of an ellipsoid at angles α , known as azimuths and measured clockwise from north 0º to 360 . Figure 1 shows a geodesic curve C between two points A (φ A , λA ) and B (φB , λB ) on an ellipsoid. φ , λ are geodetic latitude and longitude respectively and an ellipsoid is taken to mean a surface of revolution created by rotating an ellipse about its minor axis, NS. vertex B • •α c i s BA de geo b no rm a φA l O φB • a HA • H a B equator αAB C φmax al • n rm A no Greenwic hm e ri dia N λA λB S Fig. 1: Geodesic curve on an ellipsoid 2 The geodesic curve C of length s from A to B has a forward azimuth α AB measured at A and a reverse azimuth α BA measured at B and α AB ≠ α BA . The direct problem on an ellipsoid is: given latitude and longitude of A and azimuth α AB and geodesic distance s, compute the latitude and longitude of B and the reverse azimuth α BA . The inverse problem is: given the latitudes and longitudes of A and B, compute the forward and reverse azimuths α AB , α BA and the geodesic distance s. The geodesic is one of several curves of interest in geodesy. Other curves are: (i) normal section curves that are plane curves containing the normal at one of the terminal points; in Figure 1 there would be two normal section curves joining A and B and both would be of different lengths and also, both longer than the geodesic; (ii) curve of alignment that is the locus of all points Pk where the normal section plane through Pk contains the terminal points of the line; and (iii) great elliptic arcs that are plane curves containing the terminal points of the line and the centre of the ellipsoid. Normal section curves, curves of alignment and great elliptic arcs are all longer than the geodesic and Bowring (1972) gives equations for the differences in length between these curves and the geodesic. Some ellipsoid relationships The size and shape of an ellipsoid is defined by one of three pairs of parameters: (i) a, b where a and b are the semi-major and semi-minor axes lengths of an ellipsoid respectively, or (ii) a, f where f is the flattening of an ellipsoid, or (iii) a, e 2 where e 2 is the square of the first eccentricity of an ellipsoid. The ellipsoid parameters a, b, f , e 2 are related by the following equations a −b b a 2 − b2 b2 1 = 1 − ; b = a (1 − f ) ; e 2 = = − = f (2 − f ) a a a2 a2 The second eccentricity e′ of an ellipsoid is also of use and f = ( e′) 2 = f (2 − f ) a 2 − b2 e2 = = 2 2 2 1− e b (1 − f ) (1) (2) In Figure 1, the normals to the surface at A and B intersect the rotational axis of the ellipsoid (NS line) at H A and H B making angles φ A , φB with the equatorial plane of the ellipsoid. These are the latitudes of A and B respectively. The longitudes λA , λB are the angles between the Greenwich meridian plane and the meridian planes ONAH A and ONBH B containing the normals through A and B. φ and λ are curvilinear coordinates and meridians of longitude (curves of constant λ ) and parallels of latitude (curves of constant φ ) are parametric curves on the ellipsoidal surface. Planes containing the normal to the ellipsoid intersect the surface creating elliptical sections known as normal sections. Amongst the infinite number of possible normal sections at a point, each having a certain radius of curvature, two are of interest: (i) the meridian section, containing the axis of revolution of the ellipsoid and having the least radius of curvature, denoted by ρ (rho), and (ii) the prime vertical section, perpendicular to the meridian plane and having the greatest radius of curvature, denoted by ν (nu). 3 ρ= a (1 − e 2 ) (1 − e 2 sin φ ) 2 3 2 and (1 − e sin φ ) a 2 ρ dφ In the development that follows, use will be made of relationships that can be obtained from the differential rectangle on the ellipsoid shown in Figure 2. Here P and Q are two points on the surface connected by a curve of length ds with azimuth α at P. The meridians λ and λ + d λ , and parallels φ and φ + dφ form a differential rectangle on the surface of the ellipsoid. From Figure 2 the following relationships can be obtained ν= 2 α (3) 1 2 Q • ds P • ν cos φ dλ λ α+dα φ+dφ φ λ+dλ Fig. 2: Differential rectangle on ellipsoid ds sin α = ν cos φ d λ and ds cos α = ρ dφ (4) Mathematical definition of a geodesic A curve drawn on a surface so that its osculating plane at any point on the surface contains the normal to the surface is a geodesic (Lauf 1983). This definition, including a definition of the osculating plane, can be explained briefly by the following. A point P on a curve (on a surface) has a position vector r ( t ) = x ( t ) i + y ( t ) j + z ( t ) k where i,j,k are unit vectors in the directions of the x,y,z Cartesian coordinate axes and t is some scalar parameter. As t varies then the vector r sweeps out the curve C on the surface, hence the distance s along the curve is a function ds d of t, given via = r ( t ) . Differentiating the vector r with respect to s gives a unit dt dt tangent vector t and differentiating t with respect to s gives the curvature vector κ n , perpendicular to t. n is the principal normal vector, κ (kappa) is the curvature and 1 ρ = is the radius of curvature and also the radius of the osculating (kissing) circle κ touching P. The osculating plane at P contains both t and n (and the osculating circle), and when this plane also contains the normal to the surface then the curvature κ is least and ρ is a maximum; this is Meunier's theorem (Lauf 1983), a fundamental theorem of surfaces. Therefore, if P and Q are very close and both lie on the surface and in the osculating plane, then the distance ds between them is the shortest possible distance on the suface. 4 The characteristic equation of a geodesic The mathematical definition of a geodesic does little to help us develop solutions to the problem of computing distances of geodesics on an ellipsoid. It does lead to the characteristic equation of a geodesic, and this equation is the basis of all solutions to computing geodesic distances. This equation ν cos φ sin α = constant (5) is known as Clairaut's equation in honour of the French mathematical physicist AlexisClaude Clairaut (1713-1765). In a paper in 1733 titled Determination géométric de la perpendicular à la méridienne tracée par M. Cassini, ... Clairaut made an elegant study of the geodesics of surfaces of revolution and stated his theorem embodied in the equation above (Struik 1933). His paper also included the property already pointed out by Johann Bernoulli (1667-1748): the osculating plane of the geodesic is normal to the surface (DSB 1971) The characteristic equation of a geodesic shows that the geodesic on the ellipsoid has the intrinsic property that at any point, the product of the radius r = ν cos φ of the parallel of latitude and the sine of the azimuth, sin α , of the geodesic at that point is a constant. This means that as r decreases in higher latitudes, in both the northern and southern hemispheres, sin α changes until it reaches a maximum or minimum of ±1 . Such a point is known as a vertex and the latitude φ will take maximum value φ0 . φ max P0 vertex • s φ A node P • • λ Δλ Δ λ4 λ0 node B • equator node φ min • A' • A vertex Fig. 3: Schematic diagram of the oscillation of a geodesic on an ellipsoid Thus the geodesic oscillates over the surface of the ellipsoid between two parallels of latitude having a maximum in the Northern and Southern Hemispheres and crossing the equator at nodes. As we will demonstrate later, due to the eccentricity of the ellipsoid, the geodesic will not repeat after a complete revolution. Figure 3 shows a schematic diagram of the oscillation of a geodesic on an ellipsoid. P is a point on a geodesic that crosses the equator at A, heading in a northeasterly direction reaching a maximum northerly latitude φmax at the vertex P0 (north), then descends in a south-easterly direction crossing the equator at B, reaching a maximum southerly latitude φmin at P0 (south), then ascends in a north-easterly direction crossing the equator again at A′ . This is one complete revolution of the geodesic, but λA′ does not equal λA due to the eccentricity of the ellipsoid. Hence we say that the geodesic curve does not repeat after a complete revolution. 5 EQUATIONS FOR COMPUTATION ALONG GEODESICS Using Clairaut's equation and simple differential relationships, expressions for distances s and longitude differences Δλ (see Figure 3) between P on a geodesic and the vertex P0 can be obtained. These expressions are in the form of elliptic integrals, which by their nature do not have exact (or closed) solutions. Expanding the integrands into infinite series, integrating term-by-term and then truncating to a finite number of terms is the usual technique to obtain working solutions for s and Δλ (e.g., Thomas 1970). In this section, we show how this method can be simplified by using recurrence relationships to generate solutions to the integrals in the series. Our relationships are slightly different from Pittman (1986) and our notation is a little different but in all other respects, we have followed his elegant approach. n or a ma l Relationships between parametric latitude ψ and geodetic latitude Φ Development of formulae is simplified if parametric latitude ψ is used rather than geodetic latitude φ . The connections between the two latitudes can be obtained from the following relationships. Figure 4 shows a portion of a meridian z NPE of an ellipsoid having semi-major axis auxiliary circle OE = a and semi-minor axis ON = b . P is a N' Q point on the ellipsoid and Q is a point on an N • auxiliary circle centred on O of radius a. P and • P Q have the same perpendicular distance from the ta n axis of revolution ON. The normal to the ge b nt ellipsoid at P cuts the major axis at an angle φ (the geodetic latitude) and intersects the rotational axis at H and the distance PH = ν . O ψ φ E M The angle QOE = ψ is the parametric latitude. a w The Cartesian equation of the ellipse is H• w2 z 2 + = and the Cartesian equation of the 1 a 2 b2 Fig. 4: Meridian section of ellipsoid auxiliary circle is w2 + z 2 = a 2 . We may rearrange both equations so that w2 is on the left-hand side of the equals sign giving a2 w2 = a 2 − 2 z 2 (ellipse) and w2 = a 2 − z 2 (circle). Now, since the w-coordinates of P b a2 2 b 2 and Q are the same then a − 2 z P = a 2 − zQ2 which leads to z P = zQ . b a Using this relationship w = OM = a cosψ and z = MP = b sin ψ and differentiating equations (6) with respect to ψ gives and the chain rule gives dz dz dψ b = = − cotψ . dw dψ dw a 6 (6) dw dz = − a sinψ , = b cosψ dψ dψ Now by definition, dz is the gradient of the tangent and from Figure 4 we may write dw dz = − tan ( 90 − φ ) = − cot φ . Equating the two expressions for dz dw gives a dw relationship between ψ and φ as tanψ = b tan φ = (1 − f ) tan φ a (7) From equation (6) and Figure 4, w = a cosψ = ν cos φ and using equation (3) gives cosψ = (1 − e cos φ 2 sin 2 φ ) (8) 12 Alternatively, using the trigonometric identity sin 2 A + cos 2 A = 1 , equation (8) can be written as sin φ = (1 − e sinψ 2 cos 2 ψ ) (9) 12 The latitudes Φ0 and ψ0 of the geodesic vertex Denoting the latitude of the vertex as φ0 (a maximum), Clairaut's equation (5) gives ν 0 cos φ0 = constant = ν cos φ sin α (10) Denoting the parametric latitude of the vertex as ψ 0 and using a cosψ = ν cos φ from before, equation (10) becomes a cosψ 0 = a cosψ sin α and ψ 0 is defined as cosψ 0 = cosψ sin α (11) Squaring both sides of equation (11) and using again the identity sin A + cos A = 1 we can obtain the azimuth α of a geodesic as 2 2 cos 2 ψ − cos 2 ψ 0 cos α = (12) cosψ From equation (11) we see that if the azimuth α of a geodesic is known at P having parametric latitude ψ , the parametric latitude ψ 0 of the vertex P0 can be computed. Conversely, given ψ and ψ 0 of points P and P0 the azimuth of the geodesic between them may be computed from equation (12). ds dλ In the following sections, two differential equations; one for and the other for , dψ dψ will be developed that will enable solutions for the geodesic distance s and the longitude difference Δλ between P and the vertex P0 . 7 Differential equations for distance ds dλ and longitude difference dψ dψ From equation (9) we may write sin 2 ψ = (1 − e 2 cos 2 ψ ) sin 2 φ and differentiating 2 2 dφ (1 − e sin φ ) sinψ cosψ = dψ (1 − e 2 cos 2 ψ ) sin φ cos φ implicitly and re-arranging gives (13) Using the chain rule and equation (4) gives an expression for the derivative 2 2 ds ds dφ ρ (1 − e sin φ ) sinψ cosψ = = dψ dφ dψ cos α (1 − e 2 cos 2 ψ ) sin φ cos φ Using equations (7), (8), (9) and the fact that 1 − e 2 = ds as dψ (14) b2 , we may write a2 (1 − e2 cos2 ψ ) ds = a cosψ 12 dψ ( cos2 ψ − cos2 ψ 0 ) 12 (15) (1 − e2 cos2 ψ ) sin α d λ d λ ds = = a cosψ 12 dψ ds dψ ν cos φ ( cos2 ψ − cos2 ψ 0 ) Similarly, the chain rule and equations (4) and (15) gives 12 (16) Using equation (10) and the relationship a cosψ = ν cos φ , we may write 2 2 d λ cosψ 0 (1 − e cos ψ ) = dψ cosψ ( cos 2 ψ − cos 2 ψ )1 2 0 12 (17) Equations (15) and (17) are the basic differential equations that will yield solutions for distance s and longitude difference Δλ along the geodesic curve between P and the vertex P0 . Formula for computing geodesic distance s between P and the vertex P0 Equation (15) can be simplified by letting u = sinψ and u0 = sinψ 0 , so that du = cosψ and cos 2 ψ − cos 2 ψ 0 = u02 − u 2 , hence dψ 2 2 ds du (1 − e cos ψ ) =a dψ dψ ( u 2 − u 2 )1 2 0 12 8 (18) 2 2 du a (1 − e cos ψ ) = 12 dψ (u 2 − u 2 ) ds ds = The chain rule gives du dψ but using cos 2 ψ = 1 − sin 2 ψ 12 0 2 ds b (1 + ε u ) = du ( u 2 − u 2 )1 2 0 and equations (1) and (2) we are able to obtain, after some manipulation 12 (19) where ε = ( e′ ) . The geodesic distance s between P and the vertex P0 is given by 2 s=b (1 + ε p ) ∫ u −p ( ) p = u0 2 12 p =u 2 12 2 0 (20) dp where sinψ ≤ p ≤ sinψ 0 . Equation (20) can be simplified by use of the binomial series and the numerator of the integrand is given by (1 + ε p ) 2 12 = ∑ Bn2 ( ε p 2 ) ∞ 1 n (21) n=0 1 where Bn2 are binomial coefficients computed from the recurrence relationship 1 3 − 2n 12 Bn −1 , n ≥ 1 and B02 = 1 2n Equation (20) can now be written as Bn2 = 1 s = b∫ u0 u (u 1 2 0 −p ∑B ε ∞ ) 2 12 1 2 n =0 n n p dp = b∑ Bn ε ∞ 2n n =0 In = where ∫ u0 u (u 1 2 ∫ u0 n u (u − p2 ) p 2n 2 0 12 p 2n 2 0 −p dp , ) (22) dp = b∑ ε n Bn2 I n ∞ 2 12 1 n =0 for n ≥ 0 (23) (24) The solution of the integral I n is fundamental to the computation of the distance s along the geodesic between P and P0 , and the usual technique is to find solutions for each integral I n and expand equation (23) into a finite series; e.g. Thomas (1970, pp. 33-34). Pittman's (1986) approach, outlined below, was to developed the integral I n as a recurrence equation having the general form I n = an −1 + bn −1 I n −1 where the coefficients an −1 and bn −1 are functions of n, ψ and ψ 0 and an initial value of I 0 is a function of ψ and ψ 0 only. Now In = ∫ u0 u (u p 2n 2 0 −p ) 2 12 dp = − ∫ p 2 n −1 u0 u (u −p 2 0 −p ) 2 12 dp = − ∫ p 2 n −1 u0 u 12 d 2 u0 − p 2 ) dp ( dp and using integration by parts (e.g., Ayres 1972) the integral I n becomes 9 12 12 I n = − ⎡⎢ p 2 n −1 ( u02 − p 2 ) − ∫ ( u02 − p 2 ) ( 2n − 1) p 2 n − 2 dp ⎤⎥ ⎣ ⎦ p =u p = u0 = u 2 n −1 ( u02 − u 2 ) + ( 2n − 1) ∫ ( u02 − p 2 ) u0 12 (u = u 2 n −1 ( u02 − u 2 ) + ( 2n − 1) ⎣⎡u02 I n −1 − I n ⎦⎤ u p 2n−2 2 0 −p ) 2 12 dp 12 and 2n I n = u 2 n −1 ( u02 − u 2 ) + ( 2n − 1) u02 I n −1 for n = 1, 2,3,… 12 Let U = u so that u = Uu0 , u02 − u 2 = u02 (1 − U 2 ) giving u0 2n I n = (Uu0 ) 2 n −1 (25) u0 (1 − U 2 ) + ( 2n − 1) u02 I n−1 12 (26) for n = 1, 2,3,… 2 ( n − 1) u02 2n I n so that = I n −1 and the recurrence formula for I n becomes J n −1 u02 n u02 n a simpler recurrence formula for J n Let J n = J n = U 2 n −1 1 − U 2 + 2n − 1 J n −1 2 ( n − 1) for n = 2, 3,… (27) (28) with initial condition J1 = 2 I1 = U 1 − U 2 + I0 u02 I 0 has a simple result derived from equation (24) as follows: ( I 0 = (1 u0 ) ∫ 1 − [ p u0 ] u0 ) 2 −1 2 (29) dp (30) and with the transformation p = u0 cos θ , dp dθ = −u0 sin θ and 1 − [ p u0 ] = 1 − cos 2 θ u 2 I0 = ∫ 0 ⎛u ⎞ θ = arccos⎜ ⎟ ⎝ u0 ⎠ ⎛u⎞ ⎟ = arccos U ⎝ u0 ⎠ ( −1) dθ = arccos ⎜ (31) Using these results, the distance s along the geodesic between P and the vertex P0 is 1 1 ∞ 1 ⎧ ⎫ s = b ⎨ I 0 + ∑ ε nu02 n Bn2 J n ⎬ 2 n =1 n ⎩ ⎭ 1 1 1 b b b = bI 0 + ε u02 B12 J1 + ε 2u04 B22 J 2 + ε 3u06 B32 J 3 + 2 4 6 = D0 + D1 + D2 + D3 + 10 (32) Formula for computing difference in longitude ∆λ between P and P0 Using the binomial series we may write equation (17) as ∞ 1 cos 2 n −1 ψ dλ n = cosψ 0 ∑ ( −1) e 2 n Bn2 12 dψ n=0 ( cos2 ψ − cos2 ψ 0 ) (33) and the difference in longitude between P and the vertex P0 is Δλ = where the integral Ln is Ln = ∫ ψ0 θ =ψ ∫ ψ0 θ =ψ ∞ 1 dλ n dθ = cosψ 0 ∑ ( −1) e 2 n Bn2 Ln dθ n=0 cos 2 n θ cos θ ( cos 2 θ − cos 2 ψ 0 ) 12 dθ , (34) n≥0 (35) Again, let u = sinψ , u0 = sinψ 0 and put p = sin θ . Then dθ dp = sec θ , cos 2 θ = 1 − p 2 , and with cos 2 θ ) 1 − p2 ) n −1 ( ( cos 2 n θ dθ = dp = (1 − p 2 ) dp cos θ dθ = 2 2 cos θ cos θ 1− p n and ( cos θ − cos ψ ) 2 12 2 0 giving n ( = 1 − sin 2 θ − (1 − sin 2 ψ 0 ) (1 − p ) =∫ (u − p ) 2 n −1 u0 Ln 2 0 u polynomial (1 − p 2 ) 2 12 ) 12 = ( u02 − p 2 ) 12 dp, n ≥ 1 (36) = ∑ ( −1) Bmn −1 p 2m , where the binomial coefficients Bmn −1 are Using the binomial series, the numerator of the integrand can be expanded into a n −1 n −1 m m =0 given by n − m n −1 Bm −1 for m = 2,3, 4,… m with an initial value B1n −1 = n − 1 and noting that B0n −1 = 1 . Using these results, equation (36) becomes Bmn −1 = Ln = ∑ ( −1) Bmn −1 ∫ n −1 u0 m m=0 where u Im = ∫ u0 u ( u02 − p ) p 2m n −1 2 12 ( u02 − p 2 ) p 2m 12 11 dp = ∑ ( −1) Bmn −1 I m dp , m m =0 for m ≥ 0 (37) (38) (39) and equation (39) is the same as equation (24) except for a change of index variable. Using this similarity and the expressions above, the longitude difference given by equation (34) can be expressed as ∞ n −1 1 ⎧ ⎫ n m Δλ = cosψ 0 ⎨ L0 + ∑ ( −1) e 2 n Bn2 ∑ ( −1) Bmn −1 I m ⎬ n =1 m =0 ⎩ ⎭ Equation (40) can expanded as (40) ∞ 1 1 ⎤ ⎧ ⎡ n Δλ = cosψ 0 ⎨ L0 + ⎢ −e2 B12 + ∑ ( −1) e2 n Bn2 ⎥ I 0 n=2 ⎣ ⎦ ⎩ + ∑ ( −1) e Bn ∑ ( −1) ∞ n 2n n=2 (1 − e2 ) n −1 1 2 m =1 m ⎫ B I ⎬ ⎭ and then simplified by use of the binomial series, where 12 The terms in (41) n −1 m m = ∑ ( −1) e 2 n Bn2 = 1 + ∑ ( −1) e 2 n Bn2 = 1 − e 2 B12 + ∑ ( −1) e 2 n Bn2 ∞ [ ] ∞ 1 n n=0 1 n ∞ 1 n =1 1 n n=2 (42) of equation (41) are the last two terms on the right-hand side of ( ) equation (42) and using this equivalence gives ⎧ Δλ = cosψ 0 ⎨ L0 + ⎩ ⎧⎪ = cosψ 0 ⎨ L0 + ⎪⎩ ( ∞ n −1 1 ⎫ n m 1 − e 2 − 1 I 0 + ∑ ( −1) e 2 n Bn2 ∑ ( −1) Bmn −1 I m ⎬ n=2 m =1 ⎭ ) 1 − e −1 I0 + 2 ∑ ( −1) ∞ 1 2 n=2 n e Bn ∑ 1 2 2n n −1 m =1 ( −1) ⎫⎪ u02 m Bmn −1 J m ⎬ m ⎪⎭ m (43) where I 0 is obtained from equation (31) and J m are given by equation (28), noting that 2m as before J m = 2 m I m . u0 A simple expression for L0 is obtained from equation (35) as follows L0 = ∫ ψ0 θ =ψ cos θ ( cos 2 θ − cos 2 ψ 0 ) 1 12 dθ = ∫ ψ0 θ =ψ ( sin ψ 2 Putting x = cotψ 0 tan θ then dθ dx = tanψ 0 cos 2 θ and sec 2 θ 2 2 0 − tan θ cos ψ 0 ) 12 dθ (44) ⎛ cos 2 ψ 0 ⎞ sin 2 ψ 0 − tan 2 θ cos 2 ψ 0 = sin 2 ψ 0 ⎜ 1 − tan 2 θ ⎟ sin 2 ψ 0 ⎠ ⎝ = sin 2 ψ 0 (1 − tan 2 θ cot 2 ψ 0 ) = sin 2 ψ 0 (1 − x 2 ) so that tanψ 0 L0 = sinψ 0 ∫ψ 1 tan x= tanψ 0 12 dx 1 − x2 (45) ∫ since arcsin x ⎧ = ⎨π , then using the second result gives 1− x ⎩ 2 − arccos x dx 2 L0 = secψ 0 ⎛ tanψ ⎞ = secψ 0 arccos ⎜ ⎟ 1− x ⎝ tanψ 0 ⎠ ∫ψ 1 dx 2 tan x= tanψ 0 (46) Equation (40) can be simplified further to give the longitude difference Δλ between P and the vertex P0 as Δλ = cosψ 0 {M 0 + M 1 + M 2 + M 3 + where ⎧L ⎪ 0 ⎪ M n = ⎨ 1 − e2 − 1 I 0 ⎪ 1 ⎪⎩ 12 Bn2 ( −1)n e 2 n K n Kn = ∑ n −1 and ) ( m =1 ( −1) m m } for n = 0 (47) for n = 1 (48) for n ≥ 2 for n = 2,3, 4,… u02 m Bmn −1 J m (49) A GEODESIC ON AN ELLIPSOID DOES NOT REPEAT AFTER A SINGLE REVOLUTION Earlier, it was mentioned that due to the eccentricity of the ellipsoid, the geodesic will not repeat after a complete revolution. Here is a demonstration of that fact. When P is at the node A of Figure 3 then Δλ = Δλ4 and using equation (17) we have 4 ( Δλ4 ) = 4 cosψ 0 (1 − e cos θ ) ∫ cos θ cos θ − cos ψ ( ) ψ0 2 θ =0 2 12 2 12 2 dθ (50) 0 Since this integral is difficult to evaluate, we instead determine upper and lower bounds for the quantity 4 ( Δλ4 ) by using the bounds of the integration variable θ . This allows certain terms within the integral to be disposed of and a simplified integral evaluated. For 0 ≤ θ ≤ ψ 0 , the bounds on the numerator of the integrand are (1 − e ) 2 12 ≤ (1 − e2 cos 2 θ ) 12 ≤ (1 − e2 cos 2 ψ 0 ) 12 so that on the one hand (1 − e cos ψ ) 4 ( Δλ ) ≤ 4 cosψ ∫ cos θ ( cos θ − cos ψ ) = 4 cosψ (1 − e cos ψ ) L = 4 cosψ (1 − e cos ψ ) π secψ = 2π (1 − e cos ψ ) ψ0 4 0 2 0 θ =0 2 12 2 dθ 0 2 12 2 0 0 ψ =0 0 2 12 2 0 0 2 12 2 12 2 0 13 1 2 0 (51) (1 − e ) while on the other hand 4 ( Δλ4 ) ≥ 4 cosψ 0 ∫ ψ0 cos θ ( cos 2 θ − cos 2 ψ 0 ) 2 12 θ =0 = 2π (1 − e 2 ) 12 dθ 12 Combining these inequalities gives the bounds for the quantity 4 ( Δλ4 ) as 2π (1 − e2 ) 12 ≤ 4 ( Δλ4 ) ≤ 2π (1 − e 2 cos 2 ψ 0 ) 12 (52) Therefore, after a single revolution, 4 ( Δλ4 ) < 2π when 0 < ψ 0 < 90 . Note that when (53) ψ 0 = 0 the geodesic is an arc of the equator (a circle) and when ψ 0 = 90 the geodesic is an arc of the meridian (an ellipse). NUMERICAL RESULTS FOR DISTANCE AND LONGITUDE EQUATIONS Equations (32) and (47) for computing distance s and longitude difference Δλ between P and the vertex P0 are relatively simple summations of terms. To test the number of terms required for accurate answers, a geodesic was chosen with an azimuth α = 43 12′ 36′′ at P having latitude φ = 9 35′ 24′′ on the ellipsoid of the Geodetic Reference System 1980 (GRS80) (Moritz 1980), defined by a = 6378137 metres and f = 1 298.257 222101 . b = a (1 − f ) Numerical constants for GRS80 ellipsoid and geodesic = 6356752.314140356 metres ψ = arctan ⎡⎣(1 − f ) tan φ ⎤⎦ = 0.166826262923 radians ψ 0 = arccos [ cosψ sin α ] = 0.829602797993 radians u = sinψ U = V = = 0.166053515348; u0 = sinψ 0 = 0.737663250899 u sinψ = = 0.225107479796; I 0 = arccos U = 1.343742980976 radians u0 sinψ 0 tanψ tanψ 0 = 0.154125311675; L0 = secψ 0 arccos V = 2.097333540996 radians 14 Table 1: Ellipsoid and geodesic constants and binomial coefficients for equations (32) and (47) εn n e2 n 1 2 3 4 5 6 7 8 6.694380022901e-003 4.481472389101e-005 3.000067923478e-007 2.008359477428e-009 1.344472156450e-011 9.000407545482e-014 6.025214847044e-016 4.033507790574e-018 1 u02 n 6.739496775479e-003 4.542081678669e-005 3.061134482735e-007 2.063050597570e-009 1.390392284997e-011 9.370544321391e-014 6.315275323850e-016 4.256177768135e-018 Bn2 0.544147071727 0.296096035669 0.161119790759 0.087672862339 0.047706931312 0.025959586974 0.014125833235 0.007686530791 0.500000000000 -0.125000000000 0.062500000000 -0.039062500000 0.027343750000 -0.020507812500 0.016113281250 -0.013092041016 Table 2: Recurrence formula values and distance components for equation (32) Dn n Jn 1 2 3 4 5 6 7 8 1.563072838216 2.355723441968 2.945217495733 3.436115617261 3.865631515581 4.252194740421 4.606544305836 4.935583185013 sum 8.541841303930e+006 9.109578467516e+003 -6.293571169346e+000 9.618619108010e-003 -1.929070816523e-005 4.456897529564e-008 -1.123696751599e-010 3.006580650377e-013 8.550944598425e+006 8541841.303930 m 9109.5784675 -6.2935712 0.0096186 -0.0000193 0.0000000 -0.0000000 0.0000000 s = 8550944.598425 m Table 3: Recurrence formula values and longitude components for equation (47) n 0 1 2 3 4 5 6 7 8 Jn 1.563072838216 2.355723441968 2.945217495733 3.436115617261 3.865631515581 4.252194740421 4.606544305836 4.935583185013 sum Mn 2.097333540996e+000 -4.505315819380e-003 2.382298926901e-006 1.267831357153e-008 6.525291638252e-011 3.431821056093e-013 1.852429353592e-015 1.023576994037e-017 5.769507252421e-020 2.092830620219e+000 Δλ = cosψ 0 ( sum ) ≅ 1.413013969112 radians = 80.959736823113 degrees = 80 57′ 35.052563′′ Inspection of these numerical values indicates than an upper limit of N = 8 in the summations is more than sufficient for accuracies of 0.000001 metre in distances and 0.000001 second of arc for longitude differences. [Results for s and Δλ can be confirmed using Vincenty's equations (Vincenty 1975) that have been programmed in a Microsoft™ Excel workbook that can be downloaded from the website of Geoscience Australia at http://www.ga.gov.au/] 15 It should be noted here that the distance and longitude equations [equations (32) and (47)] are not themselves, solutions to the direct or inverse problems. Instead, they are the basic tools, which if used in certain ways, enable the solution to those problems. In a computer program, equations (32) and (47) would be embedded in a function that returned s and Δλ given the ellipsoid parameters ( a, f ) , parametric latitudes (ψ ,ψ 0 ) and the upper limit of summations ( N ) . A brief explanation of how such a function might be used is given below. USING THE DISTANCE AND LONGITUDE EQUATIONS TO COMPUTE THE DIRECT AND INVERSE PROBLEM α2 Δλ 2 φmax φ1 P2 P1 s3 A node • • s2 • α1 = α12 P0 vertex • s s1 • • α21 P1 • s4 Δλ1 λ1 P2 λ0 node B • equator node A' • A Δλ4 φmin • vertex Fig. 5: Schematic diagram of a geodesic between P1 and P2 on an ellipsoid Direct solution The key here is to use the distance equation in an iterative computation of sinψ 2 . Once this is known, then φ2 , λ2 and α 21 follow. The steps in the computation are: 1. Test the azimuth to determine whether the geodesic is heading towards or away from the nearest vertex P0 , noting that P0 will be in the same hemisphere as P1 . 2. Compute ψ 1 and ψ 0 ; then use the distance and longitude equations to compute s1 and Δλ1 between P1 and P0 , as well as λ0 . (see Fig. 5). 3. With u = sinψ = 0 , compute s4 and Δλ4 between the node and P0 . 16 4. 5. ⎧ s − s1 if geodesic is heading towards P0 . If s2 > 0 then P2 is Compute s2 = ⎨ ⎩ s + s1 if geodesic is heading away from P0 after P0 and closer to another vertex P0′ in which case s2 is reduced by multiples of 2s4 until s2 < s4 and the number of vertices n determined (vertices are 2s4 apart). If s2 < 0 then P2 is before P0 . (Note that in Fig. 5, s2 < 0 and P2 is before P0 ) Compute ψ 2 by iteration. An approximate value ψ 2′ is found from equations (32) by taking the first term only; hence ⎛s ⎞ and sinψ 2′ = sinψ 0 cos ⎜ 2 ⎟ . ⎝b⎠ ⎛ sinψ ⎞ s = I 0 = arccos ⎜ ⎟ b ⎝ sinψ 0 ⎠ ds u02 − u 2 b 1+ ε u2 where u = sinψ 2′ , ds = s2′ − s2 and s2′ is computed from the distance equation with the approximate parametric latitude ψ 2′ . Equation (19), linking ds and du, is the basis of the iterative solution for sinψ 2 (and hence φ2 ). After computing ψ 2 the longitude difference Δλ2 is computed and depending on the number of vertices and the direction of the geodesic, λ2 is determined. The azimuth α 2 follows from Clairaut's equation and the reverse azimuth α 21 obtained. Now a re-arrangement of the differential equation (19) gives du = 6. Inverse solution This is the more difficult of the two solutions since ψ 0 is unknown and must be determined by iteration, using approximations for s, α1 and α 2 obtained by approximating the ellipsoid with a sphere and using spherical trigonometry. The steps in the computation are: 1. 2. 3. Convert longitudes of P1 and P2 to east longitudes in the range 0 < λ1 , λ2 < 360 and determine a longitude difference Δλ in the range −180 ≤ Δλ ≤ 180 . ±Δλ corresponding to east/west direction of the geodesic from P1 . Compute parametric latitudes ψ 1 and ψ 2 then use these and Δλ as latitudes and longitude difference on a sphere to compute spherical distance σ and spherical angles β1 and β 2 . These can be used to determine approximations of s and α12 . Compute ψ 0 by iteration. Approximations Δλ1′ and Δλ2′ can be obtained from equation (47) noting that M 1 , M 2 , M 3 ,… ⎛ tanψ ⎞ M 0 = secψ 0 arccos ⎜ ⎟ ⎝ tanψ 0 ⎠ and ignoring terms ⎛ tanψ 1 ⎞ ⎛ tanψ 2 ⎞ This gives Δλ1′ = arccos ⎜ ⎟ and Δλ2′ = arccos ⎜ ⎟ , and ⎝ tanψ 0 ⎠ ⎝ tanψ 0 ⎠ 17 ⎧⎪ ⎫⎪ ⎛ tanψ 1 ⎞ ⎛ tanψ 2 ⎞ f (ψ 0 ) = Δλ ′ − Δλ = ⎨± arccos ⎜ ⎟ ± arccos ⎜ ⎟ ± Δλ4′ ⎬ − Δλ where the ± ⎪⎩ ⎪⎭ ⎝ tanψ 0 ⎠ ⎝ tanψ 0 ⎠ signs are associated with the east/west direction of the geodesic. ψ 0 can be found using Newton's iterative method (Williams 1972) (ψ 0 )n +1 = (ψ 0 )n − f (ψ 0 ) f ′ (ψ 0 ) (54) where f ′ (ψ 0 ) is the derivative of f (ψ 0 ) . An initial value of ψ 0 can be computed 4. from equation (11). Once ψ 0 is known then s1 , Δλ1 ; s2 , Δλ2 and s4 , Δλ4 can be computed from the distance and longitude equations and s obtained. The forward and reverse azimuths can be found from Clairaut's equation (5). CONCLUSION Pittman's (1986) recurrence relationships for evaluating integrals allow beautifully compact equations for distance s and longitude difference Δλ along a geodesic between P and the vertex P0 . These equations can be easily translated into a computer program function returning s and Δλ given a, f, u and u0 . Using such a function, algorithms (as outlined above), can be constructed to solve the direct and inverse problems on the ellipsoid. Pittman's (1986) paper (which included FORTRAN computer code) has a concise development of the necessary equations and algorithms. The paper here has a more detailed development of the recurrence relationships (with a slightly different formulation) as well as additional information on the definition and properties of a geodesic. Interestingly, Pittman's (1986) method is entirely different to other approaches that fall (roughly) into two groups: (i) numerical integration techniques and (ii) series expansion of integrals; the latter of these with a history of development extending back to Bessel's (1826) method. Numerical integration, a technique made practical with the arrival of computers in the mid to late 20th century, is relatively modern. So too is Pittman's method. To our knowledge, this is the first paper (since the original) discussing his elegant method; a method that has much to recommend it, and one that we hope might become the object of study in undergraduate surveying courses and discussion in the geodetic literature. REFERENCES Ayres, F., 1972. Calculus, Schaum's Outline Series, Theory and problems of Differential and Integral Calculus, 2nd edn, McGraw-Hill Book Company, New York. Bessel, F. W., 1826, 'Uber die Berechnung der Geographischen Langen und Breiten aus geodatischen Vermessungen. (On the computation of geographical longitude and latitude grom geodetic measurements)', Astronomische Nachrichten (Astronomical Notes), Band 4 (Vol. 4), No. 86, Spalten 241-254 (Columns 241-254). 18 Bowring, B. R., 1972, 'Correspondence: Distance and the spheroid', Survey Review, Vol. 21, No. 164, pp. 281-284. Bowring, B. R., 1983, 'The geodesic inverse problem', Bulletin Geodesique, Vol. 57, No. 2, pp. 109-120. Bowring, B. R., 1984, 'Note on the geodesic inverse problem', Bulletin Geodesique, Vol. 58, p. 543. DSB, 1971. Dictionary of Scientific Biography, C.C. Gillispie (Editor in Chief), Charles Scribener's Sons, New York. Jank, W., Kivioja, L.A., 1980, 'Solution of the direct and inverse problems on reference ellipsoids by point-by-point integration using programmable pocket calculators', Surveying and Mapping, Vol. 15, No. 3, pp. 325-337. Kivioja, L. A., 1971, 'Computation of geodetic direct and indirect problems by computers accumulating increments from geodetic line elements', Bulletin Geodesique, No. 99, pp. 55-63. Lauf, G.B., 1983. Geodesy and Map Projections, TAFE Publications Unit, Collingwood, Australia Moritz, H., 1980, 'Geodetic reference system 1980', The Geodesists Handbook 1980, Bulletin Geodesique, Vol. 54, No. 3, pp. 395-407. Pittman, M.E., 1986. 'Precision direct and inverse solutions of the geodesic', Surveying and Mapping, Vol. 46, No. 1, pp. 47-54, March 1986. Rainsford, H. F., 1955, 'Long geodesics on the ellipsoid', Bulletin Geodesique, No. 37, pp. 12-22. Saito, T., 1970, 'The computation of long geodesics on the ellipsoid by non-series expanding procedure', Bulletin Geodesique, No. 98, pp. 341-374. Saito, T., 1979, 'The computation of long geodesics on the ellipsoid through Gaussian quadrature', Bulletin Geodesique, Vol. 53, No. 2, pp. 165-177. Sjöberg, Lars E., 2006, 'New solutions to the direct and indirect geodetic problems on the ellipsoid', Zeitschrift für Geodäsie, Geoinformation und Landmanagement (zfv), 2006(1):36 pp. 1-5. Struik, D.J., 1933. 'Outline of a history of differential geometry', Isis, Vol. 19, No.1, pp. 92-120, April 1933. (Isis is an official publication of the History of Science Society and has been in print since 1912. It is published by the University of Chicago Press - Journals Division: http://www.journals.uchicargo.edu/) Thomas, P.D., 1970. Spheroidal Geodesics, Reference Systems, & Local Geometry, Special Publication No. 138 (SP-138), United States Naval Oceanographic office, Washington. Thomas, C. M. and Featherstone, W. E., 2005, 'Validation of Vincenty's formulas for the geodesic using a new fourth-order extension of Kivioja's formual', Journal of Surveying Engineering, Vol. 131, No. 1, pp. 20-26. Vincenty, T., 1975, 'Direct and inverse solutions on the ellipsoid with application of nested equations', Survey Review, Vol. 22, No. 176, pp. 88-93. Vincenty, T., 1976, 'Correspondence: solutions of geodesics', Survey Review, Vol. 23, No. 180, p. 294. Williams, P. W., 1972, Numerical Computation, Thomas Nelson and Sons Ltd, London. 19 THE NORMAL SECTION CURVE ON AN ELLIPSOID R. E. Deakin School of Mathematical & Geospatial Sciences, RMIT University, GPO Box 2476V, MELBOURNE VIC 3001, AUSTRALIA email: rod.deakin@rmit.edu.au November 2009 ABSTRACT These notes provide a detailed derivation of the equation for a normal section curve on an ellipsoid and from this equation a technique for computing the arc length along a normal section curve is developed. Solutions for the direct and inverse problems of the normal section on an ellipsoid are given and MATLAB functions are provided showing the algorithms developed. INTRODUCTION In geodesy, the normal section curve is a plane curve created by intersecting a plane containing the normal to the ellipsoid (a normal section plane) with the surface of the ellipsoid, and the ellipsoid is a reference surface approximating the true shape of the Earth. In general, there are two normal section curves between two points on an ellipsoid, a fact that will be explained below, so the normal section curve is not a unique curve. And the distance along a normal section curve is not the shortest distance between two points. The shortest distance is along the geodesic, a unique curve on the surface defining the shortest distance, but the difference in length between the normal section and a geodesic can be shown to be negligible in all practical cases. The azimuth of a normal section plane between two points on an ellipsoid can be easily determined by coordinate geometry if the latitudes and longitudes of the points are expressed in a local Cartesian coordinate system – this will be explained in detail below. The distance along a normal section curve can be determined by numerical integration once the polar equation of the curve is known. And the derivation of the polar equation of Normal Section.doc 1 a normal section curve is developed in detail by first proving that normal sections of ellipsoids are in fact ellipses, then deriving Cartesian equations of the ellipsoid and the normal section in local Cartesian coordinates and finally transforming the local Cartesian coordinates to polar coordinates. The differential equation for arc length (as a function of polar coordinates) is derived and a solution using a numerical technique known as Romberg integration is developed for the arc length along a normal section curve. The azimuth of the normal section as a function of Cartesian coordinates); the polar equation of the normal section curve; and the solution of the arc length using Romberg integration are the core components of solutions of the direct and inverse cases of the normal sections on an ellipsoid. These are fundamental geodetic operations and can be likened to the equivalent operations of plane surveying; radiations (computing coordinates of points given bearings and distances radiating from a point of known coordinates) and joins; (computing bearings and distances between points having known coordinates). The solution of the direct and inverse cases of the normal section are set out in detail and MATLAB functions are provided. THE ELLIPSOID z np ch λ Gre en wi b a x O• φ H• equator P • a y p Figure 1: The reference ellipsoid In geodesy, the ellipsoid is a surface of revolution created by rotating an ellipse (whose major and minor semi-axes lengths are a and b respectively and a > b ) about its minor axis. The φ, λ curvilinear coordinate system is a set of orthogonal parametric curves on the surface – parallels of latitude φ and meridians of longitude λ with their respective reference planes; the equator and the Greenwich meridian. Normal Section.doc 2 Longitudes are measured 0 to ±180 (east positive, west negative) from the Greenwich meridian and latitudes are measured 0 to ±90 (north positive, south negative) from the equator. The x,y,z geocentric Cartesian coordinate system has an origin at O, the centre of the ellipsoid, and the z-axis is the minor axis (axis of revolution). The xOz plane is the Greenwich meridian plane (the origin of longitudes) and the xOy plane is the equatorial plane. The positive x-axis passes through the intersection of the Greenwich meridian and the equator, the positive y-axis is advanced 90 east along the equator and the positive z-axis passes through the north pole of the ellipsoid. The Cartesian equation of the ellipsoid is x 2 + y2 z 2 + 2 =1 a2 b (1) where a and b are the semi-axes of the ellipsoid (a > b ) . The first-eccentricity squared e 2 and the flattening f of the ellipsoid are defined by a 2 − b2 = f (2 − f ) a2 a −b f = a e2 = (2) and the polar radius c, and the second-eccentricity squared e ′2 are defined by a2 a = b 1− f 2 f (2 − f ) a − b2 e2 2 ′ = = e = 2 2 b2 (1 − f ) 1 − e c = (3) PROOF THAT NORMAL SECTION CURVES ARE ELLIPSES Normal section curves are plane curves; i.e., curves on the surface of the ellipsoid created by intersecting the surface with a plane; and this plane (the normal section plane) contains the normal to the surface at one of the terminal points. A meridian of longitude is also a normal section curve and all meridians of longitude on the ellipsoid are ellipses having semi-axes a and b (a > b ) since all meridian planes – e.g., Greenwich meridian plane xOz and the meridian plane pOz containing P – contain the zaxis of the ellipsoid and their curves of intersection are ellipses (planes intersecting surfaces Normal Section.doc 3 create curves of intersection on the surface). This can be seen if we let p 2 = x 2 + y 2 in equation (1) which gives the familiar equation of the (meridian) ellipse p2 z 2 + =1 a 2 b2 (a < b ) (4) z np • a P no rm al b p φ O • H • C Figure 2: Meridian ellipse In Figure 2, φ is the latitude of P (the angle between the equator and the normal), C is the centre of curvature and PC is the radius of curvature of the meridian ellipse at P. H is the intersection of the normal at P and the z-axis (axis of revolution). The only parallel of latitude that is also a normal section is the equator. And in this unique case, this normal section curve (the equator) is a circle. All parallels of latitude on the ellipsoid are circles created by intersecting the ellipsoid with planes parallel to (or coincident with) the xOy equatorial plane. Replacing z with a constant C in equation (1) gives the equation for circular parallels of latitude ⎛ C 2 ⎞⎟ ⎜ x + y = a ⎜1 − 2 ⎟⎟ = p 2 ⎜⎝ b ⎠ 2 2 2 (0 ≤ C ≤ b; a >b ) (5) All other curves on the surface of the ellipsoid created by intersecting the ellipsoid with a plane are ellipses. And this general statement covers all normal section planes that are not meridians or the equator. This can be demonstrated by using another set of coordinates x ′, y ′, z ′ that are obtained by a rotation of the x,y,z coordinates such that ⎡x ′ ⎤ ⎡x ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ′ ⎢y ⎥ = R ⎢⎢y ⎥⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ z ⎢⎣ z ′ ⎦⎥ ⎣⎢ ⎦⎥ ⎡r r ⎤ ⎢ 11 12 r13 ⎥ where R = ⎢⎢r21 r22 r23 ⎥⎥ ⎢ ⎥ r r r ⎣⎢ 31 32 33 ⎦⎥ where R is an orthogonal rotation matrix and R−1 = RT so Normal Section.doc 4 ⎡ ⎤ ⎡x ⎤ ⎢x ′⎥ ⎢ ⎥ ⎢y ⎥ = R−1 ⎢⎢y ′ ⎥⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢⎣ z ⎥⎦ ⎢⎣ z ′ ⎥⎦ and ⎡x ⎤ ⎡r r r ⎤ ⎢⎡x ′⎥⎤ ⎢ ⎥ ⎢ 11 21 31 ⎥ ⎢ ⎥ ⎢y ⎥ = ⎢r r r ⎥ ⎢y ′ ⎥ ⎢ ⎥ ⎢ 12 22 32 ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢⎣ z ⎥⎦ ⎢⎣r13 r23 r33 ⎥⎦ ⎢⎢ z ′ ⎥⎥ ⎣ ⎦ x 2 = r112 x ′2 + r212 y ′2 + r312 z ′2 + 2r11r21x ′y ′ + 2r11r31x ′z ′ + 2r21r31y ′z ′ y 2 = r122 x ′2 + r222 y ′2 + r322 z ′2 + 2r12r22x ′y ′ + 2r12r32x ′z ′ + 2r22r32y ′z ′ giving z 2 = r132 x ′2 + r232 y ′2 + r332 z ′2 + 2r13r23x ′y ′ + 2r13r33x ′z ′ + 2r23r33y ′z ′ x 2 + y 2 = (r112 + r122 ) x ′2 + (r212 + r222 ) y ′2 + (r312 + r322 ) z ′2 + 2 (r11r21 + r12r22 ) x ′y ′ +2 (r11r31 + r12r32 ) x ′z ′ + 2 (r21r31 + r22r32 ) y ′z ′ Substituting into equation (1) gives the equation of the ellipsoid in x ′, y ′, z ′ coordinates ⎧ ⎪(r112 + r122 ) x ′2 + (r212 + r222 ) y ′2 + (r312 + r322 ) z ′2 + 2 (r11r21 + r12r22 ) x ′y ′⎪⎫ ⎪ 1⎪ ⎪ ⎪ ⎨ ⎬ ⎪⎪ a 2 ⎪⎪+2 (r11r31 + r12r32 ) x ′z ′ + 2 (r21r31 + r22r32 ) y ′z ′ ⎪ ⎪ ⎩ ⎭ 1 + 2 {r132 x ′2 + r232 y ′2 + r332 z ′2 + 2r13r23x ′y ′ + 2r13r33x ′z ′ + 2r23r33y ′z ′} = 1 b (6) In equation (6) let z ′ = C 1 where C 1 is a constant. The result will be the equation of a curve created by intersecting an inclined plane with the ellipsoid, i.e., { } ⎧⎪ ⎧⎪⎪r212 + r222 r112 + r122 r132 ⎫⎪⎪ 2 r11r21 + r12r22 r13r23 r232 ⎫⎪⎪ 2 ′ ′ ′ 2 x x y + + + + + ⎨⎪ ⎬ ⎨ ⎬y ′ ⎪⎩⎪ a 2 ⎪⎩⎪ a 2 b 2 ⎪⎪⎭ a2 b2 b 2 ⎪⎪⎭ + {2C 1 (r11r31 + r12r32 + r13r33 )} x ′ + {2C 1 (r21r31 + r22r32 + r23r33 )} y ′ = 1 − C 12 {r312 + r322 + r332 } (7) This equation can be expressed as Ax ′2 + 2Hx ′y ′ + By ′2 + Dx ′ + Ey ′ = 1 (8) where it can be shown that AB − H 2 > 0 , hence it is the general Cartesian equation of an ellipse that is offset from the coordinate origin and rotated with respect to the coordinate axes (Grossman 1981). Equations of a similar form can be obtained for inclined planes x ′ = C 2 and y ′ = C 3 , hence we may say, in general, inclined planes intersecting the ellipsoid will create curves of intersection that are ellipses. Normal Section.doc 5 NORMAL SECTION CURVES BETWEEN P1 AND P2 ON THE ELLIPSOID normal section P2 P1 an i di r e m P1 of α12 P1 • • P2 α 21 a φ1 l ma no r nor ma l normal section P1P2 φ2 rotational axis of ellipsoid north pole O centre of ellipsoid H1 a H2 equ a tor of el lipsoid Figure 3: Normal section curves between P1 and P2 on the ellipsoid Figure 3 shows P1 and P2 on the surface of an ellipsoid. The normals at P1 and P2 (that lie in the meridian planes ONP1H 1 and ONP2H 2 respectively) cut the rotational axis at H 1 and H 2 , making angles φ1, φ2 with the equatorial plane of the ellipsoid. These are the latitudes of P1 and P2 respectively. The plane containing the ellipsoid normal at P1 , and also the point P2 intersects the surface of the ellipsoid along the normal section curve P1P2 . The reciprocal normal section curve P2P1 (the intersection of the plane containing the normal at P2 , and also the point P1 with the ellipsoidal surface) does not in general coincide with the normal section curve P1P2 although the distances along the two curves are, for all practical purposes, the same. Hence there is not a unique normal section curve between P1 and P2 , unless both P1 and P2 are on the same meridian or both are on the equator. The azimuth α12 , is the clockwise angle ( 0 to 360°) measured at P1 in the local horizon plane from north (the direction of the meridian) to the normal section plane containing P2 . The azimuth α21 is the azimuth of the normal section plane P2P1 measured at P2 . Normal Section.doc 6 LOCAL CARTESIAN COORDINATES Figure 4 shows a local Cartesian coordinate system E,N,U with an origin at P on the reference ellipsoid with respect to the geocentric Cartesian system x,y,z whose origin is a the centre of the ellipsoid z np ch λ N Gre en wi b a x U P • O• φ H• equator a E y p Figure 4: x,y,z geocentric Cartesian and E,N,U local Cartesian coordinates Geocentric x,y,z Cartesian coordinates are computed from the following equations x = ν cos φ cos λ y = ν cos φ sin λ ( (9) ) z = ν 1 − e 2 sin φ where ν = PH in Figure 4 is the radius of curvature in the prime vertical plane and ν= a 1 − e 2 sin 2 φ (10) The origin of the local E,N,U system lies at the point P (φ0 , λ0 ) . The positive U-axis is coincident with the normal to the ellipsoid passing through P and in the direction of increasing radius of curvature ν . The N-U plane lies in the meridian plane passing through P and the positive N-axis points in the direction of North. The E-U plane is perpendicular to the N-U plane and the positive E-axis points East. The E-N plane is often referred to as the local geodetic horizon plane. Geocentric and local Cartesian coordinates are related by the matrix equation ⎡U ⎤ ⎢ ⎥ ⎢E ⎥ = R ⎢ ⎥ φλ ⎢ ⎥ ⎢⎣N ⎥⎦ Normal Section.doc ⎡x − x ⎤ 0⎥ ⎢ ⎢y − y ⎥ ⎢ 0⎥ ⎢ ⎥ ⎢⎣ z − z 0 ⎥⎦ (11) 7 where x 0 , x 0 , z 0 are the geocentric Cartesian coordinates of the origin of the E,N,U system and R φλ is a rotation matrix derived from the product of two separate rotation matrices. R φλ ⎡ cos φ 0 ⎢ ⎢ = R φRλ = ⎢ 0 ⎢ ⎢− sin φ0 ⎢⎣ 0 sin φ0 ⎤⎥ ⎡⎢ cos λ0 ⎥⎢ 1 0 ⎥ ⎢− sin λ0 ⎥⎢ 0 cos φ0 ⎥⎥ ⎢⎢ 0 ⎦⎣ sin λ0 cos λ0 0 0⎤⎥ ⎥ 0⎥ ⎥ 1 ⎥⎥ ⎦ (12) The first, R λ (a positive right-handed rotation about the x-axis by λ ) takes the x,y,z axes to x ′, y ′, z ′ . The z ′ -axis is coincident with the z-axis and the x ′ -y ′ plane is the Earth's equatorial plane. The x ′ -y ′ plane is the meridian plane passing through P and the y ′ -axis is perpendicular to the meridian plane and in the direction of East. x' y sin λ y z (z') sλ co x λ y x λ sin sλ co •P ⎡x ′⎤ ⎡ cos λ sin λ 0⎤ ⎡x ⎤ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢y ′ ⎥ = ⎢− sin λ cos λ 0⎥ ⎢y ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ′⎥ ⎢ ⎥⎢ ⎥ 0 1⎥ ⎢ z ⎥ ⎢⎣ z ⎥⎦ ⎢⎣ 0 ⎦⎣ ⎦ Rλ x' x The second R φ (a rotation about the y'-axis by φ ) takes the x ′, y ′, z ′ axes to the x ′′, y ′′, z ′′ axes. The x ′′ -axis is parallel to the U-axis, the y ′′ -axis is parallel to the E-axis and the z ′′ -axis is parallel to the N-axis. z' • z' z" φ φ sφ co x' φ si n s x' x' x" in P s co z' φ ⎡x ′′⎤ ⎡ cos φ 0 sin φ ⎤ ⎡x ′⎤ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢y ′′ ⎥ = ⎢ 0 ⎥ ⎢y ′ ⎥ 1 0 ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ′′ ⎥ ⎢ ⎥⎢ ⎥ ⎢⎣ z ⎥⎦ ⎢⎣− sin φ 0 cos φ ⎥⎦ ⎢⎣z ′ ⎥⎦ Rφ y'(y") Normal Section.doc 8 Performing the matrix multiplication in equation (12) gives R φλ ⎡ cos φ0 sin λ0 ⎢ cos φ0 cos λ0 ⎢ = ⎢ − sin λ0 cos λ0 ⎢ ⎢− sin φ0 cos λ0 − sin φ0 sin λ0 ⎢⎣ sin φ0 ⎥⎤ ⎥ 0 ⎥ ⎥ cos φ0 ⎥⎥ ⎦ (13) Rotation matrices formed from rotations about coordinate axes are often called Euler rotation matrices in honour of the Swiss mathematician Léonard Euler (1707-1783). They are orthogonal, satisfying the condition RT R = I (i.e., R−1 = RT ). A re-ordering of the rows of the matrix R φλ gives the transformation in the more usual form E,N,U ⎡E ⎤ ⎡x − x ⎤ 0⎥ ⎢ ⎥ ⎢ ⎢N ⎥ = R ⎢ y − y ⎥ ⎢ ⎥ ⎢ 0⎥ ⎢ ⎥ ⎢ ⎥ − U z z ⎢⎣ ⎥⎦ ⎢⎣ 0 ⎦⎥ where ⎡ − sin λ cos λ0 0 ⎢ ⎢ R = ⎢− sin φ0 cos λ0 − sin φ0 sin λ0 ⎢ ⎢ cos φ0 cos λ0 cos φ0 sin λ0 ⎣⎢ (14) 0 ⎤⎥ ⎥ cos φ0 ⎥ ⎥ sin φ0 ⎥⎥ ⎦ (15) From equation (14) we can see that coordinate differences ΔE = Ek − Ei , ΔN = N k − N i and ΔU = U k −U i in the local geodetic horizon plane are given by ⎡ ΔE ⎤ ⎡Δx ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ΔN ⎥ = R ⎢Δy ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ Δ U ⎢⎣ ⎥⎦ ⎢⎣ Δz ⎦⎥ (16) where Δx = x k − x i , Δy = yk − yi and Δz = z k − z i are geocentric Cartesian coordinate differences. NORMAL SECTION AZIMUTH ON THE ELLIPSOID The matrix relationship given by equation (16) can be used to derive an expression for the azimuth of a normal section between two points on the reference ellipsoid. The normal section plane between points P1 and P2 on the Earth's terrestrial surface contains the normal at point P1 , the intersection of the normal and the rotational axis of the ellipsoid at H 1 (see Figure 3) and P2 . This plane will intersect the local geodetic horizon plane in a line having an angle with the north axis, which is the direction of the meridian at P1 . Normal Section.doc 9 This angle is the azimuth of the normal section plane P1 − P2 denoted as α12 and will have components ΔE and ΔN in the local geodetic horizon plane. From plane geometry tan α12 = ΔE ΔN (17) By inspection of equations (15) and (16) we may write the equation for normal section azimuth between points P1 and P2 as tan α12 = −Δx sin λ1 + Δy cos λ1 ΔE = ΔN −Δx sin φ1 cos λ1 − Δy sin φ1 sin λ1 + Δz cos φ1 (18) where Δx = x 2 − x 1 , Δy = y2 − y1 and Δz = z 2 − z 1 EQUATION OF THE ELLIPSOID IN LOCAL CARTESIAN COORDINATES The Cartesian equation of the ellipsoid is given by equation (1) as x 2 + y2 z 2 + 2 =1 a2 b (19) and multiplying both sides of equation (19) by a 2 gives x 2 + y2 + a2 2 z = a2 2 b (20) a2 = e ′2 + 1 and substituting this result into equation (20) 2 b and re-arranging gives an alternative expression for the Cartesian equation of an ellipsoid Re-arranging equation (3) gives as x 2 + y 2 + z 2 + e ′ 2z 2 − a 2 = 0 (21) We now find expressions for x 2 , y 2 and z 2 in terms of local Cartesian coordinates that when substituted into equation (21) and simplified will give the equation of the ellipsoid in local Cartesian coordinates. The relevant substitutions are set out below. The relationship between geocentric and local Cartesian coordinates is given by equation (14) as ⎡E ⎤ ⎡x − x ⎤ 0⎥ ⎢ ⎥ ⎢ ⎢N ⎥ = R ⎢ y − y ⎥ ⎢ ⎥ ⎢ 0⎥ ⎢ ⎥ ⎢ ⎥ − U z z ⎢⎣ ⎥⎦ ⎢⎣ 0 ⎥⎦ Normal Section.doc (22) 10 where the orthogonal rotation matrix R is given by equation (15) as ⎡r r ⎤ ⎡ cos λ0 ⎢ 11 12 r13 ⎥ ⎢ − sin λ0 R = ⎢⎢r21 r22 r23 ⎥⎥ = ⎢⎢− sin φ0 cos λ0 − sin φ0 sin λ0 ⎢ ⎥ ⎢ cos φ0 sin λ0 ⎢⎣r31 r32 r33 ⎥⎦ ⎢⎣ cos φ0 cos λ0 0 ⎤⎥ cos φ0 ⎥⎥ ⎥ sin φ0 ⎥ ⎦ (23) and x 0 = ν 0 cos φ0 cos λ0 y 0 = ν 0 cos φ0 sin λ0 ( (24) ) z 0 = ν 0 1 − e sin φ0 2 with the radius of curvature of the prime vertical section ν0 = a 1 − e 2 sin2 φ0 (25) Re-arranging equation (22) gives ⎡x ⎤ ⎡ E ⎤ ⎡x ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ 0⎥ ⎢y ⎥ = R−1 ⎢N ⎥ + ⎢y ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ 0⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢⎣ z ⎥⎦ ⎢⎣U ⎥⎦ ⎢⎣ z 0 ⎦⎥ (26) where R −1 ⎡r r r ⎤ ⎢ 11 21 31 ⎥ = RT = ⎢⎢r12 r22 r32 ⎥⎥ ⎢ ⎥ ⎢⎣r13 r23 r33 ⎥⎦ (27) Expanding equation (26) gives x = r11E + r21N + r31U + x 0 y = r12E + r22N + r32U + y 0 z = r13E + r23N + r33U + z 0 (28) and x 2 = r112 E 2 + r212 N 2 + r312U 2 + 2r11r21EN + 2r11r31EU + 2r21r31NU + x 02 + 2r11Ex 0 + 2r21Nx 0 + 2r31Ux 0 y 2 = r122 E 2 + r222 N 2 + r312U 2 + 2r12r22EN + 2r12r32EU + 2r22r32NU + y 02 + 2r12Ey 0 + 2r22Ny 0 + 2r32Uy 0 (29) z 2 = r132 E 2 + r232 N 2 + r332U 2 + 2r13r23EN + 2r13r33EU + 2r23r33NU + z 02 + 2r13Ez 0 + 2r23Nz 0 + 2r33Uz 0 Normal Section.doc 11 with ( ) ( ) ( ) x 2 + y 2 + z 2 = r112 + r122 + r132 E 2 + r212 + r222 + r232 N 2 + r312 + r322 + r332 U 2 + 2 (r11r21 + r12r22 + r13r23 ) EN + 2 (r11r31 + r12r32 + r13r33 ) EU + 2 (r21r31 + r22r32 + r23r33 ) NU + x 02 + y 02 + z 02 + 2 (r11x 0 + r12y 0 + r13z 0 ) E + 2 (r21x 0 + r22y 0 + r23z 0 ) N + 2 (r31x 0 + r32y 0 + r33z 0 )U (30) Now using the equivalences for r11, r12 , etc given in equation (23), certain terms in equation (30) can be simplified as r112 + r122 + r132 = sin2 λ0 + cos2 λ0 = 1 ( φ (cos ) λ ) + sin r212 + r222 + r232 = sin2 φ0 cos2 λ0 + sin2 λ0 + cos2 φ0 = 1 r + r + r = cos 2 31 2 32 2 33 2 0 2 λ0 + sin 2 2 0 φ0 = 1 and r11r21 + r12r22 + r13r23 = sin λ0 sin φ0 cos λ0 − cos λ0 sin φ0 sin λ0 + 0 =0 r11r31 + r12r32 + r13r33 = − sin λ0 cos φ0 cos λ0 + cos λ0 cos φ0 sin λ0 + 0 =0 r21r31 + r22r32 + r23r33 = − sin φ0 cos φ0 cos2 λ0 − sin φ0 cos φ0 sin2 λ0 + cos φ0 sin φ0 ( ) = − sin φ0 cos φ0 cos2 λ0 + sin2 λ0 + cos φ0 sin φ0 =0 Substituting these results into equation (30) gives x 2 + y 2 + z 2 = E 2 + N 2 + U 2 + x 02 + y 02 + z 02 + 2 (r11x 0 + r12y 0 + r13z 0 ) E + 2 (r21x 0 + r22y 0 + r23z 0 ) N + 2 (r31x 0 + r32y 0 + r33z 0 )U (31) Using equation (24) and noting that equation (25) can be re-arranged as 1 − e 2 sin2 φ0 = a2 ν 02 we have Normal Section.doc 12 ( ) ( ) 2 x 02 + y 02 + z 02 = ν 02 cos2 φ0 cos2 λ0 + sin2 λ0 + ν 02 1 − e 2 sin2 φ0 ( = ν 02 cos2 φ0 + ν 02 sin2 φ0 1 − 2e 2 + e 4 ) = ν cos φ0 + ν sin φ0 − 2ν e sin φ0 + ν 02e 4 sin2 φ0 2 0 2 0 2 0 2 2 0 2 2 2 2 0 2 2 = ν − 2ν 02e 2 sin φ0 + ν 02e 4 sin φ0 ( ) ( = ν 1 − e 2 sin2 φ0 − ν 02e 2 sin2 φ0 1 − e 2 ( = a − ν −a 2 2 0 2 )(1 − e ) ) 2 From equations (31), (23) and (24) we have r11x 0 + r12y 0 + r13z 0 = −ν 0 cos φ0 cos λ0 sin λ0 + ν 0 cos φ0 sin λ0 cos λ0 + 0 =0 r21x 0 + r22y 0 + r23z 0 = −ν 0 cos φ0 sin φ0 cos2 λ0 − ν 0 sin φ0 cos φ0 sin2 λ0 ( ) + ν 0 1 − e 2 sin φ0 cos φ0 ( = −ν 0 cos φ0 sin φ0 cos2 λ0 + sin2 λ0 − 1 + e 2 ) = −ν 0e cos φ0 sin φ0 2 and ( ) r31x 0 + r32y 0 + r33z 0 = ν 0 cos2 φ0 cos2 λ0 + ν 0 cos2 φ0 sin2 λ0 + ν 0 1 − e 2 sin2 φ0 ( ) = ν 0 cos φ0 + ν 0 1 − e sin φ0 2 2 2 = ν 0 cos φ0 + ν 0 sin φ0 − ν 0e 2 sin2 φ0 2 2 ( = ν 0 1 − e 2 sin2 φ0 =a ) 2 Substituting these results into equation (31) gives ( ) ( x 2 + y 2 + z 2 = E 2 + N 2 + U 2 + ν 02 1 − e 2 sin2 φ0 − ν 02e 2 sin2 φ0 1 − e 2 ( ) ) − 2ν 0e sin φ0 cos φ0N + 2ν 0 1 − e sin φ0 U 2 2 2 (32) Using the expression for z 2 given in equation (29), the term e ′2z 2 in equation (21) can be expressed as { e ′2z 2 = e ′2 r132 E 2 + r232 N 2 + r332U 2 + 2r13r23EN + 2r13r33EU + 2r23r33NU + z 02 + 2r13Ez 0 + 2r23Nz 0 + 2r33Uz 0 } (33) where r132 = 0; r232 = cos2 φ; r332 = sin2 φ; 2r13r23 = 0; 2r13r33 = 0; 2r23r33 = 2 cos φ0 sin φ0 ; ( ) 2 z 02 = ν 02 1 − e 2 sin2 φ0 ; ( ) ( ) 2r13z 0 = 0; 2r23z 0 = 2ν 0 1 − e 2 cos φ0 sin φ0 ; 2r33z 0 = 2ν 0 1 − e 2 sin2 φ0 Normal Section.doc 13 and equation (33) can be expressed as ( ) e ′2z 2 = e ′2 cos2 φ0N 2 + sin2 φ0U 2 + 2 cos φ0 sin φ0NU 2 ⎛ ⎞ + e ′2 ⎜⎜ν 02 1 − e 2 sin2 φ0 + 2ν 0 1 − e 2 cos φ0 sin φ0N + 2ν 0 1 − e 2 sin2 φ0U ⎟⎟⎟ ⎝ ⎠ ( But e ′2 = ) ( ( ) e2 so we may write 1 − e2 ( e ′2z 2 = e ′2 cos φ0 N + sin φ0 U + ) ) 2 2 ⎞ e2 ⎛ 2 ⎜ν 0 1 − e 2 sin2 φ0 + 2ν 0 1 − e 2 cos φ0 sin φ0N + 2ν 0 1 − e 2 sin2 φ0U ⎟⎟ 2 ⎜ ⎠⎟ 1 −e ⎝ ( ) ( ( = e ′2 cos φ0 N + sin φ0 U ( ) ( ) ) 2 ) 2 + ν 02 1 − e 2 e 2 sin2 φ0 + 2ν 0e 2 cos φ0 sin φ0N + 2ν 0e 2 sin2 φ0U (34) Substituting equations (32) and (34) into equation (21) gives ( (1 − e E 2 + N 2 + U 2 + e ′2 cos φ0 N + sin φ0 U + ν 02 2 ) ) 2 − a2 ( sin2 φ0 − ν 02e 2 sin2 φ0 1 − e 2 ( ) ) − 2ν 0e sin φ0 cos φ0 N + 2ν 0 1 − e sin φ0 U 2 ( + ν e sin φ0 1 − e 2 2 0 2 2 ) + 2ν e ( 2 0 2 2 sin φ0 cos φ0 N + 2ν 0e 2 sin2 φ0 U = 0 ) And simplifying and noting that ν 02 1 − e 2 sin2 φ0 = a 2 gives the Cartesian equation of the ellipsoid in local coordinates E,N,U as ( E 2 + N 2 + U 2 + e ′2 cos φ0 N + sin φ0 U ) 2 + 2ν 0U = 0 (35) The origin of the E,N,U system is at P1 with coordinates φ0 , λ0 where the radius of curvature of the prime vertical section is ν 0 = a (1 − e 2 sin φ0 2 ) 1 2 and the first and second eccentricities of the ellipsoid (a, f ) are obtained from e 2 = f (2 − f ) and e ′2 = e2 1 − e2 Equation (35) is similar to an equation given by Bowring (1978, p. 363, equation (10) with x ≡ N y ≡ −U , z ≡ E ). Bowring does not give a derivation, but notes that his equation is taken from Tobey (1928). Normal Section.doc 14 CARTESIAN EQUATION OF THE NORMAL SECTION CURVE The Cartesian equation of the normal section curve is developed as a function of local Cartesian coordinates ζ , η, ξ which are rotated from the local E,N,U system by the azimuth α of the normal section plane. z λ0 U N ellipsoid P2 • α b P1 • E no ν rm 0 O• al •H a φ0 y a a x equator Figure 5: Normal section plane between P1 and P2 on the ellipsoid Figure 5 shows a normal section plane having an azimuth α between P1 and P2 on the ellipsoid and a local Cartesian coordinate system E,N,U with an origin at P1 . Cartesian equations of the ellipsoid in geocentric and local coordinates given by equations (1), (21) and (35) are: x 2 + y2 z 2 + 2 =1 a2 b x 2 + y 2 + z 2 + e ′2z 2 − a 2 = 0 ( E 2 + N 2 + U 2 + e ′2 cos φ0 N + sin φ0 U ) 2 + 2ν 0U = 0 Consider a rotation of the E,N,U system about the U-axis by the azimuth α so that the rotated N-axis lies in the normal section plane and the rotated E-axis is perpendicular to the plane. Denote this rotated E,N,U system as ζ , η, ξ shown in Figure 6 Normal Section.doc 15 z λ0 (ξ) U α N η P2 • P1 •n or ν ζ m 0 al O• • a φ0 ellipsoid b E a y H a x equator Figure 6: Rotated local coordinate system ζ, η, ξ These two local Cartesian systems; E,N,U and ζ, η, ξ are related by N cos α α η • N (ξ) U ⎡ζ ⎤ ⎡ cos α − sin α 0⎤ ⎡ E ⎤ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢η ⎥ = ⎢ sin α cos α 0⎥ ⎢N ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ 0 1⎥ ⎢U ⎥ ⎢⎣ ξ ⎥⎦ ⎢⎣ 0 ⎦⎣ ⎦ N sin α E and ⎡ E ⎤ ⎡ cos α sin α 0⎤ ⎡ζ ⎤ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢N ⎥ = ⎢− sin α cos α 0⎥ ⎢ η ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ 0 1⎥ ⎢ ξ ⎥ ⎢⎣U ⎥⎦ ⎢⎣ 0 ⎦⎣ ⎦ E sin α E cos α ζ and we may write E = ζ cos α + η sin α ; E 2 = ζ 2 cos2 α + η 2 sin2 α + 2ζη cos α sin α N = η cos α − ζ sin α ; N 2 = ζ 2 sin2 α + η 2 cos2 α − 2ζη cos α sin α U =ξ U =ξ 2 (36) 2 giving E 2 + N 2 +U 2 = ζ 2 + η2 + ξ2 Normal Section.doc (37) 16 Substituting equations (36) and (37) into equation (35) gives ζ 2 + η 2 + ξ 2 + e ′2 (−ζ sin α cos φ0 + η cos α cos φ0 + ξ sin φ0 ) + 2ν 0 ξ = 0 2 (38) This is the Cartesian equation of an ellipsoid where the local Cartesian coordinates ζ , η, ξ have an origin at P1 (φ0 , λ0 ) on the ellipsoid (a, f ) with the ξ -axis in the direction of the outward normal at P1 ; the ξ -η plane is coincident with the normal section plane making an angle α with the meridian plane of P1 ; and the ξ -ζ plane is perpendicular to the normal section plane. As before the radius of curvature of the prime vertical section is ν0 = a (1 − e 2 sin φ0 2 ) 1 2 and the first and second eccentricities of the ellipsoid are obtained from e 2 = f (2 − f ) and e ′2 = e2 . 1 − e2 Setting ζ = 0 in equation (38) will give the equation of the normal section plane as η 2 + ξ 2 + e ′2 (η cos α cos φ0 + ξ sin φ0 ) + 2ν 0 ξ = 0 2 (39) Expanding equation (39) gives η 2 + η 2e ′2 cos2 α cos2 φ0 + ξ 2 + ξ 2e ′2 sin2 φ0 + 2ηξe ′2 cos α cos φ0 sin φ0 + 2ν 0 ξ = 0 which can be simplified to ( ) ( ) ξ 2 1 + g 2 + 2 ξηgh + η 2 1 + h 2 + 2ν 0 ξ = 0 (40) where g and h are constants of the normal section and g = e ′ sin φ0 = h = e ′ cos α cos φ0 = e 1 − e2 e 1 − e2 sin φ0 (41) cos α sin φ0 Equation (40) is similar to Clarke (1880, equation 14, p. 107) although Clarke's derivation is different and very concise; taking only 11 lines of text and diagrams. Normal Section.doc 17 POLAR EQUATION OF THE NORMAL SECTION CURVE normal section curve ξ θ P2 • η P1 •n ζ or m ν0 al d chor r z φ0 x O • •H y a equator Figure 7: Normal section curve f (ξ, η ) The Cartesian equation of the normal section curve in local coordinates ξ, η, ζ = 0 is given by equations (40) and (41) given the latitude φ0 of P1 , the ellipsoid constant e 2 and the azimuth α of the normal section plane. The equation of the curve in polar coordinates r, θ ; where r is a chord of the curve and θ is the zenith distance of the chord, can be obtained in the following manner. First, from Figure 7, we may write ξ = r cos θ η = r sin θ (42) And second, we may re-arrange equation (40) as ξ 2 + η 2 + (g ξ + h η ) = −2ν 0 ξ 2 (43) Squaring equations (42) and adding gives ξ 2 + η 2 = r 2 cos2 θ + r 2 sin2 θ = r 2 (44) and the third term in equation (43) can be expressed as (g ξ + h η ) = (g r cos θ + h r sin θ) 2 2 = g 2r 2 cos2 θ + h 2r 2 sin2 θ + 2gh r 2 sin θ cos θ = r 2 (g cos θ + h sin θ ) 2 Normal Section.doc (45) 18 Substituting equations (44) and (45) into equation (43) and re-arranging gives the polar equation of the normal section curve −2ν 0 cos θ r= (46) 1 + (g cos θ + h sin θ ) 2 ARC LENGTH ALONG A NORMAL SECTION CURVE To evaluate the arc length s along the normal section curve, consider the following ξ Δs A θ r B r+ Δθ Δr M r Δθ η O Δs A B M Δr Figure 8: Small element of arc length along a normal section curve In Figure 8, when Δθ is small, then AM by the chord AB and (Δs ) 2 ( ) r Δθ and the arc length Δs is approximated r Δθ + (Δr ) or 2 Δs = 2 (r Δθ) + (Δr ) 2 2 2⎞ ⎛ ⎜⎜ 2 ⎛⎜ Δr ⎞⎟ ⎟⎟ = (Δθ ) ⎜r + ⎜⎜ ⎟⎟ ⎟⎟ ⎜⎜ ⎝ Δθ ⎠⎟ ⎠⎟⎟ ⎝ 2 and ⎛ Δr ⎞ Δs = r 2 + ⎜⎜⎜ ⎟⎟⎟ Δθ ⎝ Δθ ⎠⎟ 2 Taking the limit of Δs as Δθ → 0 gives Δθ ⎛ Δs ⎞ ds ⎛dr ⎞ = r 2 + ⎜⎜⎜ ⎟⎟⎟ lim ⎜⎜⎜ ⎟⎟⎟ = Δθ → 0 ⎝ Δθ ⎠ ⎟ dθ ⎝d θ ⎠⎟ 2 Normal Section.doc (47) 19 and the arc length is given by 1 2 ⎪⎧⎪ ⎛ dr ⎟⎞ ⎪⎫⎪⎪2 2 ⎪ ⎜ s = ∫ ds = ∫ ⎨r + ⎜⎜ ⎟⎟ ⎬ d θ ⎪ ⎝d θ ⎟⎠ ⎪⎪ θ =θA ⎪ ⎩⎪ ⎭⎪ θ =θB (48) Referring to Figure 7 the η -axis is tangential to the normal section curve P1P2 at P1 and π and r = 0 . And when θ = θB = θ2 then the chord 2 r = P1P2 and the arc length of the normal section curve is given by the zenith distance θ = θA = 1 2 ⎪⎧⎪ ⎛dr ⎟⎞ ⎪⎫⎪⎪2 2 ⎪ ⎜ s = ∫ ds = ∫ ⎨r + ⎜⎜ ⎟⎟ ⎬ d θ ⎪ ⎝d θ ⎟⎠ ⎪⎪ π⎪ ⎪ ⎭⎪ θ= ⎩ θ =θ2 (49) 2 r is given by equation (46) with normal section constants g and h given by equations (41). dr can be obtained from equation (46) using the quotient rule for dθ differential calculus The derivative du dv v −u dr d ⎛⎜ u ⎟⎞ = ⎜ ⎟ = dθ 2 dθ d θ d θ ⎜⎝ v ⎟⎟⎠ v (50) where u = −2ν 0 cos θ ; du = 2ν 0 sin θ ; dθ v = 1 + (g cos θ + h sin θ ) dv = 2 (g cos θ + h sin θ )(h cos θ − g sin θ ) dθ 2 (51) The arc length of the normal section curve between P1 and P2 can be found by evaluating the integral given in equation (49). This integral cannot be solved analytically but may be evaluated by a numerical integration technique known Romberg integration. Appendix 1 contains a development of the formula used in Romberg integration as well as a MATLAB function demonstrating the algorithm. Normal Section.doc 20 SOLVING THE DIRECT AND INVERSE PROBLEMS ON THE ELLIPSOID USING NORMAL SECTIONS The direct problem on an ellipsoid is: given latitude and longitude of P1 , azimuth α12 of the normal section P1P2 and the arc length s along the normal section curve; compute the latitude and longitude of P2 . The inverse problem on an ellipsoid is: given the latitudes and longitudes of P1 and P2 compute the azimuth α12 and the arc length s along the normal section curve P1P2 . Note 1. In general there are two normal section curves joining P1 and P2 . We are only dealing with the single normal section P1P2 (containing the normal at P1 – see Figure 3) and so only the forward azimuth α12 is given or computed. The reverse azimuth α21 is the azimuth of the normal section P2P1 (containing the normal at P2 ) which is a different curve from normal section curve P1P2 . Note 2. The usual meaning of: solving the direct and inverse problems on the ellipsoid would imply the use of the geodesic; the unique curve defining the shortest distance between two points. And solving these problems is usually done using Bessel's method with Vincenty's equations (Deakin & Hunter 2007) or Pittman's method (Deakin & Hunter 2007). In the solutions of the direct and inverse problems set out in subsequent sections, the following notation and relationships are used. a, f semi-major axis length and flattening of ellipsoid. b semi-minor axis length of the ellipsoid, b = a (1 − f ) e 2 eccentricity of ellipsoid squared, e 2 = f (2 − f ) e2 1 − e2 φ, λ latitude and longitude on ellipsoid: φ measured 0 to ± 90 (north latitudes e ′2 2nd-eccentricity of ellipsoid squared, e ′2 = positive and south latitudes negative) and λ measured 0 to ± 180 (east longitudes positive and west longitudes negative). s length of the normal section curve on the ellipsoid. α12 azimuth of normal section P1P2 α12′ azimuth of normal section P2P1 (measured in the local horizon plane of P1 ) α21 reverse azimuth; azimuth of normal section P2P1 c chord P1P2 θ zenith distance of the chord c Normal Section.doc 21 x,y,z are geocentric Cartesian coordinates with an origin at the centre of the ellipsoid and where the z-axis is coincident with the rotational axis of the ellipsoid, the x-z plane is the Greenwich meridian plane and the x-y plane is the equatorial plane of the ellipsoid. x',y',z' are geocentric Cartesian coordinates with an origin at the centre of the ellipsoid and where the z'-axis is coincident with the rotational axis of the ellipsoid, the x'-z' plane is the meridian plane of P1 and the x'-y' plane is the equatorial plane of the ellipsoid. The x',y',z' system is rotated from the x,y,z system by an angle λ1 about the z-axis. vectors a vector a defining the length and direction of a line from point 1 to point 2 is given by the formula a = ai i + a j j + ak k where ai = x 2 − x 1 , a j = y2 − y1 and ak = z 2 − z 1 are the vector components and i, j, and k are unit vectors in the direction of the positive x, y, and z axes respectively. The components of a unit vector aˆ = a a can be calculated by dividing each component by the magnitude of the vector a = ai2 + a j2 + ak2 . For vectors a and b the vector dot product is a i b = a b cos θ where θ is ˆ = cos θ . The vector the angle between the vectors. For unit vectors aˆ i b dot product is a scalar quantity S = aibi + a jbj + akbk , hence for unit vectors the angle between them is given by cos θ = S . ˆ where p̂ For vectors a and b the vector cross product is a × b = a b sin θ p is a unit vector perpendicular to the plane containing a and b and in the direction of a right-handed screw rotated from a to b. The result of a vector cross product is another vector whose components are given by a × b = (a jbk − akbj ) i − (aibk − akbi ) j + (aibj − a jbi ) k . The components of the unit vector p̂ are found by dividing each component of the cross product by the magnitudes a and b , and the sine of the angle between them. For unit ˆ =p ˆ = sin θ p ˆ. ˆ and for perpendicular unit vectors aˆ × b vectors aˆ × b Normal Section.doc 22 THE DIRECT PROBLEM ON THE ELLIPSOID USING A NORMAL SECTION The direct problem is: Given latitude and longitude of P1 , azimuth α12 of the normal section P1P2 and the arc length s along the normal section curve; compute the latitude and longitude of P2 . With the ellipsoid constants a, f , e 2 and e ′2 and given φ1, λ1, α12 and s the problem may be solved by the following sequence. 1. Compute ν1 the radius of curvature in the prime vertical plane of P1 from ν1 = 2. a (1 − e 2 1 2 ) Compute the constants g and h of the normal section P1P2 from g = e ′ sin φ1 e = 1 − e2 e h = e ′ cos α12 cos φ1 = 3. sin φ1 2 1 − e2 sin φ1 cos α12 sin φ1 Compute the chord c = P1P2 and the zenith distance θ of the chord P1P2 by iteration using the following sequence of operations until there is negligible change in the computed chord distance start Set the counter k = 1 and set the chord ck = s π 2 (i) Set the counter n = 1 and set the zenith distance θn = (ii) Use Newton-Raphson iteration to compute the zenith distance of the chord using equation (46) rearranged as f (θ ) = c + c (g cos θ + h sin θ ) − 2ν1 cos θ = 0 and the iterative formula 2 θn +1 = θn − f (θn ) f ′ (θn ) where f ′ (θn ) is the derivative of f (θn ) and f (θn ) = ck + ck (g cos θn + h sin θn ) − 2ν1 cos θn f ′ (θn ) = 2ck (g cos θn + h sin θn )(h cos θn − g sin θn ) − 2ν1 sin θn 2 Note that the iteration for θ is terminated when θn and θn +1 differ by an acceptably small value. (iii) Normal Section.doc Compute the arc length sk using Romberg integration given a, f , φ1, α12 , θ 23 (iv) Compute the small change in arc length ds = sk − s (v) If ds < 0.000001 then go to end; else go (vi) (vi) Increment k, compute new chord ck = ck −1 − ds and go to (i) end Iteration for the chord c = P1P2 and the zenith distance θ of the chord P1P2 is complete. 4. Compute the x,y,z coordinates of P1 using x 1 = ν1 cos φ1 cos λ1 y1 = ν1 cos φ1 sin λ1 ( ) z1 = ν1 1 − e 2 sin φ1 5. Compute coordinate differences Δx ′, Δy ′, Δz ′ in the x ′, y ′, z ′ using Δx ′ = −c sin θ cos α12 sin φ1 + c cos θ cos φ1 Δy ′ = c sin θ sin α12 Δz ′ = c sin θ cos α12 cos φ1 + c cos θ sin φ1 6. Rotate the x',y',z' coordinate differences to x,y,z coordinate differences by a rotation of λ1 about the z'-axis using Δx = Δx ′ cos λ1 − Δy ′ sin λ1 Δy = Δx ′ sin λ1 + Δy ′ cos λ1 Δz = Δz ′ 7. Compute x,y,z coordinates of P2 using x 2 = x 1 + Δx y2 = y1 + Δy z 2 = z 1 + Δz 8. Compute latitude and longitude of P2 by conversion x , y, z ⇒ φ, λ, h using Bowring's method. Shown below is the output of a MATLAB function nsection_direct.m that solves the direct problem on the ellipsoid for normal sections. The ellipsoid is the GRS80 ellipsoid and φ, λ for P1 are −10 and 110 respectively with α12 = 140 28 ′ 31.981931′′ and s = 5783 228.924 736 m . φ, λ computed for P2 are −45 and 155 respectively. Normal Section.doc 24 >> nsection_direct ///////////////////////////////// // Normal Section: Direct Case // ///////////////////////////////// ellipsoid parameters a = 6378137.000000000 f = 1/298.257222101000 e2 = 6.694380022901e-003 ep2 = 6.694380022901e-003 Latitude P1 = Longitude P1 = -10 110 0 0 0.000000 (D M S) 0.000000 (D M S) Azimuth of normal section P1-P2 Az12 = 140 28 31.981931 (D M S) normal section distance P1-P2 s = 5783228.924736 chord distance P1-P2 5586513.169887 c = 13 iterations = Zenith distance of chord at P1 zd = 116 2 20.450079 (D M S) iterations = 5 Cartesian coordinates X Y Z P1 -2148527.045536 5903029.542697 -1100248.547700 P2 -4094327.792179 1909216.404490 -4487348.408756 dX = -1945800.746643 dY = -3993813.138207 dZ = -3387099.861057 Latitude P2 = Longitude P2 = -45 0 0.000000 (D M S) 154 59 60.000000 (D M S) >> Normal Section.doc 25 THE INVERSE PROBLEM ON THE ELLIPSOID USING A NORMAL SECTION The inverse problem is: Given latitudes and longitudes of P1 and P2 on the ellipsoid compute the azimuth α12 of the normal section P1P2 and the arc length s of the normal section curve. With the ellipsoid constants a, f , e 2 and e ′2 and given φ1, λ1 and φ2 , λ2 the problem may be solved by the following sequence. 1. Compute ν1 and ν2 the radii of curvature in the prime vertical plane of P1 and P2 from ν= a ( 1 − e 2 sin2 φ 2. 1 2 ) Compute the x,y,z coordinates of P1 , P2 , P3 and P4 noting that P3 is at the intersection of the normal through P1 and the rotational axis of the ellipsoid and P4 is at the intersection of the normal through P2 and the rotational axis. Coordinate of P1 and P2 are obtained from x = ν cos φ cos λ y = ν cos φ sin λ ( ) z = ν 1 − e 2 sin φ The x and y coordinates of P3 and P4 are zero and the z coordinate is obtained from z = −νe 2 sin φ 3. Compute the coordinate differences Δx = x 2 − x 1 Δy = y2 − y1 Δz = z 2 − z 1 4a. Compute vector c = (Δx ) i + (Δy ) j + (Δz ) k in the direction of the chord P1P2 . 4b. Compute chord distance c = c and the unit vector ˆc = 5. ˆ= Compute vector u = (x 1 ) i + (y1 ) j + (z1 − z 3 ) k and the unit vector u c c u in the u direction of the outward normal through P1 . Normal Section.doc 26 6. Set the unit vector ˆz = 0 i + 0 j + 1 k in the direction of the z-axis 7. Compute the zenith distance of the chord from the vector dot product cos θ = uˆicˆi + û jcˆj + uˆkcˆk 8. Compute the unit vector ê perpendicular to the meridian plane of P1 from vector cross product ( ê is in the direction of east) ˆe = 9. ⎛ zˆ uˆ − zˆ uˆ ⎟⎞ ⎛ zˆ uˆ − zˆ uˆ ⎞⎟ ⎛ zˆ uˆ − zˆ uˆ ⎞ ˆz × u ˆ ⎜ k j ⎟ j i⎟ ⎜ k i⎟ ⎟⎟ j + ⎜⎜⎜ i j = ⎜⎜ j k ⎟⎟ i − ⎜⎜ i k ⎟k ⎜⎝ cos φ1 ⎟⎟⎠ cos φ1 ⎜⎝ cos φ1 ⎠⎟ ⎜⎝ cos φ1 ⎟⎠ Compute the unit vector n̂ in the meridian plane of P1 from vector cross product. ( n̂ is in the direction of north) ˆ=u ˆ × ˆe = (uˆjeˆk − uˆkeˆj ) i − (uˆieˆk − uˆkeˆi ) j + (uˆieˆj − uˆjeˆi ) k n 10. Compute the unit vector p̂ perpendicular to the normal section P1P2 from vector cross product. ( p̂ lies in the local horizon plane of P1 ) ˆ= p 11. ⎛ uˆ cˆ − uˆ cˆ ⎞⎟ ˆ × ˆc ⎜⎛ uˆjcˆk − uˆkcˆj ⎟⎞⎟ ⎛⎜ uˆicˆk − uˆkcˆi ⎞⎟ u j i⎟ ⎟⎟ j + ⎜⎜⎜ i j = ⎜⎜ ⎟⎟ i − ⎜⎜ ⎟k ⎜⎝ sin θ ⎟⎟⎠ sin θ ⎜⎝ sin θ ⎟⎠ ⎜⎝ sin θ ⎟⎠ Compute the unit vector ĝ in the local horizon plane of P1 and in the direction of the normal section P1P2 from vector cross product. ˆ×u ˆ = (pˆj uˆk − pˆk uˆj ) i − (pˆiuˆk − pˆk uˆi ) j + (pˆiuˆj − pˆj uˆi ) k gˆ = p 12. Compute the azimuth α12 if the normal section P1P2 using vector dot products to first compute angles α (between n̂ and ĝ ) and β (between ê and ĝ ) from cos α = nˆi gˆi + nˆj gˆj + nˆk gˆk cos β = eˆi gˆi + eˆj gˆj + eˆk gˆk If β > 90 then α12 = 360 − α ; else α12 = α 13. ˆ= Compute the vector w = (x 1 ) i + (y1 ) j + (z 1 − z 4 ) k and the unit vector w w (w is w in the direction of the line P4P1 and lies in the meridian plane of P1 ). 14. Compute the angle γ between ŵ and ĉ from the vector dot product cos γ = wˆicˆi + wˆ jcˆj + wˆkcˆk Normal Section.doc 27 15. Compute the angle δ between ŵ and û from the vector dot product ( δ lies in the meridian plane of P1 ) cos δ = wˆiuˆi + wˆ j uˆj + wˆk uˆk 16. Compute the unit vector q̂ perpendicular to the normal section P2P1 from vector cross product qˆ = 17. ⎛ wˆ cˆ − wˆ cˆ ⎟⎞ ˆ × ˆc ⎜⎛ wˆ jcˆk − wˆkcˆj ⎟⎟⎞ ⎜⎛ wˆicˆk − wˆkcˆi ⎟⎞ w j i⎟ ⎟⎟ j + ⎜⎜⎜ i j = ⎜⎜ ⎟⎟ i − ⎜⎜ ⎟⎟ k sin γ ⎜⎝ sin γ ⎠⎟ ⎜⎝ sin γ ⎠⎟ ⎝⎜ sin γ ⎟⎠ Compute the unit vector ĥ in the local horizon plane of P1 and in the direction of the normal section P2P1 from vector cross product. ⎛qˆ uˆ − qˆ uˆ ⎟⎞ ˆ ⎜⎛qˆj uˆk − qˆk uˆj ⎟⎞⎟ ⎛⎜qˆiuˆk − qˆk uˆi ⎟⎞ j i⎟ ˆ = qˆ × u ⎟ j + ⎜⎜⎜ i j h = ⎜⎜ ⎟⎟ i − ⎜⎜ ⎟k ⎟ ⎜⎝ cos δ ⎟⎠ ⎜⎝ cos δ ⎟⎠ ⎜⎝ cos δ ⎠⎟⎟ cos δ 18. Compute the azimuth α12′ of the normal section P2P1 using vector dot products to ˆ ) and β (between ê and ĥ ) from first compute angles α (between n̂ and h cos α = nˆihˆi + nˆj hˆj + nˆk hˆk cos β = eˆ hˆ + eˆ hˆ + eˆ hˆ i i j j k k If β > 90 then α12′ = 360 − α ; else α12′ = α 19. Compute the small angle ε between the two normal section planes at P1 ε = α12 − α12′ 20. Compute arc length s along the normal section curve P1P2 using Romberg Integration. Shown below is the output of a MATLAB function nsection_inverse.m that solves the inverse problem on the ellipsoid for normal sections. The ellipsoid is the GRS80 ellipsoid and φ, λ for P1 are −10 and 110 respectively and φ, λ for P2 are −45 and 155 respectively. Computed azimuths are α12 = 140 28 ′ 31.981931′′ and α12′ = 140 32′ 18.496009′′ , and s = 5783 228.924 736 m . Normal Section.doc 28 >> nsection_inverse ////////////////////////////////// // Normal Section: Inverse Case // ////////////////////////////////// ellipsoid parameters a = 6378137.000000000 f = 1/298.257222101000 e2 = 6.694380022901e-003 ep2 = 6.694380022901e-003 Latitude P1 = Longitude P1 = -10 110 0 0 0.000000 (D M S) 0.000000 (D M S) Latitude P2 = Longitude P2 = -45 155 0 0 0.000000 (D M S) 0.000000 (D M S) Cartesian coordinates X Y Z P1 -2148527.045536 5903029.542697 -1100248.547700 -4094327.792180 1909216.404490 -4487348.408755 P2 0.000000 0.000000 7415.121539 P3 P4 0.000000 0.000000 30242.470131 dX = -1945800.746645 dY = -3993813.138206 dZ = -3387099.861055 Chord distance P1-P2 chord = 5586513.169886 Zenith distance of chord at P1 zd = 116 2 20.450079 (D M S) Azimuth of normal section P1-P2 Az12 = 140 28 31.981931 (D M S) Azimuth of normal section P2-P1 Az21 = 297 47 44.790362 (D M S) Azimuth of normal section P2-P1 at P1 Az'12 = 140 32 18.496009 (D M S) Angle between normal sections at P1 epsilon = 0 3 46.514078 (D M S) ROMBERG INTEGRATION TABLE 1 5783427.529966 2 5783278.294728 5783228.549649 3 5783241.249912 5783228.901640 4 5783232.004951 5783228.923298 5 5783229.694723 5783228.924646 5783228.925106 5783228.924742 5783228.924736 5783228.924736 5783228.924736 normal section distance P1-P2 s = 5783228.924736 >> Normal Section.doc 29 DIFFERENCE IN LENGTH BETWEEN GEODESIC AND NORMAL SECTION There are five curves of interest in geodesy; the geodesic, the normal section, the great elliptic arc the loxodrome and the curve of alignment. The geodesic between P1 and P2 on an ellipsoid is the unique curve on the surface defining the shortest distance; all other curves will be longer in length. The normal section curve P1P2 is a plane curve created by the intersection of the normal section plane containing the normal at P1 and also P2 with the ellipsoid surface. And as we have shown there is the other normal section curve P2P1 . The curve of alignment is the locus of all points Q such that the normal section plane at Q also contains the points P1 and P2 . The curve of alignment is very close to a geodesic. The great elliptic arc is the plane curve created by intersecting the plane containing P1 , P2 and the centre O with the surface of the ellipsoid and the loxodrome is the curve on the surface that cuts each meridian between P1 and P2 at a constant angle. Approximate equations for the difference in length between the geodesic, the normal section curve and the curve of alignment were developed by Clarke (1880, p. 133) and Bowring (1972, p. 283) developed an approximate equation for the difference between the geodesic and the great elliptic arc. Following Bowring (1972), let s = geodesic length L = normal section length D = great elliptic length S = curve of alignment length then e 4 ⎛⎜ s ⎟⎞ s ⎜ ⎟⎟ cos4 φ1 sin2 α12 cos2 α12 + L −s = 90 ⎜⎝ R ⎟⎠ 2 e 4 ⎛⎜ s ⎟⎞ D −s = s ⎜ ⎟⎟ sin2 φ1 cos2 φ1 sin2 α12 + 24 ⎜⎝ R ⎟⎠ 4 (52) e 4 ⎛⎜ s ⎟⎞ S −s = s ⎜⎜ ⎟⎟ cos4 φ1 sin2 α12 cos2 α12 + 360 ⎝ R ⎟⎠ 4 where R can be taken as the radius of curvature in the prime vertical at P1 . Now for a given value of s, L − s will be a maximum if φ1 = 0 ( P1 on the equator) and α12 = 45 in which case cos4 φ1 sin2 α12 cos2 α12 = Normal Section.doc 1 , thus 4 30 e4 ⎛ s ⎞ (L − s ) < 360 s ⎜⎜⎜ R ⎟⎟⎟⎟ ⎝ ⎠ 4 (53) For the GRS80 ellipsoid where f = 1 298.257222101, e 2 = f (2 − f ) , and for s = 1600000 m and R = 6371000 m and equation (53) gives L − s < 0.001 m . This can be verified by using two MATLAB functions: Vincenty_Direct.m that computes the direct case on the ellipsoid for the geodesic and nsection_inverse.m that computes the inverse case on the ellipsoid for the normal section. Suppose P1 has latitude and longitude φ1 = 0 , λ1 = 0 on the GRS80 ellipsoid and that the azimuth and distance of the geodesic are α12 = 45 and s = 1600000 m respectively. The coordinates of P2 are obtained from Vincenty_Direct.m as shown below. These values are then used in nsection_direct.m to compute the normal section azimuth and distance P1P2 . The difference L − s = 0.000789 m . >> Vincenty_Direct >> nsection_inverse ////////////////////////////////////////////// // DIRECT CASE on ellipsoid: Vincenty's method ////////////////////////////////////////////// ////////////////////////////////// // Normal Section: Inverse Case // ////////////////////////////////// ellipsoid parameters a = 6378137.000000000 f = 1/298.257222101000 b = 6356752.314140356100 e2 = 6.694380022901e-003 ep2 = 6.739496775479e-003 ellipsoid parameters a = 6378137.000000000 f = 1/298.257222101000 e2 = 6.694380022901e-003 ep2 = 6.694380022901e-003 Latitude & Longitude of P1 latP1 = 0 0 0.000000 (D M S) lonP1 = 0 0 0.000000 (D M S) Azimuth & Distance P1-P2 az12 = 45 0 0.000000 (D M S) s = 1600000.000000 Latitude and Longitude of P2 latP2 = 10 10 33.913466 (D M S) lonP2 = 10 16 16.528718 (D M S) Reverse azimuth alpha21 = 225 55 >> 1.180693 (D M S) Latitude P1 = Longitude P1 = Latitude P2 = Longitude P2 = 0 0 0 0 0.000000 (D M S) 0.000000 (D M S) 10 10 33.913466 (D M S) 10 16 16.528718 (D M S) Azimuth of normal section P1-P2 Az12 = 45 0 7.344646 (D M S) ROMBERG INTEGRATION TABLE 1 1600010.313769 2 1600002.577521 1599999.998771 3 1600000.644877 1600000.000663 1600000.000789 4 1600000.161805 1600000.000781 1600000.000789 1600000.000789 normal section distance P1-P2 s = 1600000.000789 >> Differences in length between the geodesic and normal section exceed 0.001 m for distances greater than 1,600 km. At 5,800 km the difference is approximately 0.380 m. Normal Section.doc 31 MATLAB FUNCTIONS Shown below are two MATLAB functions nsection_direct.m and nsection_inverse.m that have been written to demonstrate the use of Romberg integration in the solution of the direct and inverse case on the ellipsoid using normal sections. These functions call other functions; DMS.m, Cart2Geo.m and romberg.m that are also shown. MATLAB function nsection_direct.m function nsection_direct % % nsection_direct: This function computes the direct case for a normal % section on the reference ellipsoid. That is, given the latitude and % longitude of P1 and the azimuth of the normal section P1-P2 and distance % along the normal section curve, compute the latitude and longitude of P2. %-------------------------------------------------------------------------% Function: nsection_direct % % Usage: nsection_direct % % Author: R.E.Deakin, % School of Mathematical & Geospatial Sciences, RMIT University % GPO Box 2476V, MELBOURNE, VIC 3001, AUSTRALIA. % email: rod.deakin@rmit.edu.au % Version 1.0 23 September 2009 % Version 1.1 16 December 2009 % % Purpose: nsection_inverse: This function computes the direct case for % a normal section on the reference ellipsoid. That is, given the % latitude and longitude of P1 and the azimuth of the normal section P1-P2 % and distance along the normal section curve, compute the latitude and % longitude of P2. % % Functions required: % [D,M,S] = DMS(DecDeg) % s = romberg(a,f,lat1,Az12,zd) % [lat,lon,h] = Cart2Geo(a,flat,X,Y,Z) % % Variables: % Az12 - azimuth of normal section P1-P2 % a - semi-major axis of spheroid % d2r - degree to radian conversion factor 57.29577951... % e2 - eccentricity of ellipsoid squared % eps - 2nd-eccentricity squared % f - f = 1/flat is the flattening of ellipsoid - denominator of flattening of ellipsoid % flat - function of the zenith distance % f_zd % fdash_zd - derivative of the function of the zenith distance % g,h - constants of normal section % lat1 - latitude of P1 (radians) % lat2 - latitude of P2 (radians) % lon1 - longitude of P1 (radians) % lon2 - longitude of P2 (radians) % nu1 - radius of curvature in prime vertical plane at P1 % pion2 - pi/2 % s - arc length of normal section P1-P2 % s2 - sin-squared(latitude) % x,y - local variables in newton-Raphson iteration for zenith % distance of chord P1-P2 % X1,Y1,Z1 - Cartesian coordinates of P1 Normal Section.doc 32 % X2,Y2,Z2 - Cartesian coordinates of P2 % X3,Y3,Z3 - Cartesian coordinates of P3 % X4,Y4,Z4 - Cartesian coordinates of P4 % zd - zenith distance of chord % % Remarks: % % References: % [1] Deakin, R. E., (2009), "The Normal Section Curve on an Ellipsoid", % Lecture Notes, School of Mathematical and Geospatial Sciences, % RMIT University, November 2009. % %-------------------------------------------------------------------------% Set degree to radian conversion factor and pi/2 d2r = 180/pi; pion2 = pi/2; % Set ellipsoid parameters a = 6378137; % GRS80 flat = 298.257222101; % Compute ellipsoid constants f = 1/flat; e2 = f*(2-f); ep2 = e2/(1-e2); % Set lat and long of P1 on ellipsoid lat1 = -10/d2r; lon1 = 110/d2r; % Set azimuth of normal section P1-P2 and arc length of normal section Az12 = (140 + 28/60 + 31.981931/3600)/d2r; s = 5783228.924736; % [1] Compute radius of curvature in the prime vertical plane at P1 s2 = sin(lat1)^2; nu1 = a/sqrt(1-e2*s2); % [2] Compute constants g and h of the normal section P1-P2 ep = sqrt(ep2); g = ep*sin(lat1); h = ep*cos(lat1)*cos(Az12); % [3] Compute the chord and the zenith distance of the chord of the normal % section curve P1-P2 by iteration. % Set the chord equal to the arc length c = s; iter_1 = 1; while 1 % Set the zenith distance to 90 degrees zd = pion2; % Compute the zenith distance of the chord using Newton-Raphson iteration iter_2 = 1; while 1 x = g*cos(zd)+h*sin(zd); y = h*cos(zd)-g*sin(zd); f_zd = c+c*x*x+2*nu1*cos(zd); fdash_zd = 2*c*x*y-2*nu1*sin(zd); new_zd = zd-(f_zd/fdash_zd); if abs(new_zd - zd) < 1e-15 break; end zd = new_zd; if iter_2 > 10 fprintf('Iteration for zenith distance failed to converge after 10 iterations'); break; Normal Section.doc 33 end iter_2 = iter_2 + 1; end; % Compute normal section arc length for zenith distance s_new = romberg(a,f,lat1,Az12,zd); ds = s_new-s; if abs(ds) < 1e-6 break; end c = c - ds; if iter_1 > 15 fprintf('Iteration for chord distance failed to converge after 15 iterations'); break; end iter_1 = iter_1 + 1; end; % [4] Compute X,Y,Z Cartesian coordinates of P1 X1 = nu1*cos(lat1)*cos(lon1); Y1 = nu1*cos(lat1)*sin(lon1); Z1 = nu1*(1-e2)*sin(lat1); % [5] Compute X',Y',Z' coord differences with Z'-X' plane coincident with meridian % plane of P1 dXp = -c*sin(zd)*cos(Az12)*sin(lat1) + c*cos(zd)*cos(lat1); dYp = c*sin(zd)*sin(Az12); dZp = c*sin(zd)*cos(Az12)*cos(lat1) + c*cos(zd)*sin(lat1); % [6] Rotate X',Y',Z' coord differences by lon1 about Z'-axis dX = dXp*cos(lon1) - dYp*sin(lon1); dY = dXp*sin(lon1) + dYp*cos(lon1); dZ = dZp; % [7] Compute X,Y,Z coords of P2 X2 = X1 + dX; Y2 = Y1 + dY; Z2 = Z1 + dZ; % [8] Compute lat, lon and ellipsoidal height of P2 using Bowring's method [lat2,lon2,h2] = Cart2Geo(a,flat,X2,Y2,Z2); %----------------------% Print result to screen %----------------------fprintf('\n/////////////////////////////////'); fprintf('\n// Normal Section: Direct Case //'); fprintf('\n/////////////////////////////////'); fprintf('\n\nellipsoid parameters'); fprintf('\na = %18.9f',a); fprintf('\nf = 1/%16.12f',flat); fprintf('\ne2 = %20.12e',e2); fprintf('\nep2 = %20.12e',e2); % Print lat and lon of P1 [D,M,S] = DMS(lat1*d2r); if D == 0 && lat1 < 0 fprintf('\n\nLatitude P1 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\n\nLatitude P1 = %4d %2d %9.6f (D M S)',D,M,S); end [D,M,S] = DMS(lon1*d2r); if D == 0 && lon1 < 0 fprintf('\nLongitude P1 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLongitude P1 = %4d %2d %9.6f (D M S)',D,M,S); end % Print azimuth of normal section Normal Section.doc 34 fprintf('\n\nAzimuth of normal section P1-P2'); [D,M,S] = DMS(Az12*d2r); fprintf('\nAz12 = %3d %2d %9.6f (D M S)',D,M,S); % Print normal section distance P1-P2 fprintf('\n\nnormal section distance P1-P2'); fprintf('\ns = %15.6f',s); % Print chord distance P1-P2 fprintf('\n\nchord distance P1-P2'); fprintf('\nc = %15.6f',c); fprintf('\niterations = %4d',iter_1); % Print zenith distance of chord at point 1 fprintf('\n\nZenith distance of chord at P1'); [D,M,S] = DMS(zd*d2r); fprintf('\nzd = %3d %2d %9.6f (D M S)',D,M,S); fprintf('\niterations = %4d',iter_2); % Print Coordinate table fprintf('\n\nCartesian coordinates'); fprintf('\n X Y fprintf('\nP1 %15.6f %15.6f %15.6f',X1,Y1,Z1); fprintf('\nP2 %15.6f %15.6f %15.6f',X2,Y2,Z2); fprintf('\ndX = %15.6f',dX); fprintf('\ndY = %15.6f',dY); fprintf('\ndZ = %15.6f',dZ); Z'); % Print lat and lon of P2 [D,M,S] = DMS(lat2*d2r); if D == 0 && lat2 < 0 fprintf('\n\nLatitude P2 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\n\nLatitude P2 = %4d %2d %9.6f (D M S)',D,M,S); end [D,M,S] = DMS(lon2*d2r); if D == 0 && lon2 < 0 fprintf('\nLongitude P2 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLongitude P2 = %4d %2d %9.6f (D M S)',D,M,S); end fprintf('\n\n'); Normal Section.doc 35 MATLAB function nsection_inverse.m function nsection_inverse % % nsection_inverse: This function computes the inverse case for a normal % section on the reference ellipsoid. That is, given the latitudes and % longitudes of two points on the ellipsoid, compute the azimuth and the % arc length of the normal section. %-------------------------------------------------------------------------% Function: nsection_inverse() % % Usage: nsection_inverse % % Author: R.E.Deakin, % School of Mathematical & Geospatial Sciences, RMIT University % GPO Box 2476V, MELBOURNE, VIC 3001, AUSTRALIA. % email: rod.deakin@rmit.edu.au % Version 1.0 21 September 2009 % Version 1.1 16 December 2009 % % Purpose: nsection_inverse: This function computes the inverse case for % a normal section on the reference ellipsoid. That is, given the % latitudes and longitudes of two points on the ellipsoid, compute the % azimuth and the arc length of the normal section. % % Functions required: % [D,M,S] = DMS(DecDeg) % % Variables: % alpha - angle in the local horizon plane measured from north % Az12 - azimuth of normal section P1-P2 % Azdash12 - azimuth of normal section plane P2-P1 measured at P1 % Az21 - azimuth of normal section P2-P1 % a - semi-major axis of spheroid % beta - angle in the local horizon plane measured from east % chord - chord distance between P1 and P2 % ci,cj,ck - components of unit vector c in the direction of the chord % P1-P2 % delta - angle in the meridian plane of P1 between w and u vectors % diff - difference between successive value of integral in Romber % Integration % du,dv,dr - derivatives in Romberg Integration % dX,dY,dZ - Cartesian components of chord between between P1 and P2 % d2r - degree to radian conversion factor 57.29577951... % ei,ej,ek - components of unit vector e in the direction of east in % local horizon system % epsilon - small angle between azimuths of normal section planes % ep2 - 2nd-eccentricity squared % e2 - 1st-eccentricity squared % f - f = 1/flat is the flattening of ellipsoid % finish - integer flag (1 or 0) to test for end of Romberg % Integration % first - first value in trapezoidal rule in Romberg Integration % flat - denominator of flattening of ellipsoid % gamma - angle between unit vectors w and c % g,h - constants of normal section curve % hi,hj,hk - components of unit vector h in the local horizon plane and % direction of the plane P1-P2-P4 % Integral - value of integral from trapezoidal rule in Romberg % Integration % inc - interval width in trapezoidal rule % int - number of intervals in trapezoidal rule where int = 2^k % and k = 1:m % j,k - integer counters in Romberg Integration % last - last value in trapezoidal rule in Romberg Integration % lat1 - latitude of P1 (radians) % lat2 - latitude of P2 (radians) Normal Section.doc 36 % lon1 - longitude of P1 (radians) % lon2 - longitude of P2 (radians) % m - maximum power of 2 to determine number of intervals in % trapezoidal rule % norm - length of vector % nu1, nu2 - radii of curvature in prime vertical plane at P1 and P2 % ni,nj,nk - components of unit vector n % pion2 - pi/2 % qi,qj,qk - components of unit vector q perpendicular to plane % P1-P2-P4 % r - polar coordinate in polar equation of normal section % S - n,n array of Integrals in Romberg Integration % sum - summation in trapezoidal rule % s2 - sin-squared(latitude) % ui,uj,uk - components of unit vector u % wi,wj,wk - components of unit vector w % x,y - variables in Romberg Integration % X1,Y1,Z1 - Cartesian coordinates of P1 % X2,Y2,Z2 - Cartesian coordinates of P2 % X3,Y3,Z3 - Cartesian coordinates of P3 % X4,Y4,Z4 - Cartesian coordinates of P4 % zd - zenith distance of chord % % Remarks: % P1 and P2 are two point on the ellipsoid and in general there are two % normal section curves between them. P3 is at the intersection of the % rotational axis of the ellipsoid and the normal through P1. P4 is at % the intersection of the rotational axis of the ellipsoid and the normal % through P2. The normal section P1-P2 is the plane P1-P2-P3. The normal % section P2-P1 is the plane P1-P2-P4 and since P3 and P4 are not % coincident (in general) then the two planes create two lines on the % ellipsoid and two lines on the local horizon plane at P1. % The necessary equations for the solution of the inverse problem (normal % sections) on the ellipsoid are described in [1]. The vector % manipulations to determine the difference between the two normal section % plane azimuths (measuered in the local horizon at P1) follows a vector % method of calculating azimuth given in [2]. % This function uses Romberg Integration to compute the arc length along % the normal section curve. This technique of numerical integration is % described in detail in [1]. % % References: % [1] Deakin, R. E., (2009), "The Normal Section Curve on an Ellipsoid", % Lecture Notes, School of Mathematical and Geospatial Sciences, % RMIT University, November 2009. % [2] Deakin, R. E., (1988), "The Determination of the Instantaneous % Position of the NIMBUS-7 CZCS Satellite", Symposium on Remote % Sensing of the Coastal Zone, Queensland, 1988. % %-------------------------------------------------------------------------% Degree to radian conversion factor d2r = 180/pi; pion2 = pi/2; % Set ellipsoid parameters a = 6378137; % GRS80 flat = 298.257222101; % Compute ellipsoid constants f = 1/flat; e2 = f*(2-f); ep2 = e2/(1-e2); % Set lat and long of P1 and P2 on ellipsoid lat1 = -10/d2r; lon1 = 110/d2r; lat2 = -45/d2r; lon2 = 155/d2r; Normal Section.doc 37 % [1] s2 = nu1 = s2 = nu2 = Compute radii of curvature in the prime vertical plane at P1 & P2 sin(lat1)^2; a/sqrt(1-e2*s2); sin(lat2)^2; a/sqrt(1-e2*s2); % [2] Compute Cartesian coordinates of points P1, P2, P3 and P4 % Note that P3 is at the intesection of the normal through P1 and % the rotational axis and P4 is at the intersection of the normal % through P2 and the rotational axis. X1 = nu1*cos(lat1)*cos(lon1); Y1 = nu1*cos(lat1)*sin(lon1); Z1 = nu1*(1-e2)*sin(lat1); X2 = nu2*cos(lat2)*cos(lon2); Y2 = nu2*cos(lat2)*sin(lon2); Z2 = nu2*(1-e2)*sin(lat2); X3 = 0; Y3 = 0; Z3 = -nu1*e2*sin(lat1); X4 = 0; Y4 = 0; Z4 = -nu2*e2*sin(lat2); % [3] Compute coordinate differences that are the components of the chord % P1-P2 dX = X2 - X1; dY = Y2 - Y1; dZ = Z2 - Z1; % [4a] Compute the vector c in the direction of the chord between P1 and P2 ci = dX; cj = dY; ck = dZ; % [4b] Compute the chord distance and the unit vector c chord = sqrt(ci*ci + cj*cj + ck*ck); ci = ci/chord; cj = cj/chord; ck = ck/chord; % [5] Compute the unit vector u in the direction of the normal through P1 ui = X1; uj = Y1; uk = Z1-Z3; norm = sqrt(ui*ui + uj*uj + uk*uk); ui = ui/norm; uj = uj/norm; uk = uk/norm; % [6] Set unit vector for the z-axis of ellipsoid zi = 0; zj = 0; zk = 1; % [7] Compute zenith distance of chord at P1 from dot product zd = acos(ui*ci + uj*cj + uk*ck); % [8] Compute unit vector e perpendicular to meridian plane using vector cross % product e = (z x u)/cos(lat1). e is in the direction of east. ei = (zj*uk - zk*uj)/cos(lat1); ej = -(zi*uk - zk*ui)/cos(lat1); ek = (zi*uj - zj*ui)/cos(lat1); % [9] Compute unit vector n in the meridian plane using vector cross % product n = u x e. n is in the direction of north. Normal Section.doc 38 ni = (uj*ek - uk*ej); nj = -(ui*ek - uk*ei); nk = (ui*ej - uj*ei); % [10] Compute unit vector p perpendicular to normal section P1-P2 using % vector cross product q = (u x c)/sin(zd) pii = (uj*ck - uk*cj)/sin(zd); pj = -(ui*ck - uk*ci)/sin(zd); pk = (ui*cj - uj*ci)/sin(zd); % [11] Compute unit vector g in the local horizon plane of P1 and in the % direction of the normal section P1-P2 using vector cross product % g = p x u gi = (pj*uk - pk*uj); gj = -(pii*uk - pk*ui); gk = (pii*uj - pj*ui); % [12] Compute azimuth of normal section P1-P2-P3 using vector dot product alpha = acos(ni*gi + nj*gj + nk*gk); beta = acos(ei*gi + ej*gj + ek*gk); if beta > pi/2 Az12 = 2*pi - alpha; else Az12 = alpha; end % [13] Compute unit vector w in direction of line P4-P1. % meridian plane of P1. wi = X1; wj = Y1; wk = Z1-Z4; norm = sqrt(wi*wi + wj*wj + wk*wk); wi = wi/norm; wj = wj/norm; wk = wk/norm; w will lie in the % [14] Compute the angle gamma between unit vectors w and c using vector % dot product gamma = acos(w . c) gamma = acos(wi*ci + wj*cj + wk*ck); % [15] Compute the angle delta between unit vectors w and u using vector % dot product delta = acos(w . u) delta = acos(wi*ui + wj*uj + wk*uk); % [16] Compute unit vector q perpendicular to plane P2-P1-P4 using vector % cross product q = (w x c)/sin(gamma) qi = (wj*ck - wk*cj)/sin(gamma); qj = -(wi*ck - wk*ci)/sin(gamma); qk = (wi*cj - wj*ci)/sin(gamma); % [17] Compute unit vector h in the direction of P2 and in the local horizon % plane using vector cross product h = (q x u)/cos(delta) hi = (qj*uk - qk*uj)/cos(delta); hj = -(qi*uk - qk*ui)/cos(delta); hk = (qi*uj - qj*ui)/cos(delta); % [18] Compute azimuth of section P1-P2-P4 using vector dot product alpha = acos(ni*hi + nj*hj + nk*hk); beta = acos(ei*hi + ej*hj + ek*hk); if beta > pi/2 Azdash12 = 2*pi - alpha; else Azdash12 = alpha; end % [19] Compute angle between normal section planes at P1 epsilon = abs(Az12-Azdash12); Normal Section.doc 39 % Compute normal section azimuth P2 to P1 numerator = dX*sin(lon2) - dY*cos(lon2); denominator = dX*sin(lat2)*cos(lon2) + dY*sin(lat2)*sin(lon2) - dZ*cos(lat2); Az21 = atan2(numerator,denominator); if Az21 < 0 Az21 = 2*pi+Az21; end %----------------------% Print result to screen %----------------------fprintf('\n//////////////////////////////////'); fprintf('\n// Normal Section: Inverse Case //'); fprintf('\n//////////////////////////////////'); fprintf('\n\nellipsoid parameters'); fprintf('\na = %18.9f',a); fprintf('\nf = 1/%16.12f',flat); fprintf('\ne2 = %20.12e',e2); fprintf('\nep2 = %20.12e',e2); % Print lat and lon of Point 1 [D,M,S] = DMS(lat1*d2r); if D == 0 && lat1 < 0 fprintf('\n\nLatitude P1 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\n\nLatitude P1 = %4d %2d %9.6f (D M S)',D,M,S); end [D,M,S] = DMS(lon1*d2r); if D == 0 && lon1 < 0 fprintf('\nLongitude P1 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLongitude P1 = %4d %2d %9.6f (D M S)',D,M,S); end % Print lat and lon of point 2 [D,M,S] = DMS(lat2*d2r); if D == 0 && lat1 < 0 fprintf('\n\nLatitude P2 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\n\nLatitude P2 = %4d %2d %9.6f (D M S)',D,M,S); end [D,M,S] = DMS(lon2*d2r); if D == 0 && lon2 < 0 fprintf('\nLongitude P2 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLongitude P2 = %4d %2d %9.6f (D M S)',D,M,S); end % Print Coordinate table fprintf('\n\nCartesian coordinates'); fprintf('\n X Y fprintf('\nP1 %15.6f %15.6f %15.6f',X1,Y1,Z1); fprintf('\nP2 %15.6f %15.6f %15.6f',X2,Y2,Z2); fprintf('\nP3 %15.6f %15.6f %15.6f',X3,Y3,Z3); fprintf('\nP4 %15.6f %15.6f %15.6f',X4,Y4,Z4); fprintf('\ndX = %15.6f',dX); fprintf('\ndY = %15.6f',dY); fprintf('\ndZ = %15.6f',dZ); Z'); % Print chord distance 1-2 fprintf('\n\nChord distance P1-P2'); fprintf('\nchord = %15.6f',chord); % Print zenith distance of chord at point 1 fprintf('\n\nZenith distance of chord at P1'); [D,M,S] = DMS(zd*d2r); fprintf('\nzd = %3d %2d %9.6f (D M S)',D,M,S); Normal Section.doc 40 % Print azimuths of normal sections fprintf('\n\nAzimuth of normal section P1-P2'); [D,M,S] = DMS(Az12*d2r); fprintf('\nAz12 = %3d %2d %9.6f (D M S)',D,M,S); fprintf('\n\nAzimuth of normal section P2-P1'); [D,M,S] = DMS(Az21*d2r); = %3d %2d %9.6f (D M S)',D,M,S); fprintf('\nAz21 fprintf('\n\nAzimuth of normal section P2-P1 at P1'); [D,M,S] = DMS(Azdash12*d2r); fprintf('\nAz''12 = %3d %2d %9.6f (D M S)',D,M,S); fprintf('\n\nAngle between normal sections at P1'); [D,M,S] = DMS(epsilon*d2r); fprintf('\nepsilon = %4d %2d %9.6f (D M S)',D,M,S); % [20] Compute arc length of normal section using ROMBERG INTEGRATION fprintf('\n\nROMBERG INTEGRATION TABLE'); % Compute constants of normal section curve P1-P2 ep = sqrt(ep2); g = ep*sin(lat1); h = ep*cos(lat1)*cos(Az12); m = 15; S = zeros(m,m); finish = 0; for k = 1:m int = 2^k; inc = (zd-pion2)/int; sum = 0; for t = pion2:inc:zd x = g*cos(t)+h*sin(t); y = h*cos(t)-g*sin(t); u = -2*nu1*cos(t); v = 1+x*x; r = u/v; du = 2*nu1*sin(t); dv = 2*x*y; dr = (v*du-u*dv)/(v*v); y = sqrt(r*r + dr*dr); sum = sum+2*y; if t == pion2 first = y; end last = y; end sum = sum-first-last; Integral = inc/2*sum; S(k,1) = Integral; fprintf('\n%d %15.6f',k,S(k,1)); for j = 2:k S(k,j) = 1/(4^(j-1)-1)*(4^(j-1)*S(k,j-1)-S(k-1,j-1)); fprintf(' %15.6f',S(k,j)); diff = abs(S(k,j-1)-S(k,j)); if diff < 1e-6 finish = 1; s = S(k,j); break; end end if finish == 1 break; end end % Print normal section distance P1-P2 fprintf('\n\nnormal section distance P1-P2'); Normal Section.doc 41 fprintf('\ns = %15.6f',s); fprintf('\n\n'); MATLAB function Cart2Geo.m function [lat,lon,h] = Cart2Geo(a,flat,X,Y,Z) % % [lat,lon,h] = Cart2Geo(a,flat,X,Y,Z) % Function computes the latitude (lat), longitude (lon) and height (h) % of a point related to an ellipsoid defined by semi-major axis (a) % and denominator of flattening (flat) given Cartesian coordinates % X,Y,Z. Latitude and longitude are returned as radians. %-------------------------------------------------------------------------% Function: Cart2Geo() % % Usage: [lat,lon,h] = Cart2Geo(a,flat,X,Y,Z); % % Author: R.E.Deakin, % School of Mathematical & Geospatial Sciences, RMIT University % GPO Box 2476V, MELBOURNE, VIC 3001, AUSTRALIA. % email: rod.deakin@rmit.edu.au % Version 1.0 6 April 2006 % Version 1.1 20 August 2007 % % Functions required: % radii() % % Purpose: % Function Cart2geo() will compute latitude, longitude % (both in radians) and height of a point related to % an ellipsoid defined by semi-major axis (a) and % denominator of flattening (flat) given Cartesian coordinates % X,Y,Z. % % Variables: % a - semi-major axis of ellipsoid % b - semi-minor axis of ellipsoid % c - cos(psi) % c3 - cos(psi) cubed % e2 - 1st eccentricity squared % ep2 - 2nd eccentricity squared % f - flattening of ellipsoid % flat - denominator of flattening f = 1/flat % h - height above ellipsoid % lat - latitude (radians) % lon - longitude (radians) % p - perpendicular distance from minor-axis of ellipsoid % psi - parametric latitude (radians) % rm - radius of curvature of meridian section of ellipsoid % rp - radius of curvature of prime vertical section of ellipsoid % s - sin(psi) % s3 - sin(psi) cubed % % Remarks: % This function uses Bowring's method, see Ref [1]. % Bowring's method is also explained in Ref [2]. % % References: % [1] Bowring, B.R., 1976, 'Transformation from spatial to % geographical coordinates', Survey Review, Vol. XXIII, % No. 181, pp. 323-327. % [2] Gerdan, G.P. & Deakin, R.E., 1999, 'Transforming Cartesian % coordinates X,Y,Z to geogrpahical coordinates phi,lambda,h', The % Australian Surveyor, Vol. 44, No. 1, pp. 55-63, June 1999. %-------------------------------------------------------------------------- Normal Section.doc 42 % calculate flattening f and ellipsoid constants e2, ep2 and b f = 1/flat; e2 = f*(2-f); ep2 = e2/(1-e2); b = a*(1-f); % compute 1st approximation of parametric latitude psi p = sqrt(X*X + Y*Y); psi = atan((Z/p)/(1-f)); % compute latitude from Bowring's equation s = sin(psi); s3 = s*s*s; c = cos(psi); c3 = c*c*c; lat = atan((Z+b*ep2*s3)/(p-a*e2*c3)); % compute radii of curvature for the latitude [rm,rp] = radii(a,flat,lat); % compute longitude and height lon = atan2(Y,X); h = p/cos(lat) - rp; function [D,M,S] = DMS(DecDeg) % [D,M,S] = DMS(DecDeg) This function takes an angle in decimal degrees and returns % Degrees, Minutes and Seconds val = abs(DecDeg); D = fix(val); M = fix((val-D)*60); S = (val-D-M/60)*3600; if(DecDeg<0) D = -D; end return MATLAB function romberg.m function s = romberg(a,f,lat1,Az12,zd) % % s = romberg(a,f,lat,az,zd) % This function cumputes the arc length of a normal section using Romberg % Integration, a numerical integration technique using the trapezoidal rule % and Richardson Extrapolation. The function requires ellipsoid parameters % a (semi-major axis) and f (flattening of ellipsoid), lat1 (latitude of P1 % in radians), Az12 (azimuth of normal section plane P1-P2 in radians) and % zd (zenith distance of the chord of the normal section arc P1-P2). The % function returns the arc length s. %-------------------------------------------------------------------------% Function: romberg % % Usage: s = romberg(a,f,lat1,Az12,zd); % % Author: R.E.Deakin, % School of Mathematical & Geospatial Sciences, RMIT University % GPO Box 2476V, MELBOURNE, VIC 3001, AUSTRALIA. % email: rod.deakin@rmit.edu.au % Version 1.0 24 September 2009 % % Purpose: This function cumputes the arc length of a normal section % using Romberg Integration, a numerical integration technique using the % trapezoidal rule and Richardson Extrapolation. The function requires Normal Section.doc 43 % ellipsoid parameters a,f and lat1 (latitude of P1 in radians), Az12 % (azimuth of normal section plane P1-P2 in radians) and zd (zenith % distance of the chord of the normal section arc P1-P2). % % Functions required: % % Variables: % Az12 - azimuth of normal section P1-P2 % a - semi-major axis of spheroid % chord - chord distance between P1 and P2 % d2r - degree to radian conversion factor 57.29577951... % e2 - eccentricity of ellipsoid squared % eps - 2nd-eccentricity squared % f - f = 1/flat is the flattening of ellipsoid % g,h - constants of normal section curve % lat1 - latitude of P1 (radians) % nu1 - radius of curvature in prime vertical plane at P1 % pion2 - pi/2 % S - array of normal section arc lengths % s - arc length of normal section P1-P2 % s2 - sin-squared(latitude) % zd - zenith distance of chord % % Remarks: % % References: % [1] Deakin, R. E., (2009), "The Normal Section Curve on an Ellipsoid", % Lecture Notes, School of Mathematical and Geospatial Sciences, % RMIT University, November 2009. % %-------------------------------------------------------------------------% Degree to radian conversion factor d2r = 180/pi; pion2 = pi/2; % Compute ellipsoid constants e2 = f*(2-f); ep2 = e2/(1-e2); % Compute radius of curvature in the prime vertical plane at P1 s2 = sin(lat1)^2; nu1 = a/sqrt(1-e2*s2); %--------------------------------------------------------------% Compute arc length of normal section using ROMBERG INTEGRATION %--------------------------------------------------------------% fprintf('\n\nROMBERG INTEGRATION TABLE'); % Compute constants of normal section curve P1-P2 ep = sqrt(ep2); g = ep*sin(lat1); h = ep*cos(lat1)*cos(Az12); % Set array of arc lengths n = 15; S = zeros(n,n); finish = 0; for k = 1:15 % set the number of intervals and the increment int = 2^k; inc = (zd-pion2)/int; sum = 0; % evaluate the integral using the Trapezoidal Rule for t = pion2:inc:zd x = g*cos(t)+h*sin(t); y = h*cos(t)-g*sin(t); u = -2*nu1*cos(t); Normal Section.doc 44 v = 1+x*x; r = u/v; du = 2*nu1*sin(t); dv = 2*x*y; dr = (v*du-u*dv)/(v*v); y = sqrt(r*r + dr*dr); sum = sum+2*y; if t == pion2 first = y; end last = y; % % end sum = sum-first-last; Integral = inc/2*sum; S(k,1) = Integral; fprintf('\n%d %15.6f',k,S(k,1)); % Use Richardson extrapolation for j = 2:k S(k,j) = 1/(4^(j-1)-1)*(4^(j-1)*S(k,j-1)-S(k-1,j-1)); fprintf(' %15.6f',S(k,j)); diff = abs(S(k,j-1)-S(k,j)); if diff < 1e-6 finish = 1; s = S(k,j); break; end end if finish == 1 break; end end Normal Section.doc 45 REFERENCES Bowring, B. R., (1972), 'Distance and the spheroid', Correspondence, Survey Review, Vol. XXI, No. 164, April 1972, pp. 281-284. Bowring, B. R., (1978), 'The surface controlled spatial system for surveying computations', Survey Review, Vol. XXIIII, No. 190, October 1978, pp. 361-372. Clarke, A. R., (1880), Geodesy, Clarendon Press, Oxford. Deakin, R. E. and Hunter, M. N., (2007), 'Geodesics on an ellipsoid – Pittman's method', Proceedings of the Spatial Sciences Institute Biennial International Conference (SSC2007), Hobart, Tasmania, Australia, 14-18 May 2007, pp. 223-242. Deakin, R. E. and Hunter, M. N., (2007), 'Geodesics on an ellipsoid – Bessel's Method', Lecture Notes, School of Mathematical & Geospatial Sciences, RMIT University, Melbourne, Australia, 66 pages. Dutka, J., (1984), 'Richardson extrapolation and Romberg integration', Historia Mathematica, Vol. 11, Issue 1, February 1984, pp. 3-21. doi: 10.1016/0315-0860(84)90002-8. Grossman, S. I., (1981), Calculus, 2nd edition, Academic Press, New York. Romberg, W., (1955), 'Vereinfachte numerische integration', Det Kongelige Norske Videnskabers Selskab Forhandlinger (Trondheim), Vol. 28, No. 7, pp. 30-36. Tobey, W. M., (1928), Geodesy, Geodetic Survey of Canada Publications No. 11, Ottawa 1928. Williams, P. W., (1972), Numerical Computation, Nelson, London. Normal Section.doc 46 APPENDIX 1: ROMBERG INTEGRATION Romberg integration (Romberg 1955) is a numerical technique for evaluating a definite integral and discussions of the technique can be found in most textbooks on numerical analysis; e.g. Williams (1972). A concise treatment of the technique and a study of the historical development of methods of integration (quadrature) can be found in Dutka (1984). A development of Romberg's method – and the extrapolation formula that is at the heart of it – is given below and is followed by a MATLAB function that demonstrates the use of the technique. Romberg integration is a method for estimating the numerical value of the definite integral b I = ∫ f (x )dx (54) a It is based on the trapezoidal rule – the simplest of the Newton-Cotes integration formula for equally spaced data on the interval a,b b I = h ∫ f (x )dx = 2 ( f 0 + 2 f1 + 2 f2 + + 2 fn −1 + fn ) + E (55) a f (x) f0 f1 f2 a f3 fn b h x where n is the number of intervals of width h, h= b −a is the common interval width or spacing, n f0 , f1, f2 , … are values of the function evaluated at x = ⎡⎢a, a + h, a + 2h, … ⎤⎥ , ⎣ ⎦ E is the error term When the function f (x ) has continuous derivatives the error term E can be expressed as a convergent power series and we may write b I = ∫ f (x )dx = a h ( f + 2 f1 + 2 f2 + 2 0 ∞ + 2 fn −1 + fn ) + E = T + ∑ a j h 2 j (56) j =1 where a j are coefficients. Normal Section.doc 47 As the error term E is a convergent power series in h a technique known as Richardson extrapolation 1 may be employed to improve the accuracy of the result. Richardson extrapolation can be explained as follows. Let the value of n be a power of 2; say 2k i.e., the number of intervals n = 2, 4, 8,16, …,2k Denote an evaluation of the integral I given by equation (56) as ∞ Sk ,1 = T + ∑ a j h 2 j = T + a1h 2 + a2h 4 + a 3h 6 + (57) j=1 If the interval width is halved, then Sk +1,1 2j ⎛h ⎞ 1 1 1 = T + ∑ a j ⎜⎜⎜ ⎟⎟⎟ = T + a1 2 h 2 + a2 4 h 4 + a 3 6 h 6 + 2 2 2 ⎝ 2 ⎠⎟ j =1 ∞ (58) The first term of the error series can be eliminated by taking suitable combinations of equations (57) and (58); i.e., multiplying equation (58) by 4 and then subtracting equation (57) will eliminate the first term of the error series ⎛ 4h 4 ⎞ ⎛ 4h 6 ⎞ 4Sk +1,1 − Sk ,1 = 4T − T + a2 ⎜⎜⎜ 4 − h 4 ⎟⎟⎟ + a 3 ⎜⎜⎜ 6 − h 6 ⎟⎟⎟ + ⎝⎜ 2 ⎠⎟ ⎝⎜ 2 ⎠⎟ ∞ ⎛ 4h 2 j ⎞ = 3T + ∑ a j ⎜⎜⎜ 2 j − h 2 j ⎟⎟⎟ ⎟⎠ ⎜⎝ 2 j =2 and T = 4Sk +1,1 − Sk ,1 3 ⎞ a j h 2 j ⎛⎜ 4 −∑ ⎜ 2 j − 1⎟⎟⎟ ⎟⎠ 3 ⎜⎝ 2 j =2 ∞ (59) The first term on the right-hand-side of equation (59) will be designated Sk ,2 = 4Sk +1,1 − Sk ,1 3 and the leading error term is now of order h 4 . 1 A technique named after Lewis Fry Richardson (1881–1953) a British applied mathematician, physicist, meteorologist, psychologist and pacifist who developed the numerical methods used in weather forecasting and also applied his mathematical techniques to the analysis of the causes and prevention of wars. He was also a pioneer in the study of fractals. Richardson extrapolation is also known as Richardson's deferred approach to the limit. Normal Section.doc 48 Successive halvings of the interval will give a sequence of values S1,1, S 2,1, S 3,1, …, Sk ,1 and each successive pair (S1,1, S 2,1 ), (S 2,1, S 3,1 ), … can be combined to give values S 2,2 , S 3,2 , … ; and this next sequence can be combined in a similar manner to remove the leading error term of order h 4 ; and so on. By using the formula Sk , j = 1 4 j −1 Sk , j −1 − Sk −1, j −1 4 −1 ( j −1 ) k = 1,2, 3, 4, … j = 2, 3, 4, 5, … (60) the process of Richardson extrapolation leads to a triangular sequence of columns with error terms of increasing order. j 1 2 3 4 n k 2 1 S1,1 4 2 S 2,1 S 2,2 16 3 S 3,1 S 3,2 S 3,3 32 4 S 4,1 S 4,2 S 4,3 S 4,4 h2 h4 h6 h8 error term The entries Sk ,2 in the second column have eliminated the terms involving h 2 , the entries in the third column have eliminated the terms involving h 4 , etc, and as the interval 2j ⎛b − a ⎞ b −a h = k the error term of the approximation Sk , j is of the order ⎜⎜⎜ k ⎟⎟⎟ 2 ⎝ 2 ⎠⎟ with each successive value in a particular row converging more rapidly to the true value of the integral. Testing between particular values will determine when the process has converged to a suitable result. Normal Section.doc 49 MATLAB FUNCTION romberg_test.m This function uses Romberg Integration for the calculation of the integral This integral has the known result ∫ ∫ sec (x )dx ⎡ ⎛ x π ⎞⎤ sec (x )dx = ln ⎢⎢ tan ⎜⎜⎜ + ⎟⎟⎟⎥⎥ ⎝ 2 4 ⎟⎠⎥⎦ ⎣⎢ MATLAB function romberg_test.m function romberg_test % % This function computes the numerical value of the integral of sec(x) % which is known to equal ln[tan(x/2+pi/4)]. % For x = 45 degrees the integral sec(x) = 0.881373587020. % An integration table is produced that shows the convergence to the true % value of the integral. %-------------------------------------------------------------------------% Function: romberg_test % % Author: R.E.Deakin, % School of Mathematical & Geospatial Sciences, RMIT University % GPO Box 2476V, MELBOURNE, VIC 3001, AUSTRALIA. % email: rod.deakin@rmit.edu.au % Version 1.0 09 December 2009 % % Purpose: This function computes the numerical value of the integral of % sec(x) which is known to equal ln[tan(x/2+pi/4)]. % For x = 45 degrees the integral sec(x) = 0.881373587. % An integration table is produced that shows the convergence to the true % value of the integral. % % Variables: % diff - difference between successive approximations of the integral - degree to radian conversion factor 57.29577951... % d2r % first - first value of f(x) % fx - value of f(x) % h - interval width % Integral - numerical value of integral from trapezoidal rule % k,j - integer counters % last - last value of f(x) - maximum number of intervals % m % n - number of intervals % S - array of integral values % sum - sum of function values % x - the variable % % References: % Williams, P. W., (1972), "Numerical Computation", Nelson, London. % %-------------------------------------------------------------------------% Degree to radian conversion factor d2r = 180/pi; fprintf('\n\nRomberg Integration Table for the integral of sec(x) for x = 45 degrees'); % Set array of values S(k,j) m = 15; S = zeros(m,m); finish = 0; for k = 1:m % set the number of intervals and the increment Normal Section.doc 50 n = 2^k; h = 45/n; sum = 0; % evaluate the integral using the Trapezoidal Rule for x = 0:h:45 fx = 1/cos(x/d2r); sum = sum+2*fx; if x == 0 first = fx; end last = fx; end sum = sum-first-last; Integral = h/d2r/2*sum; S(k,1) = Integral; fprintf('\n%d %15.12f',k,S(k,1)); % Use Richardson extrapolation for j = 2:k S(k,j) = 1/(4^(j-1)-1)*(4^(j-1)*S(k,j-1)-S(k-1,j-1)); fprintf(' %15.12f',S(k,j)); diff = abs(S(k,j-1)-S(k,j)); if diff < 1e-12 finish = 1; break; end end if finish == 1 break; end end fprintf('\n\n'); MATLAB Command Window >> help romberg_test This function cumputes the numerical value of the integral of sec(x) which is known to equal ln[tan(x/2+pi/4)]. For x = 45 degrees the integral sec(x) = 0.881373587020. An integration table is produced that shows the convergence to the true value of the integral. >> romberg_test Romberg Integration Table for the integral of sec(x) for x = 45 degrees 1 0.899084147577 2 0.885885914440 0.881486503395 3 0.882507477613 0.881381332003 0.881374320577 4 0.881657432521 0.881374084157 0.881373600967 0.881373589544 5 0.881444571861 0.881373618307 0.881373587251 0.881373587033 0.881373587023 6 0.881391334699 0.881373588978 0.881373587023 0.881373587020 0.881373587020 >> Normal Section.doc 51 The output from the function Romberg_test.m that is evaluating the integral x =45 I = ∫ sec (x )dx x =0 is shown in the Romberg Integration Table and the elements are obtained as follows: • For k = 1 , there are n = 2k = 2 intervals (or strips) of width h where b −a 45 − 0 h = = 22.50 and the integral I ( f + 2 f1 + f2 ) . The function n 2 2 0 1 f (x ) = sec x = evaluated at x = 0 ,22.5 , 45 gives cos x h= f0 = 1 f1 = 1.082392200 f2 = 1.414213562 and S1,1 = I = 22.5 ⎛⎜ π ⎟⎞ ⎟ 1 + 2 (1.082392200) + 1.414213562 = 0.899084148 ⎜ 2 ⎜⎝180 ⎟⎟⎠ ( ) • For k = 2 , there are n = 2k = 4 intervals (or strips) of width h where 45 − 0 b −a h = = 11.25 and the integral I ( f + 2 f1 + 2f3 + f4 ) . The function 2 0 4 n 1 f (x ) = sec x = evaluated at x = 0 ,11.25 ,22.5 , 33.75 , 45 gives cos x h= f0 = 1 f1 = 1.019591158 f2 = 1.082392200 f3 = 1.202689774 f4 = 1.414213562 and S 2,1 = I = 11.25 ⎛⎜ π ⎟⎞ ⎟ 1 + 2 (1.019 …) + 2 (1.082 …) + 2 (1.202 …) + 1.414 … = 0.885885914 ⎜ 2 ⎜⎝180 ⎟⎟⎠ ( ) The element S 2,2 is obtained from equation (60) S 2,2 = 1 1 41 S 2,1 − S1,1 = (4 × 0.885885914 − 0.899084148) = 0.881486503 3 4 −1 1 Normal Section.doc ( ) 52 • For k = 3 , there are n = 2k = 8 intervals (or strips) of width h = 5.625 and the h 1 f0 + 2 f1 + 2 f3 + + 2 f7 + f8 ) . The function f (x ) = sec x = evaluated ( 2 cos x at x = 0 , 5.625 ,11.25 , …, 39.375 , 45 gives integral I f0 = 1 f1 = 1.004838572 f2 = 1.019591158 f7 = 1.293643567 f8 = 1.414213562 and S 3,1 = I = 5.625 ⎛⎜ π ⎟⎞ ⎟ 1 + 2 (1.004 …) + ⎜ 2 ⎜⎝180 ⎟⎟⎠ ( ) + 2 (1.293 …) + 1.414 … = 0.882507478 The elements S 3,2 and S 3,3 are obtained from equation (60) 1 1 41 S 3,1 − S 2,1 = (4 × 0.882507478 − 0.885885914) = 0.881381333 3 4 −1 1 1 42 S 3,2 − S 2,2 = (16 × 0.881381333 − 0.881486503) = 0.8813374322 = 2 15 4 −1 S 3,2 = S 3,3 1 ( ) ( ) And so on for increasing values of k Testing between successive values Sk , j −1 and Sk , j can be used to determine when the iterative procedure is terminated. Normal Section.doc 53 THE CURVE OF ALIGNMENT ON AN ELLIPSOID R. E. Deakin School of Mathematical & Geospatial Sciences, RMIT University, GPO Box 2476V, MELBOURNE VIC 3001, AUSTRALIA email: rod.deakin@rmit.edu.au December 2009 ABSTRACT These notes provide a detailed derivation of the equation for the curve of alignment on an ellipsoid. Using this equation and knowing the terminal points of the curve, a technique is developed for computing the location of points along the curve. A MATLAB function is provided that demonstrates the algorithm developed. INTRODUCTION In geodesy, the curve of alignment between P1 and P2 on the ellipsoid is the locus of a point P on the surface that moves so that a normal section plane at P contains the terminal points P1 and P2 . z λ1 normal section curve P • curve of alignment P2 • ellipsoid b no a a rm no rm al P1 • al φ1 H1 O• a y •H P x equator Figure 1: Curve of alignment on ellipsoid Curve of Alignment.doc 1 Figure 1 shows P on the curve of alignment between P1 and P2 . The normal to the ellipsoid at P intersects the z-axis of the ellipsoid at H P and is contained in the plane P1PP2H P . This normal section plane cuts the ellipsoid along the normal section curve P1PP2 . As P moves from P1 to P2 – maintaining the condition that a normal section plane contains P1 and P2 – it traces out the curve of alignment. This is a curve on the surface having both curvature and torsion, i.e., it twists across the surface between P1 and P2 . Note that in Figure 1, the normal at P1 intersects the z-axis at H 1 and is not contained in the plane P1PP2H P , unless P is at P1 . The curve of alignment can also be described physically in the following way. Imagine a theodolite, in adjustment, that is setup on the surface of the ellipsoid somewhere between P1 and P2 , and whose vertical axis is coincident with the ellipsoid normal. The theodolite is pointed to the backsight P1 and the horizontal circle is clamped; then the telescope is rotated in the vertical plane and pointed towards the forsight P2 . Unless there is some fluke of positioning, it is unlikely that the theodolite cross-hairs will bisect the target P2 . So the theodolite is repositioned by moving appropriate amounts perpendicular to the line until the vertical plane of the theodolite at P contains both the backsight P1 and the forsight P2 . A peg is place on the surface at this point. This process of “jiggling in” or “middling in” between P1 and P2 is repeated a short distance further along the line and another peg placed. After the last peg has been placed the curve of alignment is now defined by the pegged line on the surface. The curve of alignment follows a path very similar to that of the geodesic and it is slightly longer; although the difference is practicably negligible at distances less than 5,000 km. This will be demonstrated below using equations developed by Clarke (1880) and Bowring (1972). The equation for the curve developed below is similar to that derived by Thomas (1952) although the method of development is different; and it is not in a form suitable for computing the distance or azimuth of the curve. But, as it contains functions of both the latitude and longitude of a point on the curve, it is suitable for computing the latitude of a point (by iteration) given a certain longitude. Alternatively, by choosing suitable functions of given latitude, the longitude of a point on the curve can be computed directly (by solving a trigonometric equation). Curve of Alignment.doc 2 EQUATION OF CURVE OF ALIGNMENT {} λP {} x y z z normal section curve 1 b O• a {} a x ellipsoid al P1 • P2 •2 {} no rm x1 y1 z1 P • x2 y2 z2 x3 y3 z3 •H φP a y 3 equator Figure 2: Normal section plane containing P1 and P2 Figure 2 shows a normal section plane of P on an ellipsoid that passes through P1 and P2 . The semi-axes of the ellipsoid are a and b (a > b ) and the first-eccentricity squared e 2 , second-eccentricity squared e ′2 and the flattening f of the ellipsoid are defined by a 2 − b2 e = = f (2 − f ) a2 f (2 − f ) a 2 − b2 e2 e ′2 = = = 2 2 b2 (1 − f ) 1 − e a −b f = a 2 (1) Parallels of latitude φ and meridians of longitude λ have their respective reference planes; the equator and the Greenwich meridian, and Longitudes are measured 0 to ±180 (east positive, west negative) from the Greenwich meridian and latitudes are measured 0 to ±90 (north positive, south negative) from the equator. The x,y,z geocentric Cartesian coordinate system has an origin at O, the centre of the ellipsoid, and the z-axis is the minor axis (axis of revolution). The xOz plane is the Greenwich meridian plane (the origin of longitudes) and the xOy plane is the equatorial plane. The positive x-axis passes through the intersection of the Greenwich meridian and the equator, the positive y-axis is Curve of Alignment.doc 3 advanced 90 east along the equator and the positive z-axis passes through the north pole of the ellipsoid. The normal section plane in Figure 2 is defined by points |, ~ and ¡ that are P1 , P2 and H respectively where H is at the intersection of the normal through P and the z-axis. Cartesian coordinates of | and ~ are computed from the following equations x = ν cos φ cos λ y = ν cos φ sin λ ( (2) ) z = ν 1 − e 2 sin φ where ν = PH is the radius of curvature in the prime vertical plane and a ν= (3) 1 − e 2 sin 2 φ The distance OH = ν e 2 sin φ and the Cartesian coordinates of point ¡ are ⎤ ⎡x ⎤ ⎡ 0 ⎥ ⎢ 3⎥ ⎢ ⎥ ⎢y ⎥ = ⎢ 0 ⎥ ⎢ 3⎥ ⎢ ⎥ ⎢ ⎥ ⎢ 2 z −νe sin φ ⎥ ⎣⎢ 3 ⎦⎥ ⎢⎣ ⎦ (4) The General equation of a plane may be written as Ax + By + Cz + D = 0 (5) And the equation of the plane passing through points |, ~ and ¡ is given in the form of a 3rd-order determinant x − x1 y − y1 z − z1 x 2 − x1 y2 − y1 z 2 − z1 = 0 x 3 − x 2 y 3 − y2 (6) z3 − z2 or expanded into 2nd-order determinants y 2 − y1 z 2 − z 1 x − x 1 z 2 − z1 x − x 1 y 2 − y1 x − x1 ) − 2 y − y1 ) + 2 ( ( (z − z1 ) = 0 y 3 − y2 z 3 − z 2 x 3 − x2 z 3 − z2 x 3 − x 2 y 3 − y2 (7) Expanding the determinants in equation (7) gives (x − x ) {(y − (y − y ) {(x + (z − z ) {(x Curve of Alignment.doc 1 2 1 2 1 2 } − x )(z − z ) − (z − z )(x − x )} − x )(y − y ) − (y − y )(x − x )} = 0 − y1 )(z 3 − z 2 ) − (z 2 − z 1 )(y 3 − y2 ) 1 3 2 2 1 3 2 1 3 2 2 1 3 2 (8) 4 Now from equation (4) x 3 = y 3 = 0 and equation (8) becomes (x − x )(y − (y − y )(x + (z − z )(x 1 2 1 2 1 2 − y1 )(z 3 − z 2 )− (x − x 1 )(z 2 − z1 )(−y2 ) − x 1 )(z 3 − z 2 )+ (y − y1 )(z 2 − z 1 )(−x 2 ) − x 1 )(−y2 ) + (z − z 1 )(y2 − y1 )(−x 2 ) = 0 (9) Expanding and simplifying equation (9) gives xz 3 (y2 − y1 ) + x (y1z 2 − y2z 1 ) + z 3 (x 2y1 − x 1y2 ) + yz 3 (x 1 − x 2 ) + y (x 2z 1 − x 1z 2 ) + z (x 1y2 − x 2y1 ) = 0 (10) ( ) Now from equations (2) and (4) x = ν cos φ cos λ , y = ν cos φ sin λ , z = ν 1 − e 2 sin φ and z 3 = −νe 2 sin φ , and substituting these into equation (10) gives νe 2 {(x 2 } − x 1 ) sin λ − (y2 − y1 ) cos λ sin φ − (y2z 1 − y1z 2 ) cos λ + (x 2z 1 − x 1z 2 ) sin λ − (x 2y1 − x 1y2 ) tan φ = 0 that is equivalent to ( ){ − (1 − e ) (x z } ( ) ν 1 − e 2 e 2 (y2 − y1 ) cos λ − e 2 (x 2 − x 1 ) sin λ sin φ − 1 − e 2 (y1z 2 − y2z 1 ) cos λ 2 1 2 ( − x 2z 1 ) sin λ − 1 − e 2 )(x y 1 2 − x 2y1 ) tan φ = 0 or, following Thomas (1952, p. 67, eq. 183); the equation of the curve of alignment is ( ) ( ) ν 1 − e 2 {C cos λ − H sin λ } sin φ −U cos λ −V sin λ −W 1 − e 2 tan φ = 0 (11) where ( ) (x − x ) V = (1 − e )(x z C = e 2 (y2 − y1 ) H = e2 U = 1 − e 2 (y1z 2 − y2z1 ) 2 2 1 2 1 − x 1z 2 ) W = x 1y2 − x 2y1 (12) Equation (11) is not suitable for computing the distance along a curve of alignment, nor is it suitable for computing the azimuth of the curve, but by certain re-arrangements it is possible to solve (iteratively) for the latitude of a point on the curve given a longitude somewhere between the longitudes of the terminal points of the curve. Or alternatively, solve (a trigonometric equation) for the longitude of a point given a latitude somewhere between the latitudes of the terminal points. Curve of Alignment.doc 5 SOLVING FOR THE LATITUDE Equation (11) can be re-arranged as Aν sin φ − B tan φ − D = 0 (13) where A and D are functions of longitude alone and B is a constant for the curve, and ( ) A = 1 − e 2 (C cos λ − H sin λ ); ( ) B = W 1 − e2 ; D = U cos λ + V sin λ (14) C, H, U, V and W are constants for the particular curve and are given by equation (12). ν is a function of the latitude of P on the curve and is given by equation (3). The latitude φ can be evaluated using Newton-Raphson iteration for the real roots of the equation f (φ ) = 0 given in the form of an iterative equation φ(n +1) = φ(n ) − ( ) f ′ (φ( ) ) f φ(n ) (15) n where n denotes the nth iteration and f (φ ) is given by equation (13) as f (φ ) = Aν sin φ − B tan φ − D and the derivative f ′ (φ ) = (16) d f (φ ) is given by dφ { f ′ (φ ) = } dν A sin φ + ν A cos φ − B sec2 φ dφ (17) where, from equation (3) ν3 2 dν = e sin φ cos φ dφ a 2 (18) An initial value of φ(1) ( φ for n = 1 ) can be taken as the latitude of P1 and the functions ( ) ( ) f φ(1) and f ′ φ(1) evaluated from equations (16) and (17) using φ1 . φ(2) ( φ for n = 2 ) can now be computed from equation (15) and this process repeated to obtain values φ(3), φ(4), … . This iterative process can be concluded when the difference between φ(n +1) and φ(n ) reaches an acceptably small value. Curve of Alignment.doc 6 SOLVING FOR THE LONGITUDE Equation (11) can also be re-arranged as P cos λ − Q sin λ = S (19) where P, Q and S are functions of latitude alone and ( ) P = C ν 1 − e 2 sin φ −U ; ( ) Q = H ν 1 − e 2 sin φ +V ; ( ) S = W 1 − e 2 tan φ (20) C, H, U, V and W are constants for the particular curve and are given by equation (12). ν is a function of the latitude of P on the curve and is given by equation (3). The longitude can be evaluated using Newton-Raphson iteration where λ(n +1) = λ(n ) − ( ) f ′ (λ( ) ) f λ(n ) (21) n and f (λ ) = P cos λ − Q sin λ − S f ′ (λ ) = −P sin λ − Q cos λ (22) An initial value of λ(1) ( λ for n = 1 ) can be taken as the longitude of P1 . Alternatively, the longitude can be evaluated by a trigonometric equation derived as follows. Equation (19) can be expressed as a trigonometric addition of the form S = R cos (λ − θ ) = R cos λ cos θ + R sin λ sin θ (23) Now, equating the coefficients of cos λ and sin λ in equations (19) and (23) gives P = R cos θ; Q = −R sin θ R = P 2 +Q2 ; tan θ = (24) and using these relationships −Q P (25) Substituting these results into equation (23) gives ⎧ ⎫ ⎧⎪−Q ⎪⎫ S ⎪⎪ ⎪⎪ ⎪⎬ λ = arccos ⎨ ⎬ + arctan ⎪⎨ ⎪⎪ P 2 + Q 2 ⎪⎪ ⎪⎪⎩ P ⎪⎪⎭ ⎩⎪ ⎭⎪ Curve of Alignment.doc (26) 7 DIFFERENCE IN LENGTH BETWEEN A GEODESIC AND CURVE OF ALIGNMENT There are five curves of interest in geodesy; the geodesic, the normal section, the great elliptic arc the loxodrome and the curve of alignment. The geodesic between P1 and P2 on an ellipsoid is the unique curve on the surface defining the shortest distance; all other curves will be longer in length. The normal section curve P1P2 is a plane curve created by the intersection of the normal section plane containing the normal at P1 and also P2 with the ellipsoid surface. And as we have shown (Deakin 2009) there is the other normal section curve P2P1 . The curve of alignment is the locus of all points P such that the normal section plane at P also contains the points P1 and P2 . The curve of alignment is very close to a geodesic. The great elliptic arc is the plane curve created by intersecting the plane containing P1 , P2 and the centre O with the surface of the ellipsoid and the loxodrome is the curve on the surface that cuts each meridian between P1 and P2 at a constant angle. Approximate equations for the difference in length between the geodesic, the normal section curve and the curve of alignment were developed by Clarke (1880, p. 133) and Bowring (1972, p. 283) developed an approximate equation for the difference between the geodesic and the great elliptic arc. Following Bowring (1972), let s = geodesic length L = normal section length D = great elliptic length S = curve of alignment length then e 4 ⎛⎜ s ⎞⎟ L −s = s ⎜ ⎟⎟ cos4 φ1 sin2 α12 cos2 α12 + 90 ⎜⎝ R ⎠⎟ 2 e 4 ⎛⎜ s ⎞⎟ D −s = s ⎜ ⎟⎟ sin2 φ1 cos2 φ1 sin2 α12 + 24 ⎜⎝ R ⎠⎟ 4 (27) e 4 ⎛⎜ s ⎞⎟ S −s = s ⎜⎜ ⎟⎟ cos4 φ1 sin2 α12 cos2 α12 + 360 ⎝ R ⎠⎟ 4 where R can be taken as the radius of curvature in the prime vertical at P1 . Now for a given value of s, S − s will be a maximum if φ1 = 0 ( P1 on the equator) and α12 = 45 in which case cos4 φ1 sin2 α12 cos2 α12 = Curve of Alignment.doc 1 , thus 4 8 e4 ⎛ s ⎞ (S − s ) < 1440 s ⎜⎜⎜ R ⎟⎟⎟⎟ ⎝ ⎠ 4 (28) For the GRS80 ellipsoid where f = 1 298.257222101, e 2 = f (2 − f ) , and for s = 2000000 m (2,000 km) and R = 6371000 m , equation (28) gives S − s < 0.001 m . MATLAB FUNCTIONS Two MATLAB functions are shown below; they are: curve_of_alignment_lat.m and curve_of_alignment_lon.m Assuming that the terminal points of the curve are known, the first function computes the latitude of a point on the curve given a longitude and the second function computes the longitude of a point given the latitude. Output from the two functions is shown below for points on a curve of alignment between the terminal points of the straight-line section of the Victorian–New South Wales border. This straight-line section of the border, between Murray Spring and Wauka 1978, is known as the Black-Allan Line in honour of the surveyors Black and Allan who set out the border line in 1870-71. Wauka 1978 (Gabo PM 4) is a geodetic concrete border pillar on the coast at Cape Howe and Murray Spring (Enamo PM 15) is a steel pipe driven into a spring of the Murray River that is closest to Cape Howe. The straight line is a normal section curve on the reference ellipsoid of the Geocentric Datum of Australia (GDA94) that contains the normal to the ellipsoid at Murray Spring. The GDA94 coordinates of Murray Spring and Wauka 1978 are: Murray Spring: Wauka 1978: φ −37 47 ′ 49.2232′′ φ −37 30′ 18.0674′′ λ 148 11′ 48.3333′′ λ 149 58′ 32.9932′′ The normal section azimuth and distance are: 116 58 ′ 14.173757 ′′ 176495.243760 m The geodesic azimuth and distance are: 116 58 ′ 14.219146′′ 176495.243758 m Figure 3 shows a schematic view of the Black-Allan line (normal section) and the geodesic and curve of alignment. The relationships between these two curves and the normal section have been computed at seven locations along the line (A, B, C, etc.) where meridians of longitude at 0 15′ intervals cut the line. The relationships are shown in Table 1. Curve of Alignment.doc 9 BLACK-ALLAN LINE: VICTORIA/NSW BORDER The Black-Allan Line is a normal section curve on the reference ellipsoid between P1 (Murray Spring) and P2 (Wauka 1978). This curve is the intersection of the normal section plane and the ellipsoid, and the normal section contains P1, the normal to the ellipsoid at P1, and P2. 148°15’ 148°30’ Murray Spring r 148°45’ N S W The GDA94 coordinates of Murray Spring and Wauka 1978 are: Murray Spring: φ -37°47’4 9.2232” λ 148°11’48.3333” φ -37°30’1 8.0674” λ 149°58’32.9932” Wauka 1978: 149°00 ’ BL ACK The normal section azimuth and distance are: 116°58’14.173757” 176495.243760 m. 149°15’ AL L AN 149°30’ LIN E Geodesic 149°45 ’ Normal Section VIC Wauka 1978 r Curve of Alignm ent The geodesic and the Curve of Alignment are show n plotted at an exaggerated scale with respect to the Border Lin e (normal section). At longitude 149°00’E. the Geodesic is 0.016 m s outh of the Border Line and the Curve of Alignment is 0.015 m south . At longitude 149°30’E. the Geodesic is 0.015 m s outh of the Border Line and the Curve of Alignment is 0.019 m south . Figure 3 BLACK-ALLAN LINE: NAME Murray Spring A B C D E F G Wauka 1978 VICTORIA/NSW BORDER GDA94 LATITUDE LONGITUDE -36°47΄49.223200˝ -36°49΄07.598047˝ -36°49΄07.598090˝ -36°49΄07.598051˝ -36°55΄13.876510˝ -36°55΄13.876745˝ -36°55΄13.876614˝ -37°01΄17.289080˝ -37°01΄17.289478˝ -37°01΄17.289366˝ -37°07΄17.845554˝ -37°07΄17.846060˝ -37°07΄17.846030˝ -37°13΄15.555723˝ -37°13΄15.556262˝ -37°13΄15.556326˝ -37°19΄10.429372˝ -37°19΄10.429845˝ -37°19΄10.429972˝ -37°25΄02.476276˝ -37°25΄02.476564˝ -37°25΄02.476677˝ -37°30΄18.067400˝ dφ Ellipsoid values ρ dm = ρ×dφ 148°11΄48.333300˝ N G CoA N G CoA N G CoA N G CoA N G CoA N G CoA N G CoA 148°15΄00.000000˝ -00΄00.000043˝ -00΄00.000004˝ 6358356.102 -0.0013 -0.0001 148°30΄00.000000˝ -00΄00.000235˝ -00΄00.000104˝ 6358465.209 -0.0072 . .-0.0032 148°45΄00.000000˝ -00΄00.000398˝ -00΄00.000286˝ 6358573.577 -0.0123 -0.0088 149°00΄00.000000˝ -00΄00.000506˝ -00΄00.000476˝ 6358681.204 -0.0156 -0.0147 149°15΄00.000000˝ -00΄00.000539˝ -00΄00.000603˝ 6358788.089 -0.0166 -0.0186 149°30΄00.000000˝ -00΄00.000473˝ -00΄00.000600˝ 6358894.232 -0.0146 -0.0185 149°45΄00.000000˝ -00΄00.000288˝ -00΄00.000401˝ 6358999.632 -0.0089 -0.0124 149°58΄32.993200˝ TABLE 1: Points where curves cut meridians of A, B, C, etc at 0°15΄ intervals of longitude along Border Line N = Normal Section, G = Geodesic, CoA = Curve of Alignment Curve of Alignment.doc 10 >> curve_of_alignment_lat ================== Curve of Alignment ================== Ellipsoid parameters a = 6378137.0000 f = 1/298.257222101 Terminal points of curve Latitude P1 = -36 47 49.223200 (D M S) Longitude P1 = 148 11 48.333300 (D M S) Latitude P2 = Longitude P2 = -37 30 18.067400 (D M S) 149 58 32.993200 (D M S) Cartesian coordinates X Y Z P1 -4345789.609716 2694844.030716 -3799378.032024 P2 -4386272.668061 2534883.268540 -3862005.992252 Given longitude of P3 Longitude P3 = 149 30 0.000000 (D M S) Latitude of P3 computed from Newton-Raphson iteration Latitude P3 = -37 19 10.429972 (D M S) iterations = 4 >> >> curve_of_alignment_lon ================== Curve of Alignment ================== Ellipsoid parameters a = 6378137.0000 f = 1/298.257222101 Terminal points of curve Latitude P1 = -36 47 49.223200 (D M S) Longitude P1 = 148 11 48.333300 (D M S) Latitude P2 = Longitude P2 = -37 30 18.067400 (D M S) 149 58 32.993200 (D M S) Cartesian coordinates X Y Z P1 -4345789.609716 2694844.030716 -3799378.032024 P2 -4386272.668061 2534883.268540 -3862005.992252 Given latitude of P3 Latitude P3 = -37 19 10.429972 (D M S) Longitude of P3 computed from Newton-Raphson iteration Longitude P3 = 149 29 60.000000 (D M S) iterations = 5 Longitude of P3 computed from trigonometric equation Longitude P3 = 149 29 60.000000 (D M S) theta P3 = 8 32 44.447661 (D M S) >> Curve of Alignment.doc 11 MATLAB function curve_of_alignment_lat.m function curve_of_alignment_lat % % curve_of_alignment_lat: Given the terminal points P1 and P2 of a curve of % alignment on an ellipsoid, and the longitude of a point P3 on the curve, % this function computes the latitude of P3. %-------------------------------------------------------------------------% Function: curve_of_alignment_lat % % Usage: curve_of_alignment_lat % % Author: R.E.Deakin, % School of Mathematical & Geospatial Sciences, RMIT University % GPO Box 2476V, MELBOURNE, VIC 3001, AUSTRALIA. % email: rod.deakin@rmit.edu.au % Version 1.0 3 October 2009 % Version 1.1 31 December 2009 % % Purpose: Given the terminal points P1 and P2 of a curve of alignment on % an ellipsoid, and the longitude of a point P3 on the curve, this % function computes the latitude of P3. % % Functions required: % [D,M,S] = DMS(DecDeg) % [X,Y,Z] = Geo2Cart(a,flat,lat,lon,h) % [rm,rp] = radii(a,flat,lat); % % Variables: % A,D - curve of alignment functions of longitude % a - semi-major axis of ellipsoid % b - semi-minor axis of ellipsoid % B,C,H,W,U,V - constants of curve of alignment % d2r - degree to radian conversion factor 57.29577951... % d_nu - derivative of nu w.r.t latitude % e2 - eccentricity of ellipsoid squared % f - f = 1/flat is the flattening of ellipsoid % flat - denominator of flattening of ellipsoid % f_lat3 - function of latitude of P3 % fdash_lat3 - derivative of function of latitude of P3 % h1,h2 - ellipsoidal heights of P1 and P2 (Note: h1 = h2 = 0) % iter - number of iterations % lat1,lat2,lat3 - latitude of P1, P1, P3 (radians) % lon1,lon2,lon3 - longitude of P1, P2, P3 (radians) % new_lat3 - next latiude in Newton-Raphson iteration % nu - radius of curvature in prime vertical plane % rho - radius of curvature in meridain plane % X1,Y1,Z1 - Cartesian coordinates of P1 % X2,Y2,Z2 - Cartesian coordinates of P2 % % Remarks: % Given the terminal points P1 and P2 of a curve of alignment on an % ellipsoid, and the longitude of a point P3 on the curve, this function % computes the latitude of P3. % % References: % [1] Deakin, R.E., 2009, 'The Curve of Alignment on an Ellipsoid', % Lecture Notes, School of Mathematical and Geospatial Sciences, % RMIT University, December 2009 % [2] Thomas, P.D., 1952, Conformal Projections in Geodesy and % Cartography, Special Publication No. 251, Coast and Geodetic % Survey, U.S. Department of Commerce, Washington, DC: U.S. % Government Printing Office, pp. 66-67. % %-------------------------------------------------------------------------% Degree to radian conversion factor Curve of Alignment.doc 12 d2r = 180/pi; % Set ellipsoid parameters a = 6378137; % GRS80 flat = 298.257222101; % Compute ellipsoid constants f = 1/flat; e2 = f*(2-f); % Set lat, lon lat1 = -(36 + lon1 = (148 + lat2 = -(37 + lon2 = (149 + h1 = 0; h2 = 0; and height of P1 and P2 on ellipsoid 47/60 + 49.2232/3600)/d2r; % Spring 11/60 + 48.3333/3600)/d2r; 30/60 + 18.0674/3600)/d2r; % Wauka 1978 58/60 + 32.9932/3600)/d2r; % Compute Cartesian coords of P1 and P2 [X1,Y1,Z1] = Geo2Cart(a,flat,lat1,lon1,h1); [X2,Y2,Z2] = Geo2Cart(a,flat,lat2,lon2,h2); % C H W U V B Compute constants of Curve of Alignment = e2*(Y2-Y1); = e2*(X2-X1); = X1*Y2-X2*Y1; = (1-e2)*(Y1*Z2-Y2*Z1); = (1-e2)*(X2*Z1-X1*Z2); = (1-e2)*W; % Set longitude of P3 lon3 = (149 + 30/60)/d2r; % Set constants A and D that are functions of longitude only A = (1-e2)*(C*cos(lon3)-H*sin(lon3)); D = U*cos(lon3)+V*sin(lon3); %---------------------------------------------------------% Compute the latitude of P3 using Newton-Raphson iteration %---------------------------------------------------------% Set starting value of phi = latitude lat3 = lat1; iter = 1; while 1 % Compute radii of curvature [rho,nu] = radii(a,flat,lat3); d_nu = nu^3/(a*a)*e2*sin(lat3)*cos(lat3); f_lat3 = A*nu*sin(lat3)-B*tan(lat3)-D; fdash_lat3 = d_nu*A*sin(lat3)+nu*A*cos(lat3)-B/(cos(lat3)^2); new_lat3 = lat3-(f_lat3/fdash_lat3); if abs(new_lat3 - lat3) < 1e-15 break; end lat3 = new_lat3; if iter > 100 fprintf('Iteration for latitude failed to converge after 100 iterations'); break; end iter = iter + 1; end; %----------------------% Print result to screen %----------------------fprintf('\n=================='); fprintf('\nCurve of Alignment'); fprintf('\n=================='); fprintf('\nEllipsoid parameters'); Curve of Alignment.doc 13 fprintf('\na fprintf('\nf = %12.4f',a); = 1/%13.9f',flat); fprintf('\n\nTerminal points of curve'); % Print lat and lon of P1 [D,M,S] = DMS(lat1*d2r); if D == 0 && lat1 < 0 fprintf('\nLatitude P1 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLatitude P1 = %4d %2d %9.6f (D M S)',D,M,S); end [D,M,S] = DMS(lon1*d2r); if D == 0 && lon1 < 0 fprintf('\nLongitude P1 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLongitude P1 = %4d %2d %9.6f (D M S)',D,M,S); end % Print lat and lon of P2 [D,M,S] = DMS(lat2*d2r); if D == 0 && lat2 < 0 fprintf('\n\nLatitude P2 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\n\nLatitude P2 = %4d %2d %9.6f (D M S)',D,M,S); end [D,M,S] = DMS(lon2*d2r); if D == 0 && lon2 < 0 fprintf('\nLongitude P2 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLongitude P2 = %4d %2d %9.6f (D M S)',D,M,S); end % Print Coordinate table fprintf('\n\nCartesian coordinates'); fprintf('\n X Y fprintf('\nP1 %15.6f %15.6f %15.6f',X1,Y1,Z1); fprintf('\nP2 %15.6f %15.6f %15.6f',X2,Y2,Z2); Z'); % Print lat and lon of P3 fprintf('\n\nGiven longitude of P3'); [D,M,S] = DMS(lon3*d2r); if D == 0 && lon3 < 0 fprintf('\nLongitude P3 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLongitude P3 = %4d %2d %9.6f (D M S)',D,M,S); end fprintf('\n\nLatitude of P3 computed from Newton-Raphson iteration'); [D,M,S] = DMS(lat3*d2r); if D == 0 && lat3 < 0 fprintf('\nLatitude P3 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLatitude P3 = %4d %2d %9.6f (D M S)',D,M,S); end fprintf('\niterations = %4d',iter); fprintf('\n\n'); Curve of Alignment.doc 14 MATLAB function curve_of_alignment_lon.m function curve_of_alignment_lon % % curve_of_alignment_lon: Given the terminal points P1 and P2 of a curve of % alignment on an ellipsoid, and the latitude of a point P3 on the curve, % this function computes the longitude of P3. %-------------------------------------------------------------------------% Function: curve_of_alignment_lon % % Usage: curve_of_alignment_lon % % Author: R.E.Deakin, % School of Mathematical & Geospatial Sciences, RMIT University % GPO Box 2476V, MELBOURNE, VIC 3001, AUSTRALIA. % email: rod.deakin@rmit.edu.au % Version 1.0 31 December 2009 % % Purpose: Given the terminal points P1 and P2 of a curve of alignment on % an ellipsoid, and the latitude of a point P3 on the curve, this function % computes the longitude of P3. % % Functions required: % [D,M,S] = DMS(DecDeg) % [X,Y,Z] = Geo2Cart(a,flat,lat,lon,h) % [rm,rp] = radii(a,flat,lat); % % Variables: % a - semi-major axis of ellipsoid % b - semi-minor axis of ellipsoid % C,H,W,U,V - constants of curve of alignment % d2r - degree to radian conversion factor 57.29577951... % d_nu - derivative of nu w.r.t latitude % e2 - eccentricity of ellipsoid squared % f - f = 1/flat is the flattening of ellipsoid % flat - denominator of flattening of ellipsoid % f_lon3 - function of longitude of P3 % fdash_lon3 - derivative of function of longitude of P3 % h1,h2 - ellipsoidal heights of P1 and P2 (Note: h1 = h2 = 0) % iter - number of iterations % lambda - longitude of P3 computed from trigonometric equation % lat1,lat2,lat3 - latitude of P1, P1, P3 (radians) % lon1,lon2,lon3 - longitude of P1, P2, P3 (radians) % new_lon3 - next longitude in Newton-Raphson iteration % nu - radius of curvature in prime vertical plane % P,Q,S - functions of latitude of a point on the curve of % - alignment % rho - radius of curvature in meridain plane % theta - auxiliary angle in the computation of lambda % X1,Y1,Z1 - Cartesian coordinates of P1 % X2,Y2,Z2 - Cartesian coordinates of P2 % % Remarks: % Given the terminal points P1 and P2 of a curve of alignment on an % ellipsoid, and the latitude of a point P3 on the curve, this function % computes the longitude of P3. % % References: % [1] Deakin, R.E., 2009, 'The Curve of Alignment on an Ellipsoid', % Lecture Notes, School of Mathematical and Geospatial Sciences, % RMIT University, December 2009 % [2] Thomas, P.D., 1952, Conformal Projections in Geodesy and % Cartography, Special Publication No. 251, Coast and Geodetic % Survey, U.S. Department of Commerce, Washington, DC: U.S. % Government Printing Office, pp. 66-67. % %-------------------------------------------------------------------------- Curve of Alignment.doc 15 % Degree to radian conversion factor d2r = 180/pi; % Set ellipsoid parameters a = 6378137; % GRS80 flat = 298.257222101; % Compute ellipsoid constants f = 1/flat; e2 = f*(2-f); % Set lat, lon and height of P1 and P2 on ellipsoid lat1 = -(36 + 47/60 + 49.2232/3600)/d2r; % Spring lon1 = (148 + 11/60 + 48.3333/3600)/d2r; lat2 = -(37 + 30/60 + 18.0674/3600)/d2r; % Wauka 1978 lon2 = (149 + 58/60 + 32.9932/3600)/d2r; h1 = 0; h2 = 0; % Compute Cartesian coords of P1 and P2 [X1,Y1,Z1] = Geo2Cart(a,flat,lat1,lon1,h1); [X2,Y2,Z2] = Geo2Cart(a,flat,lat2,lon2,h2); % C H W U V Compute constants of Curve of Alignment = e2*(Y2-Y1); = e2*(X2-X1); = X1*Y2-X2*Y1; = (1-e2)*(Y1*Z2-Y2*Z1); = (1-e2)*(X2*Z1-X1*Z2); % Set latitude of P3 lat3 = -(37 + 19/60 + 10.429972/3600)/d2r; % Set constants P, Q, S that are functions of latitude only [rho,nu] = radii(a,flat,lat3); P = C*nu*(1-e2)*sin(lat3)-U; Q = H*nu*(1-e2)*sin(lat3)+V; S = W*(1-e2)*tan(lat3); %---------------------- -----------------------------------% Compute the longitude of P3 using Newton-Raphson iteration %----------------------- ----------------------------------% Set starting value of lon3 = longitude of P3 lon3 = lon1; iter = 1; while 1 % Compute radii of curvature f_lon3 = P*cos(lon3)-Q*sin(lon3)-S; fdash_lon3 = -P*sin(lon3)-Q*cos(lon3); new_lon3 = lon3-(f_lon3/fdash_lon3); if abs(new_lon3 - lon3) < 1e-15 break; end lon3 = new_lon3; if iter > 100 fprintf('Iteration for longitude failed to converge after 100 iterations'); break; end iter = iter + 1; end; %---------------------- ---------------------------------% Compute the longitude of P3 using trigonometric equation %----------------------- --------------------------------theta = atan2(-Q,P); lambda = acos(S/sqrt(P^2+Q^2))+theta; %----------------------% Print result to screen Curve of Alignment.doc 16 %----------------------fprintf('\n=================='); fprintf('\nCurve of Alignment'); fprintf('\n=================='); fprintf('\nEllipsoid parameters'); fprintf('\na = %12.4f',a); fprintf('\nf = 1/%13.9f',flat); fprintf('\n\nTerminal points of curve'); % Print lat and lon of P1 [D,M,S] = DMS(lat1*d2r); if D == 0 && lat1 < 0 fprintf('\nLatitude P1 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLatitude P1 = %4d %2d %9.6f (D M S)',D,M,S); end [D,M,S] = DMS(lon1*d2r); if D == 0 && lon1 < 0 fprintf('\nLongitude P1 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLongitude P1 = %4d %2d %9.6f (D M S)',D,M,S); end % Print lat and lon of P2 [D,M,S] = DMS(lat2*d2r); if D == 0 && lat2 < 0 fprintf('\n\nLatitude P2 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\n\nLatitude P2 = %4d %2d %9.6f (D M S)',D,M,S); end [D,M,S] = DMS(lon2*d2r); if D == 0 && lon2 < 0 fprintf('\nLongitude P2 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLongitude P2 = %4d %2d %9.6f (D M S)',D,M,S); end % Print Coordinate table fprintf('\n\nCartesian coordinates'); fprintf('\n X Y fprintf('\nP1 %15.6f %15.6f %15.6f',X1,Y1,Z1); fprintf('\nP2 %15.6f %15.6f %15.6f',X2,Y2,Z2); Z'); % Print lat and lon of P3 fprintf('\n\nGiven latitude of P3'); [D,M,S] = DMS(lat3*d2r); if D == 0 && lat3 < 0 fprintf('\nLatitude P3 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLatitude P3 = %4d %2d %9.6f (D M S)',D,M,S); end fprintf('\n\nLongitude of P3 computed from Newton-Raphson iteration'); [D,M,S] = DMS(lon3*d2r); if D == 0 && lon3 < 0 fprintf('\nLongitude P3 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLongitude P3 = %4d %2d %9.6f (D M S)',D,M,S); end fprintf('\niterations = %4d',iter); fprintf('\n\nLongitude of P3 computed from trigonometric equation'); [D,M,S] = DMS(lambda*d2r); if D == 0 && lambda < 0 fprintf('\nLongitude P3 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLongitude P3 = %4d %2d %9.6f (D M S)',D,M,S); end [D,M,S] = DMS(theta*d2r); Curve of Alignment.doc 17 if D == 0 && theta < 0 fprintf('\ntheta P3 else fprintf('\ntheta P3 end = -0 %2d %9.6f (D M S)',M,S); = %4d %2d %9.6f (D M S)',D,M,S); fprintf('\n\n'); MATLAB function Geo2Cart.m function [X,Y,Z] = Geo2Cart(a,flat,lat,lon,h) % % [X,Y,Z] = Geo2Cart(a,flat,lat,lon,h) % Function computes the Cartesian coordinates X,Y,Z of a point % related to an ellipsoid defined by semi-major axis (a) and the % denominator of the flattening (flat) given geographical % coordinates latitude (lat), longitude (lon) and ellipsoidal % height (h). Latitude and longitude are assumed to be in radians. %-------------------------------------------------------------------------% Function: Geo2Cart() % % Usage: [X,Y,Z] = Geo2Cart(a,flat,lat,lon,h); % % Author: R.E.Deakin, % School of Mathematical & Geospatial Sciences, RMIT University % GPO Box 2476V, MELBOURNE, VIC 3001, AUSTRALIA. % email: rod.deakin@rmit.edu.au % Version 1.0 6 April 2006 % Version 1.0 20 August 2007 % % Functions required: % radii() % % Purpose: % Function Geo2Cart() will compute Cartesian coordinates X,Y,Z % given geographical coordinates latitude, longitude (both in % radians) and height of a point related to an ellipsoid % defined by semi-major axis (a) and denominator of flattening % (flat). % % Variables: % a - semi-major axis of ellipsoid % e2 - 1st eccentricity squared % f - flattening of ellipsoid % flat - denominator of flattening f = 1/flat % h - height above ellipsoid % lat - latitude (radians) % lon - longitude (radians) % p - perpendicular distance from minor axis of ellipsoid % rm - radius of curvature of meridian section of ellipsoid % rp - radius of curvature of prime vertical section of ellipsoid % % References: % [1] Gerdan, G.P. & Deakin, R.E., 1999, 'Transforming Cartesian % coordinates X,Y,Z to geogrpahical coordinates phi,lambda,h', The % Australian Surveyor, Vol. 44, No. 1, pp. 55-63, June 1999. %-------------------------------------------------------------------------% calculate flattening f and ellipsoid constant e2 f = 1/flat; e2 = f*(2-f); % compute radii of curvature for the latitude [rm,rp] = radii(a,flat,lat); Curve of Alignment.doc 18 % p X Y Z compute Cartesian coordinates X,Y,Z = (rp+h)*cos(lat); = p*cos(lon); = p*sin(lon); = (rp*(1-e2)+h)*sin(lat); MATLAB function radii.m function [rm,rp] = radii(a,flat,lat) % % [rm,rp]=radii(a,flat,lat) Function computes radii of curvature in % the meridian and prime vertical planes (rm and rp respectively) at a % point whose latitude (lat) is known on an ellipsoid defined by % semi-major axis (a) and denominator of flattening (flat). % Latitude must be in radians. % Example: [rm,rp] = radii(6378137,298.257222101,-0.659895044); % should return rm = 6359422.96233327 metres and % rp = 6386175.28947842 metres % at latitude -37 48 33.1234 (DMS) on the GRS80 ellipsoid %-------------------------------------------------------------------------% Function: radii(a,flat,lat) % % Syntax: [rm,rp] = radii(a,flat,lat); % % Author: R.E.Deakin, % School of Mathematical & Geospatial Sciences, RMIT University % GPO Box 2476V, MELBOURNE, VIC 3001, AUSTRALIA. % email: rod.deakin@rmit.edu.au % Version 1.0 1 August 2003 % Version 2.0 6 April 2006 % Version 3.0 9 February 2008 % % Purpose: Function radii() will compute the radii of curvature in % the meridian and prime vertical planes, rm and rp respectively % for the point whose latitude (lat) is given for an ellipsoid % defined by its semi-major axis (a) and denominator of % flattening (flat). % % Return value: Function radii() returns rm and rp % % Variables: % a - semi-major axis of spheroid % c - polar radius of curvature % c2 - cosine of latitude squared % ep2 - 2nd-eccentricity squared % f - flattening of ellipsoid % lat - latitude of point (radians) % rm - radius of curvature in the meridian plane % rp - radius of curvature in the prime vertical plane % V - latitude function defined by V-squared = sqrt(1 + ep2*c2) % V2,V3 - powers of V % % Remarks: % Formulae are given in [1] (section 1.3.9, page 85) and in % [2] (Chapter 2, p. 2-10) in a slightly different form. % % References: % [1] Deakin, R.E. and Hunter, M.N., 2008, GEOMETRIC GEODESY, School of % Mathematical and Geospatial Sciences, RMIT University, Melbourne, % AUSTRALIA, March 2008. % [2] THE GEOCENTRIC DATUM OF AUSTRALIA TECHNICAL MANUAL, Version 2.2, % Intergovernmental Committee on Surveying and Mapping (ICSM), % February 2002 (www.anzlic.org.au/icsm/gdatum) %-------------------------------------------------------------------------- Curve of Alignment.doc 19 % compute flattening f eccentricity squared e2 f = 1/flat; c = a/(1-f); ep2 = f*(2-f)/((1-f)^2); % calculate the square of the sine of the latitude c2 = cos(lat)^2; % compute latitude function V V2 = 1+ep2*c2; V = sqrt(V2); V3 = V2*V; % compute radii of curvature rm = c/V3; rp = c/V; MATLAB function DMS.m function [D,M,S] = DMS(DecDeg) % [D,M,S] = DMS(DecDeg) This function takes an angle in decimal degrees and returns % Degrees, Minutes and Seconds val = abs(DecDeg); D = fix(val); M = fix((val-D)*60); S = (val-D-M/60)*3600; if(DecDeg<0) D = -D; end return REFERENCES Bowring, B. R., (1972), 'Distance and the spheroid', Correspondence, Survey Review, Vol. XXI, No. 164, April 1972, pp. 281-284. Clarke, A. R., (1880), Geodesy, Clarendon Press, Oxford. Deakin, R. E., (2009), 'The Normal Section Curve on an Ellipsoid', Lecture Notes, School of Mathematical & Geospatial Sciences, RMIT University, Melbourne, Australia, November 2009, 53 pages. Thomas, P. D., (1952), Conformal Projections in Geodesy and Cartography, Special Publication No. 251, Coast and Geodetic Survey, United States Department of Commerce, Washington, D.C. Curve of Alignment.doc 20 THE GREAT ELLIPTIC ARC ON AN ELLIPSOID R. E. Deakin School of Mathematical & Geospatial Sciences, RMIT University, GPO Box 2476V, MELBOURNE VIC 3001, AUSTRALIA email: rod.deakin@rmit.edu.au January 2010 ABSTRACT These notes provide a detailed derivation of the equation for the great elliptic arc on an ellipsoid. Using this equation and knowing the terminal points of the curve, a technique is developed for computing the location of points along the curve. A MATLAB function is provided that demonstrates the algorithm developed. INTRODUCTION In geodesy, the great elliptic arc between P1 and P2 on the ellipsoid is the curve created {} by intersecting the ellipsoid with the plane containing P1 , P2 and O (the centre of the ellipsoid). {} λP x y z z N great elliptic arc x1 y1 z1 P • 1 b P1 • O a { } • θP 3 P2 •2 {} x2 y2 z2 a ellipsoid y a x x3 = 0 y3 = 0 z3 = 0 equator M Figure 1: Great elliptic arc on ellipsoid Great Elliptic Arc.doc 1 Figure 1 shows P on the great elliptic arc between P1 and P2 . θP is the geocentric latitude of P and λP is the longitude of P. There are an infinite number of planes that cut the surface of the ellipsoid and contain the chord P1P2 but only one of these will contain the centre O. Two other planes are the normal section plane P1P2 (containing the normal at P1 ) and the normal section plane P2P1 (containing the normal at P2 ). All of these curves of intersection (including the great elliptic arc and the two normal section curves) are plane curves that are arcs of ellipses (for a proof of this see Deakin, 2009a). All meridians of longitude on an ellipsoid and the ellipsoid equator are great elliptic arcs. Parallels of latitude – excepting the equator – are not great elliptic arcs. So we could say that the great elliptic arc is a unique plane curve on the ellipsoid – since it is created by the single plane containing P1 , P2 and O. But it is not the shortest distance between P1 and P2 ; this unique property (shortest length) belongs to the geodesic. Great elliptic arcs are not much used in geodesy as they don't have a practical connection with theodolite observations made on the surface of the earth that are approximated as observations made on an ellipsoid; e.g., normal section curves and curves of alignment. Nor are they the shortest distance between points on the ellipsoid; but, if we ignore earth rotation, they are the curves traced out on the geocentric ellipsoid by the ground point of an earth orbiting satellite or a ballistic missile moving in an orbital plane containing the earth's centre of mass. Here geocentric means O (the centre of the ellipsoid) is coincident with the centre of mass. The equation for the curve developed below is similar to that derived for the curve of alignment in Deakin (2009b) and it is not in a form suitable for computing the distance or azimuth of the curve. But, as it contains functions of both the latitude and longitude of a point on the curve, it is suitable for computing the latitude of a point given a particular longitude; or alternatively the longitude of a point may be computed (iteratively) given a particular latitude. EQUATION OF GREAT ELLIPTIC ARC Figure 1 shows P on the great elliptic arc that passes through P1 and P2 on the ellipsoid. The semi-axes of the ellipsoid are a and b (a > b ) and the first-eccentricity squared e 2 and the flattening f of the ellipsoid are defined by Great Elliptic Arc.doc 2 a 2 − b2 = f (2 − f ) a2 a −b f = a e2 = (1) Parallels of latitude φ and meridians of longitude λ have their respective reference planes; the equator and the Greenwich meridian, and Longitudes are measured 0 to ±180 (east positive, west negative) from the Greenwich meridian and latitudes are measured 0 to ±90 (north positive, south negative) from the equator. The x,y,z geocentric Cartesian coordinate system has an origin at O, the centre of the ellipsoid, and the z-axis is the minor axis (axis of revolution). The xOz plane is the Greenwich meridian plane (the origin of longitudes) and the xOy plane is the equatorial plane. The positive x-axis passes through the intersection of the Greenwich meridian and the equator, the positive y-axis is advanced 90 east along the equator and the positive z-axis passes through the north pole of the ellipsoid. In Figure 1, θP is the geocentric latitude of P and (geodetic) latitude φ and geocentric latitude θ are related by ( ) tan θ = 1 − e 2 tan φ = 2 b2 tan φ = 1 − f tan φ ( ) a2 (2) The geometric relationship between geocentric latitude θ and (geodetic) latitude φ is shown in Figure 2. z N b O• θ P t an no rm al • φ a equator ge nt ellipse M H• Figure 2: Meridian plane of P The great elliptic plane in Figure 1 is defined by points |, ~ and ¡ that are P1 , P2 and the centre of the ellipsoid O respectively. Cartesian coordinates of | and ~ are computed from the following equations Great Elliptic Arc.doc 3 x = ν cos φ cos λ y = ν cos φ sin λ ( (3) ) z = ν 1 − e sin φ 2 where ν = PH (see Figure 2) is the radius of curvature in the prime vertical plane and a ν= (4) 1 − e 2 sin 2 φ The Cartesian coordinates of point ¡ are all zero. The General equation of a plane may be written as Ax + By + Cz + D = 0 (5) And the equation of the plane passing through points |, ~ and ¡ is given in the form of a 3rd-order determinant x − x1 y − y1 x 2 − x 1 y2 − y1 x 3 − x 2 y 3 − y2 z − z1 z 2 − z1 = 0 z3 − z2 (6) or expanded into 2nd-order determinants y 2 − y1 z 2 − z 1 x − x 1 z 2 − z1 x − x 1 y 2 − y1 x − x1 ) − 2 y − y1 ) + 2 ( ( (z − z1 ) = 0 y 3 − y2 z 3 − z 2 x 3 − x2 z 3 − z2 x 3 − x 2 y 3 − y2 (7) Expanding the determinants in equation (7) gives (x − x ) {(y − (y − y ) {(x + (z − z ) {(x 1 2 1 2 1 2 } − x )(z − z ) − (z − z )(x − x )} − x )(y − y ) − (y − y )(x − x )} = 0 − y1 )(z 3 − z 2 ) − (z 2 − z 1 )(y 3 − y2 ) 1 3 2 2 1 3 2 1 3 2 2 1 3 2 (8) Now since x 3 = y 3 = z 3 = 0 and equation (8) becomes (x − x ) {(y − (y − y ) {(x + (z − z ) {(x 1 2 1 2 1 2 } − x )(−z ) − (z − z )(−x )} − x )(−y ) − (y − y )(−x )} = 0 − y1 )(−z 2 ) − (z 2 − z 1 )(−y2 ) 1 2 2 1 2 1 2 2 1 2 (9) Expanding and simplifying equation (9) gives x (y1z 2 − y2z 1 ) − y (x 1z 2 − x 2z 1 ) + z (x 1y2 − x 2y1 ) = 0 Replacing x, y and z with their equivalents, given by equations (3), gives ( ) ν cos φ cos λ (y1z 2 − y2z 1 ) − ν cos φ sin λ (x 1z 2 − x 2z 1 ) + ν 1 − e 2 sin φ (x 1y2 − x 2y1 ) = 0 Great Elliptic Arc.doc 4 and dividing both sides by ν cos φ gives the equation of the great elliptic arc as ( ) A cos λ − B sin λ + C 1 − e 2 tan φ = 0 (10) where A, B and C are functions of the coordinates of the terminal points P1 and P2 A = y1z 2 − y2z1 B = x 1z 2 − x 2z1 C = x 1y2 − x 2y1 (11) Equation (10) is not suitable for computing the distance along a great elliptic arc, nor is it suitable for computing the azimuth of the curve, but by certain re-arrangements it is possible to solve (directly) for the latitude of a point on the curve given a longitude somewhere between the longitudes of the terminal points of the curve. Or alternatively, solve (iteratively) for the longitude of a point given a latitude somewhere between the latitudes of the terminal points. SOLVING FOR THE LATITUDE A simple re-arrangement of equation (10) allows the latitude φ to be evaluated from tan φ = B sin λ − A cos λ ( C 1 − e2 (12) ) where A and B and C are functions of terminal points P1 and P2 given by equations (11). SOLVING FOR THE LONGITUDE The longitude λ can be evaluated using Newton-Raphson iteration for the real roots of the equation f (λ ) = 0 given in the form of an iterative equation λ(n +1) = λ(n ) − ( ) f ′ (λ( ) ) f λ(n ) (13) n where n denotes the nth iteration and f (λ ) is given by equation (10) as ( ) f (λ ) = A cos λ − B sin λ + C 1 − e 2 tan φ and the derivative f ′ (λ ) = d f (λ ) is given by dλ { } f ′ (λ ) = −A sin λ − B cos λ Great Elliptic Arc.doc (14) (15) 5 An initial value of λ(1) ( λ for n = 1 ) can be taken as the longitude of P1 and the functions ( ) ( ) f λ(1) and f ′ λ(1) evaluated from equations (14) and (15) using λ1 . λ(2) ( λ for n = 2 ) can now be computed from equation (13) and this process repeated to obtain values λ(3), λ(4), … . This iterative process can be concluded when the difference between λ(n +1) and λ(n ) reaches an acceptably small value. Alternatively, the longitude can be evaluated by a trigonometric equation derived as follows. Equation (10) can be expressed as ( ) B sin λ − A cos λ = C 1 − e 2 tan φ (16) and A, B and C are given by equations (11). Equation (16) can be expressed as a trigonometric addition of the form ( ) C 1 − e 2 tan φ = R cos (λ − θ ) = R cos λ cos θ + R sin λ sin θ (17) Now, equating the coefficients of cos λ and sin λ in equations (17) and (16) gives A = −R cos θ; B = R sin θ (18) and using these relationships R = A2 + B 2 ; tan θ = B −A (19) Substituting these results into equation (17) gives ( ) 2 ⎧ ⎫ ⎪⎪⎪C 1 − e tan φ ⎪⎪⎪ ⎪⎧ B ⎪⎫ λ = arccos ⎨ ⎬ + arctan ⎪⎨ ⎪⎬ ⎪⎪ ⎪⎪⎩−A⎭⎪⎪ A2 + B 2 ⎪⎪⎭⎪ ⎩⎪ (20) DIFFERENCE IN LENGTH BETWEEN A GEODESIC AND A GREAT ELLIPTIC ARC There are five curves of interest in geodesy; the geodesic, the normal section, the great elliptic arc the loxodrome and the curve of alignment. The geodesic between P1 and P2 on an ellipsoid is the unique curve on the surface defining the shortest distance; all other curves will be longer in length. The normal section curve P1P2 is a plane curve created by the intersection of the normal section plane containing the normal at P1 and also P2 with the ellipsoid surface. And as we have shown (Deakin Great Elliptic Arc.doc 6 2009a) there is the other normal section curve P2P1 . The curve of alignment (Deakin 2009b, Thomas 1952) is the locus of all points P such that the normal section plane at P also contains the points P1 and P2 . The curve of alignment is very close to a geodesic. The great elliptic arc is the plane curve created by intersecting the plane containing P1 , P2 and the centre O with the surface of the ellipsoid and the loxodrome is the curve on the surface that cuts each meridian between P1 and P2 at a constant angle. Approximate equations for the difference in length between the geodesic, the normal section curve and the curve of alignment were developed by Clarke (1880, p. 133) and Bowring (1972, p. 283) developed an approximate equation for the difference between the geodesic and the great elliptic arc. Following Bowring (1972), let s = geodesic length L = normal section length D = great elliptic length S = curve of alignment length then e 4 ⎛⎜ s ⎞⎟ L −s = s ⎜ ⎟⎟ cos4 φ1 sin2 α12 cos2 α12 + 90 ⎜⎝ R ⎠⎟ 2 e 4 ⎛⎜ s ⎞⎟ D −s = s ⎜⎜ ⎟⎟ sin2 φ1 cos2 φ1 sin2 α12 + 24 ⎝ R ⎠⎟ 4 e 4 ⎛⎜ s ⎞⎟ S −s = s ⎜ ⎟ cos4 φ1 sin2 α12 cos2 α12 + 360 ⎝⎜ R ⎠⎟⎟ 4 (21) where R can be taken as the radius of curvature in the prime vertical at P1 . Now for a given value of s, D − s will be a maximum if φ1 = 45 and α12 = 90 in which case sin2 φ1 cos2 φ1 sin2 α12 = 1 , thus 4 e4 ⎛ s ⎞ (D − s ) < 96 s ⎜⎜⎜ R ⎟⎟⎟⎟ ⎝ ⎠ 4 (22) For the GRS80 ellipsoid where f = 1 298.257222101, e 2 = f (2 − f ) , and for s = 1200000 m (1200 km) and R = 6371000 m , equation (22) gives D − s < 0.001 m . Great Elliptic Arc.doc 7 MATLAB FUNCTIONS Two MATLAB functions are shown below; they are: great_elliptic_arc_lat.m and great_elliptic_arc_lon.m Assuming that the terminal points of the curve are known, the first function computes the latitude of a point on the curve given a longitude and the second function computes the longitude of a point given the latitude. Output from the two functions is shown below for points on a great elliptic arc between the terminal points of the straight-line section of the Victorian–New South Wales border. This straight-line section of the border, between Murray Spring and Wauka 1978, is known as the Black-Allan Line in honour of the surveyors Black and Allan who set out the border line in 1870-71. Wauka 1978 (Gabo PM 4) is a geodetic concrete border pillar on the coast at Cape Howe and Murray Spring (Enamo PM 15) is a steel pipe driven into a spring of the Murray River that is closest to Cape Howe. The straight line is a normal section curve on the reference ellipsoid of the Geocentric Datum of Australia (GDA94) that contains the normal to the ellipsoid at Murray Spring. The GDA94 coordinates of Murray Spring and Wauka 1978 are: Murray Spring: Wauka 1978: φ −37 47 ′ 49.2232′′ φ −37 30′ 18.0674′′ λ 148 11′ 48.3333′′ λ 149 58′ 32.9932′′ The normal section azimuth and distance are: 116 58 ′ 14.173757 ′′ 176495.243760 m The geodesic azimuth and distance are: 116 58 ′ 14.219146′′ 176495.243758 m Figure 3 shows a schematic view of the Black-Allan line (normal section) and the great elliptic arc. The relationships between the great elliptic arc and the normal section have been computed at seven locations along the line (A, B, C, etc.) where meridians of longitude at 0 15′ intervals cut the line. These relationships are shown in Table 1. Great Elliptic Arc.doc 8 VICTORIA/NSW BORDER Murra y Spring BLACK-ALLAN LINE: r The Black-Allan Line is a normal section curve on the reference ellipsoid between P1 (Murray Spring) and P2 (Wauka 1978). This curve is the intersection of the normal section plane and the ellipsoid, and the normal section contains P1, the normal to the ellipsoid at P1, and P2. N S W The GDA94 coordinates of Murray Spring and Wauka 1978 are: Murray Spring: φ -37°47’4 9.2232” λ 148°11’48.3333” φ -37°30’1 8.0674” λ 149°58’32.9932” Wauka 1978: Great Elliptic Arc 148°15 ’ B LA CK 148°30’ The normal section azimuth and distance are: 116°58’14.173757” 176495.243760 m. ALL AN 148°45’ LIN E 149°00’ Normal Section 149°15’ VIC r Wauka 1978 149°30’ 149°45’ The Great Elliptic Arc is shown plotted at an ex aggerated scale with respect to the Border Line (normal section) . At longitude 149°00’E. the Great Elliptic Arc is 1.939 m north of the Border Line. At longitude 149°30’E. the Great Elliptic Arc is 1.522 m north of the Border Line. Figure 3 BLACK-ALLAN LINE: NAME Murray Spring A B C D E F G Wauka 1978 VICTORIA/NSW BORDER GDA94 LATITUDE LONGITUDE -36°47΄49.223200˝ -36°49΄07.598047˝ -36°49΄07.590584˝ -36°55΄13.876510˝ -36°55΄13.840305˝ -37°01΄17.289080˝ -37°01΄17.234433˝ -37°07΄17.845554˝ -37°07΄17.782643˝ -37°13΄15.555723˝ -37°13΄15.494607˝ -37°19΄10.429372˝ -37°19΄10.379991˝ -37°25΄02.476276˝ -37°25΄02.448453˝ -37°30΄18.067400˝ dφ Ellipsoid values ρ dm = ρ×dφ 148°11΄48.333300˝ N GEA N GEA N GEA N GEA N GEA N GEA N GEA 148°15΄00.000000˝ 148°30΄00.000000˝ 148°45΄00.000000˝ 149°00΄00.000000˝ 149°15΄00.000000˝ 149°30΄00.000000˝ 149°45΄00.000000˝ +00΄00.007463˝ +00΄00.036205˝ +00΄00.054647˝ +00΄00.062911˝ +00΄00.061116˝ +00΄00.049381˝ +00΄00.027823˝ 6358356.102 6358465.209 6358573.577 6358681.204 6358788.089 6358894.232 6358999.632 +0.2301 +1.1161 +1.6846 +1.9394 +1.8841 +1.5224 +0.8578 149°58΄32.993200˝ TABLE 1: Points where the Great Elliptic Arc cuts meridians of A, B, C, etc at 0°15΄ intervals of longitude along Border Line. N = Normal Section, GEA = Great Elliptic Arc Great Elliptic Arc.doc 9 >> great_elliptic_arc_lat ================== Great Elliptic Arc ================== Ellipsoid parameters a = 6378137.0000 f = 1/298.257222101 Terminal points of curve Latitude P1 = -36 47 49.223200 (D M S) Longitude P1 = 148 11 48.333300 (D M S) Latitude P2 = Longitude P2 = -37 30 18.067400 (D M S) 149 58 32.993200 (D M S) Cartesian coordinates X Y Z P1 -4345789.609716 2694844.030716 -3799378.032024 P2 -4386272.668061 2534883.268540 -3862005.992252 Given longitude of P3 Longitude P3 = 149 30 0.000000 (D M S) Latitude of P3 computed from trigonometric equation Latitude P3 = -37 19 10.379991 (D M S) >> >> great_elliptic_arc_lon ================== Great Elliptic Arc ================== Ellipsoid parameters a = 6378137.0000 f = 1/298.257222101 Terminal points of curve Latitude P1 = -36 47 49.223200 (D M S) Longitude P1 = 148 11 48.333300 (D M S) Latitude P2 = Longitude P2 = -37 30 18.067400 (D M S) 149 58 32.993200 (D M S) Cartesian coordinates X Y Z P1 -4345789.609716 2694844.030716 -3799378.032024 P2 -4386272.668061 2534883.268540 -3862005.992252 Given latitude of P3 Latitude P3 = -37 19 10.379991 (D M S) Longitude of P3 computed from Newton-Raphson iteration Longitude P3 = 149 30 0.000001 (D M S) iterations = 5 Longitude of P3 computed from trigonometric equation Longitude P3 = 149 30 0.000001 (D M S) theta P3 = 8 39 58.683516 (D M S) >> Great Elliptic Arc.doc 10 MATLAB function great_elliptic_arc_lat.m function great_elliptic_arc_lat % % great_elliptic_arc_lat: Given the terminal points P1 and P2 of a great % elliptic arc on an ellipsoid, and the longitude of a point P3 on the % curve, this function computes the latitude of P3. %-------------------------------------------------------------------------% Function: great_elliptic_arc_lat % % Usage: great_elliptic_arc_lat % % Author: R.E.Deakin, % School of Mathematical & Geospatial Sciences, RMIT University % GPO Box 2476V, MELBOURNE, VIC 3001, AUSTRALIA. % email: rod.deakin@rmit.edu.au % Version 1.0 3 October 2009 % Version 1.1 5 January 2010 % % Purpose: Given the terminal points P1 and P2 of a great elliptic arc on % an ellipsoid, and the longitude of a point P3 on the curve, this % function computes the latitude of P3. % % Functions required: % [D,M,S] = DMS(DecDeg) % [X,Y,Z] = Geo2Cart(a,flat,lat,lon,h) % [rm,rp] = radii(a,flat,lat); % % Variables: % A,B,C - constants of great elliptic arc % a - semi-major axis of ellipsoid % b - semi-minor axis of ellipsoid % d2r - degree to radian conversion factor 57.29577951... % e2 - eccentricity of ellipsoid squared % f - f = 1/flat is the flattening of ellipsoid % flat - denominator of flattening of ellipsoid % h1,h2 - ellipsoid heights of P1 and P2 % lat1,lat2,lat3 - latitude of P1, P1, P3 (radians) % lon1,lon2,lon3 - longitude of P1, P2, P3 (radians) % nu - radius of curvature in prime vertical plane % rho - radius of curvature in meridain plane % X1,Y1,Z1 - Cartesian coordinates of P1 % X2,Y2,Z2 - Cartesian coordinates of P2 % % Remarks: % % References: % [1] Deakin, R.E., 2010, 'The Great Elliptic Arc on an Ellipsoid', % Lecture Notes, School of Mathematical and Geospatial Sciences, % RMIT University, January 2010 % %-------------------------------------------------------------------------% Degree to radian conversion factor d2r = 180/pi; % Set ellipsoid parameters a = 6378137; % GRS80 flat = 298.257222101; % a = 6378160; % ANS % flat = 298.25; % a = 20926062; % CLARKE 1866 % b = 20855121; % f = 1-(b/a); % flat = 1/f; % Compute ellipsoid constants Great Elliptic Arc.doc 11 f e2 = 1/flat; = f*(2-f); % Set lat, lon and height of P1 and P2 on ellipsoid lat1 = -(36 + 47/60 + 49.2232/3600)/d2r; % Spring lon1 = (148 + 11/60 + 48.3333/3600)/d2r; lat2 = -(37 + 30/60 + 18.0674/3600)/d2r; % Wauka 1978 lon2 = (149 + 58/60 + 32.9932/3600)/d2r; h1 = 0; h2 = 0; % Compute Cartesian coords of P1 and P2 [X1,Y1,Z1] = Geo2Cart(a,flat,lat1,lon1,h1); [X2,Y2,Z2] = Geo2Cart(a,flat,lat2,lon2,h2); % A B C Compute constants of Curve of Alignment = Y1*Z2-Y2*Z1; = X1*Z2-X2*Z1; = X1*Y2-X2*Y1; % Set longitude of P3 lon3 = (149 + 30/60)/d2r; % Compute latitude of P3 lat3 = atan((B*sin(lon3)-A*cos(lon3))/(C*(1-e2))); %----------------------% Print result to screen %----------------------fprintf('\n=================='); fprintf('\nGreat Elliptic Arc'); fprintf('\n=================='); fprintf('\nEllipsoid parameters'); fprintf('\na = %12.4f',a); fprintf('\nf = 1/%13.9f',flat); fprintf('\n\nTerminal points of curve'); % Print lat and lon of P1 [D,M,S] = DMS(lat1*d2r); if D == 0 && lat1 < 0 fprintf('\nLatitude P1 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLatitude P1 = %4d %2d %9.6f (D M S)',D,M,S); end [D,M,S] = DMS(lon1*d2r); if D == 0 && lon1 < 0 fprintf('\nLongitude P1 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLongitude P1 = %4d %2d %9.6f (D M S)',D,M,S); end % Print lat and lon of P2 [D,M,S] = DMS(lat2*d2r); if D == 0 && lat2 < 0 fprintf('\n\nLatitude P2 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\n\nLatitude P2 = %4d %2d %9.6f (D M S)',D,M,S); end [D,M,S] = DMS(lon2*d2r); if D == 0 && lon2 < 0 fprintf('\nLongitude P2 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLongitude P2 = %4d %2d %9.6f (D M S)',D,M,S); end % Print Coordinate table fprintf('\n\nCartesian coordinates'); fprintf('\n X Y fprintf('\nP1 %15.6f %15.6f %15.6f',X1,Y1,Z1); fprintf('\nP2 %15.6f %15.6f %15.6f',X2,Y2,Z2); Great Elliptic Arc.doc Z'); 12 % Print lat and lon of P3 fprintf('\n\nGiven longitude of P3'); [D,M,S] = DMS(lon3*d2r); if D == 0 && lon3 < 0 fprintf('\nLongitude P3 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLongitude P3 = %4d %2d %9.6f (D M S)',D,M,S); end fprintf('\n\nLatitude of P3 computed from trigonometric equation'); [D,M,S] = DMS(lat3*d2r); if D == 0 && lat3 < 0 fprintf('\nLatitude P3 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLatitude P3 = %4d %2d %9.6f (D M S)',D,M,S); end fprintf('\n\n'); MATLAB function great_elliptic_arc_lon.m function great_elliptic_arc_lon % % great_elliptic_arc_lon: Given the terminal points P1 and P2 of a great % elliptic arc on an ellipsoid, and the latitude of a point P3 on the % curve, this function computes the longitude of P3. %-------------------------------------------------------------------------% Function: great_elliptic_arc_lon % % Usage: great_elliptic_arc_lon % % Author: R.E.Deakin, % School of Mathematical & Geospatial Sciences, RMIT University % GPO Box 2476V, MELBOURNE, VIC 3001, AUSTRALIA. % email: rod.deakin@rmit.edu.au % Version 1.0 3 October 2009 % Version 1.1 5 January 2010 % % Purpose: Given the terminal points P1 and P2 of a great elliptic arc on % an ellipsoid, and the latitude of a point P3 on the curve, this % function computes the longitude of P3. % % Functions required: % [D,M,S] = DMS(DecDeg) % [X,Y,Z] = Geo2Cart(a,flat,lat,lon,h) % [rm,rp] = radii(a,flat,lat); % % Variables: % A,B,C - constants of great elliptic arc % a - semi-major axis of ellipsoid % b - semi-minor axis of ellipsoid % d2r - degree to radian conversion factor 57.29577951... % e2 - eccentricity of ellipsoid squared % f - f = 1/flat is the flattening of ellipsoid % flat - denominator of flattening of ellipsoid % f_lat3 - function of latitude of P3 % fdash_lat3 - derivative of function of latitude of Pp3 % h1,h2 - ellipsoid heights of P1 and P2 % iter - number of iterations % lambda - longitude of P3 computed from trigonometric equation % lat1,lat2,lat3 - latitude of P1, P1, P3 (radians) % lon1,lon2,lon3 - longitude of P1, P2, P3 (radians) % new_lat3 - next latiude in Newton-Raphson iteration % nu - radius of curvature in prime vertical plane % rho - radius of curvature in meridain plane Great Elliptic Arc.doc 13 % theta - auxiliary angle in the computation of lambda % X1,Y1,Z1 - Cartesian coordinates of P1 % X2,Y2,Z2 - Cartesian coordinates of P2 % % Remarks: % % References: % [1] Deakin, R.E., 2010, 'The Great Elliptic Arc on an Ellipsoid', % Lecture Notes, School of Mathematical and Geospatial Sciences, % RMIT University, January 2010 % %-------------------------------------------------------------------------% Degree to radian conversion factor d2r = 180/pi; % Set ellipsoid parameters a = 6378137; % GRS80 flat = 298.257222101; % a = 6378160; % ANS % flat = 298.25; % a = 20926062; % CLARKE 1866 % b = 20855121; % f = 1-(b/a); % flat = 1/f; % Compute ellipsoid constants f = 1/flat; e2 = f*(2-f); % Set lat, lon and height of P1 and P2 on ellipsoid lat1 = -(36 + 47/60 + 49.2232/3600)/d2r; % Spring lon1 = (148 + 11/60 + 48.3333/3600)/d2r; lat2 = -(37 + 30/60 + 18.0674/3600)/d2r; % Wauka 1978 lon2 = (149 + 58/60 + 32.9932/3600)/d2r; h1 = 0; h2 = 0; % Compute Cartesian coords of P1 and P2 [X1,Y1,Z1] = Geo2Cart(a,flat,lat1,lon1,h1); [X2,Y2,Z2] = Geo2Cart(a,flat,lat2,lon2,h2); % A B C Compute constants of Curve of Alignment = Y1*Z2-Y2*Z1; = X1*Z2-X2*Z1; = X1*Y2-X2*Y1; % Set latitude of P3 lat3 = -(37 + 19/60 + 10.379991/3600)/d2r; %----------------------------------------------------------% Compute the longitude of P3 using Newton-Raphson iteration %----------------------------------------------------------% Set starting value of lon3 = longitude of P1 lon3 = lon1; iter = 1; while 1 % Compute radii of curvature f_lon3 = A*cos(lon3)-B*sin(lon3)+C*(1-e2)*tan(lat3); fdash_lon3 = -A*sin(lon3)-B*cos(lon3); new_lon3 = lon3-(f_lon3/fdash_lon3); if abs(new_lon3 - lon3) < 1e-15 break; end lon3 = new_lon3; if iter > 100 fprintf('Iteration for longitude failed to converge after 100 iterations'); break; end iter = iter + 1; Great Elliptic Arc.doc 14 end; %--------------------------------------------------------% Compute the longitude of P3 using trigonometric equation %--------------------------------------------------------theta = atan2(B,-A); lambda = acos(C*(1-e2)*tan(lat3)/sqrt(A^2+B^2))+theta; %----------------------% Print result to screen %----------------------fprintf('\n=================='); fprintf('\nGreat Elliptic Arc'); fprintf('\n=================='); fprintf('\nEllipsoid parameters'); fprintf('\na = %12.4f',a); fprintf('\nf = 1/%13.9f',flat); fprintf('\n\nTerminal points of curve'); % Print lat and lon of P1 [D,M,S] = DMS(lat1*d2r); if D == 0 && lat1 < 0 fprintf('\nLatitude P1 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLatitude P1 = %4d %2d %9.6f (D M S)',D,M,S); end [D,M,S] = DMS(lon1*d2r); if D == 0 && lon1 < 0 fprintf('\nLongitude P1 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLongitude P1 = %4d %2d %9.6f (D M S)',D,M,S); end % Print lat and lon of P2 [D,M,S] = DMS(lat2*d2r); if D == 0 && lat2 < 0 fprintf('\n\nLatitude P2 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\n\nLatitude P2 = %4d %2d %9.6f (D M S)',D,M,S); end [D,M,S] = DMS(lon2*d2r); if D == 0 && lon2 < 0 fprintf('\nLongitude P2 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLongitude P2 = %4d %2d %9.6f (D M S)',D,M,S); end % Print Coordinate table fprintf('\n\nCartesian coordinates'); fprintf('\n X Y fprintf('\nP1 %15.6f %15.6f %15.6f',X1,Y1,Z1); fprintf('\nP2 %15.6f %15.6f %15.6f',X2,Y2,Z2); Z'); % Print lat and lon of P3 fprintf('\n\nGiven latitude of P3'); [D,M,S] = DMS(lat3*d2r); if D == 0 && lat3 < 0 fprintf('\nLatitude P3 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLatitude P3 = %4d %2d %9.6f (D M S)',D,M,S); end fprintf('\n\nLongitude of P3 computed from Newton-Raphson iteration'); [D,M,S] = DMS(lon3*d2r); if D == 0 && lon3 < 0 fprintf('\nLongitude P3 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLongitude P3 = %4d %2d %9.6f (D M S)',D,M,S); end Great Elliptic Arc.doc 15 fprintf('\niterations = %4d',iter); fprintf('\n\nLongitude of P3 computed from trigonometric equation'); [D,M,S] = DMS(lambda*d2r); if D == 0 && lambda < 0 fprintf('\nLongitude P3 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLongitude P3 = %4d %2d %9.6f (D M S)',D,M,S); end [D,M,S] = DMS(theta*d2r); if D == 0 && theta < 0 fprintf('\ntheta P3 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\ntheta P3 = %4d %2d %9.6f (D M S)',D,M,S); end fprintf('\n\n'); MATLAB function Geo2Cart.m function [X,Y,Z] = Geo2Cart(a,flat,lat,lon,h) % % [X,Y,Z] = Geo2Cart(a,flat,lat,lon,h) % Function computes the Cartesian coordinates X,Y,Z of a point % related to an ellipsoid defined by semi-major axis (a) and the % denominator of the flattening (flat) given geographical % coordinates latitude (lat), longitude (lon) and ellipsoidal % height (h). Latitude and longitude are assumed to be in radians. %-------------------------------------------------------------------------% Function: Geo2Cart() % % Usage: [X,Y,Z] = Geo2Cart(a,flat,lat,lon,h); % % Author: R.E.Deakin, % School of Mathematical & Geospatial Sciences, RMIT University % GPO Box 2476V, MELBOURNE, VIC 3001, AUSTRALIA. % email: rod.deakin@rmit.edu.au % Version 1.0 6 April 2006 % Version 1.0 20 August 2007 % % Functions required: % radii() % % Purpose: % Function Geo2Cart() will compute Cartesian coordinates X,Y,Z % given geographical coordinates latitude, longitude (both in % radians) and height of a point related to an ellipsoid % defined by semi-major axis (a) and denominator of flattening % (flat). % % Variables: % a - semi-major axis of ellipsoid % e2 - 1st eccentricity squared % f - flattening of ellipsoid % flat - denominator of flattening f = 1/flat % h - height above ellipsoid % lat - latitude (radians) % lon - longitude (radians) % p - perpendicular distance from minor axis of ellipsoid % rm - radius of curvature of meridian section of ellipsoid % rp - radius of curvature of prime vertical section of ellipsoid % % References: % [1] Gerdan, G.P. & Deakin, R.E., 1999, 'Transforming Cartesian Great Elliptic Arc.doc 16 % coordinates X,Y,Z to geogrpahical coordinates phi,lambda,h', The % Australian Surveyor, Vol. 44, No. 1, pp. 55-63, June 1999. %-------------------------------------------------------------------------% calculate flattening f and ellipsoid constant e2 f = 1/flat; e2 = f*(2-f); % compute radii of curvature for the latitude [rm,rp] = radii(a,flat,lat); % p X Y Z compute Cartesian coordinates X,Y,Z = (rp+h)*cos(lat); = p*cos(lon); = p*sin(lon); = (rp*(1-e2)+h)*sin(lat); MATLAB function radii.m function [rm,rp] = radii(a,flat,lat) % % [rm,rp]=radii(a,flat,lat) Function computes radii of curvature in % the meridian and prime vertical planes (rm and rp respectively) at a % point whose latitude (lat) is known on an ellipsoid defined by % semi-major axis (a) and denominator of flattening (flat). % Latitude must be in radians. % Example: [rm,rp] = radii(6378137,298.257222101,-0.659895044); % should return rm = 6359422.96233327 metres and % rp = 6386175.28947842 metres % at latitude -37 48 33.1234 (DMS) on the GRS80 ellipsoid %-------------------------------------------------------------------------% Function: radii(a,flat,lat) % % Syntax: [rm,rp] = radii(a,flat,lat); % % Author: R.E.Deakin, % School of Mathematical & Geospatial Sciences, RMIT University % GPO Box 2476V, MELBOURNE, VIC 3001, AUSTRALIA. % email: rod.deakin@rmit.edu.au % Version 1.0 1 August 2003 % Version 2.0 6 April 2006 % Version 3.0 9 February 2008 % % Purpose: Function radii() will compute the radii of curvature in % the meridian and prime vertical planes, rm and rp respectively % for the point whose latitude (lat) is given for an ellipsoid % defined by its semi-major axis (a) and denominator of % flattening (flat). % % Return value: Function radii() returns rm and rp % % Variables: % a - semi-major axis of spheroid % c - polar radius of curvature % c2 - cosine of latitude squared % ep2 - 2nd-eccentricity squared % f - flattening of ellipsoid % lat - latitude of point (radians) % rm - radius of curvature in the meridian plane % rp - radius of curvature in the prime vertical plane % V - latitude function defined by V-squared = sqrt(1 + ep2*c2) % V2,V3 - powers of V % % Remarks: % Formulae are given in [1] (section 1.3.9, page 85) and in Great Elliptic Arc.doc 17 % [2] (Chapter 2, p. 2-10) in a slightly different form. % % References: % [1] Deakin, R.E. and Hunter, M.N., 2008, GEOMETRIC GEODESY, School of % Mathematical and Geospatial Sciences, RMIT University, Melbourne, % AUSTRALIA, March 2008. % [2] THE GEOCENTRIC DATUM OF AUSTRALIA TECHNICAL MANUAL, Version 2.2, % Intergovernmental Committee on Surveying and Mapping (ICSM), % February 2002 (www.anzlic.org.au/icsm/gdatum) %-------------------------------------------------------------------------% compute flattening f eccentricity squared e2 f = 1/flat; c = a/(1-f); ep2 = f*(2-f)/((1-f)^2); % calculate the square of the sine of the latitude c2 = cos(lat)^2; % compute latitude function V V2 = 1+ep2*c2; V = sqrt(V2); V3 = V2*V; % compute radii of curvature rm = c/V3; rp = c/V; MATLAB function DMS.m function [D,M,S] = DMS(DecDeg) % [D,M,S] = DMS(DecDeg) This function takes an angle in decimal degrees and returns % Degrees, Minutes and Seconds val = abs(DecDeg); D = fix(val); M = fix((val-D)*60); S = (val-D-M/60)*3600; if(DecDeg<0) D = -D; end return Great Elliptic Arc.doc 18 REFERENCES Bowring, B. R., (1972), 'Distance and the spheroid', Correspondence, Survey Review, Vol. XXI, No. 164, April 1972, pp. 281-284. Clarke, A. R., (1880), Geodesy, Clarendon Press, Oxford. Deakin, R. E., (2009a), 'The Normal Section Curve on an Ellipsoid', Lecture Notes, School of Mathematical & Geospatial Sciences, RMIT University, Melbourne, Australia, November 2009, 53 pages. —————— (2009b), 'The Curve of Alignment on an Ellipsoid', Lecture Notes, School of Mathematical & Geospatial Sciences, RMIT University, Melbourne, Australia, December 2009, 20 pages. Thomas, P. D., (1952), Conformal Projections in Geodesy and Cartography, Special Publication No. 251, Coast and Geodetic Survey, United States Department of Commerce, Washington, D.C. Great Elliptic Arc.doc 19 THE LOXODROME ON AN ELLIPSOID R. E. Deakin School of Mathematical & Geospatial Sciences, RMIT University, GPO Box 2476V, MELBOURNE VIC 3001, AUSTRALIA email: rod.deakin@rmit.edu.au January 2010 ABSTRACT These notes provide a detailed explanation of the geometry of the loxodrome on the ellipsoid. Equations are derived for azimuth and distance of a loxodrome between two points on an ellipsoid and these equations enable the development of algorithms for the solution of the direct and inverse problems of the loxodrome. A MATLAB function is provided that demonstrates an algorithm for the inverse problem. INTRODUCTION The loxodrome between P1 and P2 on the ellipsoid is a curved line such that every element of the curve ds intersects a meridian at a constant azimuth α . Unless α = 0 , 90 ,180 or 270 the loxodrome will spiral around the ellipsoid and terminate at one of the poles. In ( other cases the loxodrome will lie along a meridian of longitude α = 0 ,180 ( ) or a parallel ) of latitude α = 90 ,270 . lo xo dr om e Figure 1: Loxodrome on the earth's surface Loxodrome on Ellipsoid.doc 1 In marine and air navigation, aircraft and ships sailing or flying on fixed compass headings are moving along loxodromes, hence knowledge of loxodromes is important in navigation. Mercator's projection – a normal aspect cylindrical conformal projection – has the unique property that loxodromes on the earth's surface are projected as straight lines on the map. In geodesy the direct problem (computing position given azimuth and distance from a known location) and the inverse problem (computing azimuth and distance between known positions) are fundamental operations and can be likened to the equivalent operations of plane surveying; radiations (computing coordinates of points given bearings and distances radiating from a point of known coordinates) and joins; (computing bearings and distances between points having known coordinates). The direct and inverse problems in geodesy are usually associated with the geodesic which is the unique curve defining the shortest path on the ellipsoid but they can also be associated with other curves. So; The direct problem of the loxodrome on the ellipsoid is: given latitude and longitude of P1 and the azimuth α and distance s of a loxodrome between P1 and P2 ; compute the latitude and longitude of P2 . The inverse problem of the loxodrome on the ellipsoid is: given the latitude and longitude of P1 and P2 ; compute the azimuth α and distance s of the loxodrome between P1 and P2 . The equations necessary for the solution of the direct and inverse problems are derived from the differential geometry of the ellipsoid and in particular, relationships that can be obtained from the differential rectangle on the ellipsoid. Also, meridian distance (the distance along a meridian from the equator) is used in computing loxodrome distances. Discussions of differential geometry of the ellipsoid and meridian distance can be found in Deakin & Hunter (2008) or geodesy textbooks (e.g., Lauf 1983; Bomford 1980), and an excellent treatment of the loxodrome on the ellipsoid can be found in Bowring (1985). THE ELLIPSOID In geodesy, the ellipsoid is a surface of revolution created by rotating an ellipse about its minor axis. The size and shape of an ellipsoid is defined by one of three pairs of parameters: (i) a, b where a and b are the semi-major and semi-minor axes lengths of an ellipsoid respectively (and a > b ), or (ii) a, f where f is the flattening of an ellipsoid, or (iii) a, e 2 where e 2 is the square of the first eccentricity of an ellipsoid. Loxodrome on Ellipsoid.doc 2 z N ch λ Gre en wi b w O• a φ H• equator x P • a y w Figure 2: The reference ellipsoid The ellipsoid parameters a, b, f , e 2 are related by the following equations f = a −b b = 1− a a b = a (1 − f ) e2 = (2) a 2 − b2 b2 = 1 − = f (2 − f ) a2 a2 1 − e2 = (1) b2 2 = 1 − f (2 − f ) = (1 − f ) 2 a (3) (4) The second eccentricity e ′ of an ellipsoid is also of use and e ′2 = f (2 − f ) a 2 − b2 a2 e2 = − = = 1 2 2 2 2 b b 1 −e (1 − f ) (5) e ′2 1 + e ′2 (6) e2 = In Figure 2 the normal to the surface at P intersects the rotational axis of the ellipsoid (the z-axis) at H making an angle φ with the equatorial plane of the ellipsoid – this is the latitude of P. The longitude λ is the angle between the Greenwich meridian plane (a reference plane) and the meridian plane (the z-w plane) containing the normal through P. φ and λ are curvilinear coordinates and meridians of longitude (curves of constant λ ) and parallels of latitude (curves of constant φ ) are parametric curves on the ellipsoidal surface. At P on the surface of the ellipsoid, planes containing the normal to the ellipsoid intersect the surface creating elliptical sections known as normal sections. Amongst the infinite number of possible normal sections at a P; each having a certain radius of curvature, two Loxodrome on Ellipsoid.doc 3 are of interest: (i) the meridian section, containing the axis of revolution of the ellipsoid and having the least radius of curvature, denoted by ρ , and (ii) the prime vertical section, perpendicular to the meridian plane and having the greatest radius of curvature, denoted by ν . ρ= a (1 − e 2 ) (1 − e 2 sin2 φ) ν= 3 2 a (1 − e 2 sin2 φ) 1 2 a (1 − e 2 ) = (7) W3 = a W (8) W 2 = 1 − e 2 sin2 φ (9) For P, the centre of the radius of curvature of the prime vertical section is at H and ν = PH . The centre of the radius of curvature of the meridian section lies on the normal between P and H. Alternative equations for the radii of curvature ρ and ν are given by ρ= ν= c = a2 b (1 + e ′2 cos2 φ) 3 2 a2 b (1 + e ′2 cos2 φ) 1 2 = c V3 (10) = c V (11) a2 a = 1− f b (12) V 2 = 1 + e ′2 cos2 φ (13) and c is the polar radius of curvature of the ellipsoid. The latitude functions W and V are related as follows W2 = V2 1 + e ′2 and W = V (1 + e ′2 ) 1 2 b = V a (14) Points on the ellipsoid surface have curvilinear coordinates φ, λ and Cartesian coordinates x,y,z where the x-z plane is the Greenwich meridian plane, the x-y plane is the equatorial plane and the y-z plane is a meridian plane 90º east of the Greenwich meridian plane. Cartesian and curvilinear coordinates are related by x = ν cos φ cos λ y = ν cos φ cos λ (15) z = ν (1 − e 2 ) sin φ Loxodrome on Ellipsoid.doc 4 Note that ν (1 − e 2 ) is the distance along the normal from a point on the surface to the point where the normal cuts the equatorial plane. DIFFERENTIAL RELATIONSHIPS FOR THE LOXODROME ON THE ELLIPSOID The derivation of equations relating to the loxodrome requires an understanding of the connection between differentially small quantities on the surface of the ellipsoid. N dλ mer i di an P • • w no rm φ a φ b al parall el Q O H ρ dφ α φ +dφ Q equat or P α ds ν cos φ d λ λ φ + dφ • • λ λ+ d λ α φ λ+d λ S Figure 3: The differential rectangle on an ellipsoid (a,b) These relationships can be derived from the differential rectangle, with diagonal PQ in Figure 3 which shows P and Q on an ellipsoid whose semi-axes are a and b (a > b ) . P and Q are separated by differential changes in latitude d φ and longitude d λ and are connected by a loxodrome of length ds making an angle α (the azimuth) with the meridian through P. The meridians λ and λ + d λ , and the parallels φ and φ + d φ form a differential rectangle on the surface of the ellipsoid. The differential distances dp along the parallel φ and dm along the meridian λ are dp = w d λ = ν cos φ d λ (16) dm = ρ d φ (17) where ρ and ν are radii of curvature in the meridian and prime vertical planes respectively and w = ν cos φ is the perpendicular distance from the rotational axis NOS. Loxodrome on Ellipsoid.doc 5 From Figure 3, the differential distance ds is given by ds = dm 2 + dp 2 = ρ 2d φ2 + ν 2 cos2 φ d λ 2 ⎛ ρ d φ ⎟⎞ ⎜ ⎟⎟ + d λ 2 = ν cos φ ⎜⎜ ⎜⎜⎝ ν cos φ ⎟⎟⎠ 2 = ν cos φ dq 2 + d λ 2 (18) q is known as the isometric latitude defined by the differential relationship dq = ρ dφ ν cos φ (19) (q, λ ) is a curvilinear coordinate system on the ellipsoid with isometric parameters where isometric means of equal measure (iso = equal; metric = able to be measured). We can see this from equation (18) where the differential distances along the parametric curves q and λ are dm = ν cos φ dq and dp = ν cos φ d λ , i.e., the differential distances are equal for equal angular differentials dq and d λ . Also from Figure 3 the azimuth α of the loxodrome is obtained from ν cos φ d λ tan α = ρ dφ = dλ dq (20) and azimuth α and distance s are linked by the differential relationship ds = dm cos α = 1 ρ dφ cos α (21) ISOMETRIC LATITUDE The isometric latitude is defined by the differential equation (19) from which we obtain q= ρ ∫ ν cos φ d φ + C (22) 1 where C 1 is a constant of integration. Substituting into equation (22) expressions for ρ and ν given by equations (7) and (8), and simplifying gives (1 − e ) q=∫ dφ + C (1 − e sin φ) cos φ 2 2 Loxodrome on Ellipsoid.doc 2 1 (23) 6 The integrand of equation (23) can be separated into partial fractions (1 − e ) A B = + (1 − e sin φ) cos φ (1 − e sin φ) cos φ 2 2 2 2 (24) 2 Expanding and simplifying equation (24) gives ( 1 − e 2 = A cos φ + B 1 − e 2 sin2 φ ( ) = A cos φ + B − Be 1 − cos2 φ 2 ( = B 1 −e 2 ) + (A + Be 2 ) ) cos φ cos φ (25) A and B are obtained by comparing the coefficients of 1 − e 2 and cos φ in equation (25) giving B = 1; A = −e 2 cos φ Substituting these results into equation (24) gives the isometric latitude as q= ∫ 1 e 2 cos φ dφ − ∫ dφ + C1 cos φ 1 − e 2 sin2 φ (26) Put e sin φ = sin u then e cos φ d φ = cos u du and From standard integrals q= ∫ = ∫ = ∫ ∫ 1 dφ − e ∫ cos φ 1 dφ − e ∫ cos φ 1 dφ − e ∫ cos φ cos u du + C 1 1 − sin2 u cos u du + C 1 cos2 u 1 du + C 1 cos u (27) ⎧ ⎛ π x ⎟⎞⎫ ⎪ ⎪ 1 dx = ln ⎪ ⎬ and from half-angle trigonometric ⎨tan ⎜⎜ + ⎟⎟⎪ ⎪ ⎜⎝ 4 2 ⎟⎠⎪ cos x ⎪ ⎪ ⎩ ⎭ ( ( ) ) 1 − cos x + π 2 ⎛ A⎞ ⎛π x ⎞ 1 − cos A 1 + sin x giving tan ⎜⎜⎜ + ⎟⎟⎟ = formula tan ⎜⎜⎜ ⎟⎟⎟ = ± = . 1 − sin x 1 + cos A ⎝ 2 ⎟⎠ ⎝ 4 2 ⎠⎟ 1 + cos x + π 2 Substituting these results into equation (27) gives the isometric latitude as 1 ⎛π φ⎞ ⎛1 + e sin φ ⎞⎟2 q = ln tan ⎜⎜ + ⎟⎟⎟ + C 2 − e ln ⎜⎜ ⎟⎟ − C 3 + C 1 ⎜⎝ 4 2 ⎠⎟ ⎝⎜ 1 − e sin φ ⎠⎟ where C 1,C 2 and C 3 are constants of integration. Using the laws of logarithms: M = loga M − loga N and loga M p = p loga M , and N defining a new constant of integration C = C 2 − C 3 + C 1 gives loga MN = loga M + loga N , loga Loxodrome on Ellipsoid.doc 7 e ⎛π φ⎞ ⎛ 1 − e sin φ ⎟⎞2 ⎟⎟ + C q = ln tan ⎜⎜⎜ + ⎟⎟⎟ + ln ⎜⎜⎜ ⎝ 4 2 ⎟⎠ ⎝1 + e sin φ ⎟⎠ e⎫ ⎪⎧⎪ ⎪ 2⎪ ⎛ ⎞⎛ ⎞ π φ φ − 1 sin e ⎪ ⎪ ⎟ ⎟ ⎟⎟ ⎬ + C = ln ⎨tan ⎜⎜⎜ + ⎟⎟ ⎜⎜⎜ ⎪⎪ ⎝ 4 2 ⎟⎠⎝1 + e sin φ ⎟⎠ ⎪⎪ ⎪⎩⎪ ⎪⎭⎪ (28) The constant C in equation (28) equals zero since if φ = 0 then q = 0 and the isometric latitude q is obtained from e⎫ ⎧ ⎪ ⎪ ⎪⎪ ⎛ π φ ⎟⎞⎛ 1 − e sin φ ⎞⎟2 ⎪⎪ ⎟⎟ ⎬ q = ln ⎨tan ⎜⎜⎜ + ⎟⎟ ⎜⎜⎜ ⎪⎪ ⎝ 4 2 ⎟⎠⎝1 + e sin φ ⎠⎟ ⎪⎪ ⎪ ⎪⎭⎪ ⎪ ⎩ (29) This derivation follows Lauf (1983) where an integral identical to equation (22) is evaluated as part of the derivation of the equations for the ellipsoidal Mercator projection – a conformal projection of the ellipsoid. Thomas (1952) derives a similar equation in his development of conformal representation of the ellipsoid upon a plane. THE EQUATION OF THE LOXODROME By re-arranging equation (20) we have d λ = tan α dq and integrating both sides, noting that tan α is a constant, gives λ2 ∫ dλ λ1 q2 = tan α ∫ dq q1 λ2 − λ1 = tan α (q 2 − q1 ) And the equation of the loxodrome between P1 and P2 on the ellipsoid is Δλ = Δq tan α (30) where Δλ = λ2 − λ1 and Δq = q 2 − q1 are differences in longitude and isometric latitude respectively and α is the (constant) azimuth of the loxodrome. Loxodrome on Ellipsoid.doc 8 THE AZIMUTH OF A LOXODROME The azimuth α of a loxodrome between P1 and P2 on an ellipsoid can be obtained from equation (30) as ⎛ λ − λ ⎟⎞ ⎛ Δλ ⎟⎞ 1⎟ ⎟⎟ = arctan ⎜⎜⎜ 2 α = arctan ⎜⎜⎜ ⎟ ⎜⎝ q2 − q1 ⎠⎟ ⎝ Δq ⎠⎟ (31) where q1, q2 are isometric latitudes of P1 and P2 respectively and q is given by equation (29). λ1, λ2 are the longitudes of P1 and P2 . DISTANCE ALONG A LOXODROME Consider a loxodrome of constant azimuth α that crosses the equator and passes through P1 and P2 . The distance s between P1 and P2 can be defined as s = s2 − s1 where s1 and s2 are distances from the equator to P1 and P2 respectively and from equations (21) and (7) we may write ( φ1 a 1 − e2 1 s1 = ρ dφ = cos α ∫0 cos α ) φ1 1 ∫W 3 dφ = 0 m1 (32) cos α and similarly s2 = m2 (33) cos α m1 and m2 are meridian distances and meridian distance m is defined as the length of the arc of the meridian to a point in latitude φ . m is obtained from the differential relationship given by equation (17) and φ m= φ ∫ ρ d φ = a (1 − e ) ∫ (1 − e 2 0 0 2 sin φ 2 ) − 3 2 ( dφ = a 1 − e φ 2 ) ∫ W1 3 dφ (34) 0 This is an elliptic integral of the second kind and cannot be evaluated directly; instead, the 3 − 1 2 2 2 = − φ is expanded by using the binomial series and then 1 e sin 3 W evaluated by term-by-term integration. Following Deakin & Hunter (2008) we obtain an integrand ( ) expression for the meridian distance as m = a {A0φ − A2 sin 2φ + A4 sin 4φ − A6 sin 6φ + A8 sin 8φ − A10 sin 10φ + } (35) where Loxodrome on Ellipsoid.doc 9 1 3 5 6 175 8 441 10 A0 = 1 − e 2 − e 4 − e − e − e + 4 64 256 16384 65536 3⎛ 1 15 6 35 8 735 10 ⎞ A2 = ⎜⎜e 2 + e 4 + e + e + e + ⎟⎟ ⎠ 8⎝ 4 128 512 16384 15 ⎛ 4 3 6 35 8 105 10 ⎞ ⎜⎜e + e + e + A4 = e + ⎟⎟ ⎠ 256 ⎝ 4 64 256 35 ⎛ 6 5 8 315 10 ⎞ ⎜e + e + A6 = e + ⎟⎟ ⎜ ⎝ ⎠ 3072 4 256 315 ⎛ 8 7 10 ⎞ ⎜⎜e + e + ⎟⎟ A8 = ⎠ 131072 ⎝ 4 693 A10 = (e10 + ) 131072 (36) Combining equations (32) and (33) gives the length of the loxodrome between P1 and P2 as s= m2 − m1 cos α (37) where α is the (constant) azimuth and m1 and m2 are meridian distances for φ1 and φ2 obtained from equation (35). THE DIRECT PROBLEM OF THE LOXODROME ON THE ELLIPSOID The direct problem is: Given latitude and longitude of P1 , azimuth α12 of the loxodrome P1P2 and the arc length s along the loxodrome curve; compute the latitude and longitude of P2 and the reverse azimuth α21 . With the ellipsoid constants a, f , and e 2 and given φ1, λ1, α12 and s the problem may be solved by the following sequence. 1. Compute m1 the meridian distance of P1 using equation (35). 2. Compute meridian distance m2 from equation (37) where m2 = s cos α12 + m1 3. Use Newton-Raphson iteration to compute latitude φ2 using equation (35) rearranged as f (φ ) = a {A0φ − A2 sin 2φ + A4 sin 4φ − A6 sin 6φ + A8 sin 8φ − A10 sin10φ} − m = 0 Loxodrome on Ellipsoid.doc 10 and the iterative equation φ(n +1) = φ(n ) − ( ) where f ′ (φ) = d f (φ) and { } dφ f ′ (φ( ) ) f φ(n ) n f ′ (φ ) = a {A0 − 2A2 cos 2φ + 4A4 cos 4φ − 6A6 cos 6φ + 8A8 cos 8φ − 10A10 cos10φ} An initial value of φ(1) ( φ for n = 1 ) can be taken as the latitude of P1 and the ( ) ( ) functions f φ(1) and f ′ φ(1) evaluated using φ1 . φ(2) ( φ for n = 2 ) can now be computed from the iterative equation and this process repeated to obtain values φ(3), φ(4), … . This iterative process can be concluded when the difference between φ(n +1) and φ(n ) reaches an acceptably small value. 4. Compute isometric latitudes q1 and q 2 using equation (29) and then the difference in isometric latitudes Δq = q 2 − q1 5. Compute the difference in longitude Δλ = λ2 − λ1 from equation (30) 6. Compute longitude λ2 from λ2 = λ1 + Δλ 7. Compute reverse azimuth from α21 = α12 ± 180 THE INVERSE PROBLEM OF THE LOXODROME ON THE ELLIPSOID The inverse problem is: Given latitudes and longitudes of P1 and P2 on the ellipsoid, compute the azimuth α12 of the loxodrome P1P2 , the arc length s along the loxodrome curve and the reverse azimuth α21 . With the ellipsoid constants a, f , and e 2 and given φ1, λ1 and φ2 , λ2 the problem may be solved by the following sequence. 1. Compute isometric latitudes q1 and q 2 using equation (29) and then the difference in isometric latitudes Δq = q 2 − q1 2. Compute the longitude difference Δλ = λ2 − λ1 and then the azimuth α12 using equation (31). 3. Compute meridian distances m1 and m2 using equation (35). 4. Compute the arc length s from equation (37). 5. Compute reverse azimuth from α21 = α12 ± 180 Loxodrome on Ellipsoid.doc 11 MATLAB FUNCTIONS A MATLAB function loxodrome_inverse.m is shown below. This function computes the inverse problem of the loxodrome on the ellipsoid. Output from the function is shown below for points on a great elliptic arc between the terminal points of the straight-line section of the Victorian–New South Wales border. This straight-line section of the border, between Murray Spring and Wauka 1978, is known as the Black-Allan Line in honour of the surveyors Black and Allan who set out the border line in 1870-71. Wauka 1978 (Gabo PM 4) is a geodetic concrete border pillar on the coast at Cape Howe and Murray Spring (Enamo PM 15) is a steel pipe driven into a spring of the Murray River that is closest to Cape Howe. The straight line is a normal section curve on the reference ellipsoid of the Geocentric Datum of Australia (GDA94) that contains the normal to the ellipsoid at Murray Spring. The GDA94 coordinates of Murray Spring and Wauka 1978 are: Murray Spring: Wauka 1978: φ −37 47 ′ 49.2232′′ φ −37 30′ 18.0674 ′′ λ 148 11′ 48.3333′′ λ 149 58 ′ 32.9932′′ The normal section azimuth and distance are: 116 58 ′ 14.173757 ′′ 176495.243760 m The geodesic azimuth and distance are: 116 58 ′ 14.219146′′ 176495.243758 m The loxodrome azimuth and distance are: 116 26′ 08.400701′′ 176497.829952 m Figure 4 shows a schematic view of the Black-Allan line (normal section) and the great elliptic arc. The relationships between the great elliptic arc and the normal section have been computed at seven locations along the line (A, B, C, etc.) where meridians of longitude at 0 15′ intervals cut the line. These relationships are shown in Table 1. Loxodrome on Ellipsoid.doc 12 VICTORIA/NSW BORDER Murray Spring BLACK-ALLAN LINE: r The Black-Allan Line is a normal section curve on the reference ellipsoid between P1 (Murray Spring) and P2 (Wauka 1978). This curve is the intersection of the normal section plane and the ellipsoid, and the normal section contains P1, the normal to the ellipsoid at P1, and P2. N S W The GDA94 coordinates of Murray Spring and Wauka 1978 are: Murray Spring: φ -37°47’4 9.2232” λ 148°11’48.3333” φ -37°30’1 8.0674” λ 149°58’32.9932” Wauka 1978: Loxodrome 148°15 ’ BL ACK 148°30’ The normal section azimuth and distance are: 116°58’14.173757” 176495.243760 m. - The geodesic azimuth and distance are: 116°58’14.219146” 176495.243758 m. AL L AN 148°45’ The loxodrome azimuth and distance are: 116°26’08.400701” 176497.829952 m. LI NE 149°00’ Normal Section 149°15’ VIC r Wauka 1978 149°30’ 149°45’ The loxodrome is shown plotted at an exaggerated scale with respect t o the Border Line (normal section). At longitude 149°00’E. the loxodrome is 457.918 m north of the Border Line. At longitude 149°30’E. the loxodrome is 361.250 m north of the Border Line. Figure 4 BLACK-ALLAN LINE: NAME Murray Spring A B C D E F G Wauka 1978 VICTORIA/NSW BORDER GDA94 LATITUDE LONGITUDE -36°47΄49.223200˝ -36°49΄07.598047˝ -36°49΄05.849245˝ -36°55΄13.876510˝ -36°55΄05.371035˝ -37°01΄17.289080˝ -37°01΄04.418599˝ -37°07΄17.845554˝ -37°07΄02.991484˝ -37°13΄15.555723˝ -37°13΄01.089240˝ -37°19΄10.429372˝ -37°18΄58.711427˝ -37°25΄02.476276˝ -37°24΄55.857608˝ -37°30΄18.067400˝ dφ Ellipsoid values ρ dm = ρ×dφ 148°11΄48.333300˝ N Lox N Lox N Lox N Lox N Lox N Lox N Lox 148°15΄00.000000˝ 148°30΄00.000000˝ 148°45΄00.000000˝ 149°00΄00.000000˝ 149°15΄00.000000˝ 149°30΄00.000000˝ 149°45΄00.000000˝ +00΄01.748802˝ +00΄08.505475˝ +00΄12.870481˝ +00΄14.854070˝ +00΄14.466483˝ +00΄11.717945˝ +00΄06.618668˝ 6358356.102 6358465.209 6358573.577 6358681.204 6358788.089 6358894.232 6358999.632 +53.9089 +262.1958 +396.7613 +457.9177 +459.9767 +361.2501 +204.0489 149°58΄32.993200˝ TABLE 1: Points where the Great Elliptic Arc cuts meridians of A, B, C, etc at 0°15΄ intervals of longitude along Border Line. N = Normal Section, Lox = Loxodrome Loxodrome on Ellipsoid.doc 13 >> help loxodrome_inverse loxodrome_inverse: This function computes the inverse case for a loxodrome on the reference ellipsoid. That is, given the latitudes and longitudes of two points on the ellipsoid, compute the azimuth and the arc length of the loxodrome on the surface. >> loxodrome_inverse ======================= Loxodrome: Inverse Case ======================= Ellipsoid parameters a = 6378137.0000 f = 1/298.257222101 Terminal points of curve Latitude P1 = -36 47 49.223200 (D M S) Longitude P1 = 148 11 48.333300 (D M S) Latitude P2 = Longitude P2 = isometric lat isometric lat -37 30 18.067400 (D M S) 149 58 32.993200 (D M S) P1 = P2 = -39 23 36.268670 (D M S) -40 16 40.540366 (D M S) diff isometric lat P2-P1 = diff in longitude P2-P1 = meridian distance P1 = meridian distance P2 = diff in mdist P2-P1 -0 53 4.271697 (D M S) 1 46 44.659900 (D M S) -4073983.614420 -4152559.155874 = -78575.541454 Azimuth of loxodrome P1-P2 Az12 = 116 26 8.400701 (D M S) loxodrome distance P1-P2 s = 176497.829952 >> Loxodrome on Ellipsoid.doc 14 MATLAB function loxodrome_inverse.m function loxodrome_inverse % % loxodrome_inverse: This function computes the inverse case for a % loxodrome on the reference ellipsoid. That is, given the latitudes and % longitudes of two points on the ellipsoid, compute the azimuth and the % arc length of the loxodrome on the surface. %-------------------------------------------------------------------------% Function: loxodrome_inverse() % % Usage: loxodrome_inverse % % Author: R.E.Deakin, % School of Mathematical & Geospatial Sciences, RMIT University % GPO Box 2476V, MELBOURNE, VIC 3001, AUSTRALIA. % email: rod.deakin@rmit.edu.au % Version 1.0 5 October 2009 % Version 1.1 11 January 2010 % % Purpose: This function computes the inverse case for a loxodrome on the % reference ellipsoid. That is, given the latitudes and longitudes of % two points on the ellipsoid, compute the azimuth and the arc length of % the loxodrome on the surface. % % Functions required: % [D,M,S] = DMS(DecDeg) % isolat = isometric(flat,lat) % mdist = meridian_dist(a,flat,lat) % % Variables: % Az12 - azimuth of loxodrome P1-P2 (radians) % a - semi-major axis of spheroid % d2r - degree to radian conversion factor 57.29577951... % disolat - difference in isometric latitudes (isolat2-isolat1) % dlon - difference in longitudes (radian) % dm - difference in meridian distances (dm = m2-m1) % e - eccentricity of ellipsoid % e2 - eccentricity of ellipsoid squared % f - f = 1/flat is the flattening of ellipsoid % flat - denominator of flattening of ellipsoid % isolat1 - isometric latitude of P1 (radians) % isolat2 - isometric latitude of P2 (radians) % lat1 - latitude of P1 (radians) % lat2 - latitude of P2 (radians) % lon1 - longitude of P1 (radians) % lon2 - longitude of P2 (radians) % lox_s - distance along loxodrome % m1,m2 - meridian distances of P1 and P2 (metres) % pion2 - pi/2 % % Remarks: % % References: % [1] Deakin, R.E., 2010, 'The Loxodrome on an Ellipsoid', Lecture Notes, % School of Mathematical and Geospatial Sciences, RMIT University, % January 2010 % [2] Bowring, B.R., 1985, 'The geometry of the loxodrome on the % ellipsoid', The Canadian Surveyor, Vol. 39, No. 3, Autumn 1985, % pp.223-230. % [3] Snyder, J.P., 1987, Map Projections-A Working Manual. U.S. % Geological Survey Professional Paper 1395. Washington, DC: U.S. % Government Printing Office, pp.15-16 and pp. 44-45. % [4] Thomas, P.D., 1952, Conformal Projections in Geodesy and % Cartography, Special Publication No. 251, Coast and Geodetic % Survey, U.S. Department of Commerce, Washington, DC: U.S. % Government Printing Office, p. 66. Loxodrome on Ellipsoid.doc 15 % %-------------------------------------------------------------------------% Degree to radian conversion factor d2r = 180/pi; % Set ellipsoid parameters a = 6378137; % GRS80 flat = 298.257222101; % Set lat and long of P1 and P2 on ellipsoid lat1 = -(36 + 47/60 + 49.2232/3600)/d2r; % Spring lon1 = (148 + 11/60 + 48.3333/3600)/d2r; lat2 = -(37 + 30/60 + 18.0674/3600)/d2r; % Wauka 1978 lon2 = (149 + 58/60 + 32.9932/3600)/d2r; % Compute isometric latitude of P1 and P2 isolat1 = isometric(flat,lat1); isolat2 = isometric(flat,lat2); % Compute changes in isometric latitude and longitude between P1 and P2 disolat = isolat2-isolat1; dlon = lon2-lon1; % Compute azimuth Az12 = atan2(dlon,disolat); % Compute distance along loxodromic curve m1 = meridian_dist(a,flat,lat1); m2 = meridian_dist(a,flat,lat2); dm = m2-m1; lox_s = dm/cos(Az12); %----------------------% Print result to screen %----------------------fprintf('\n======================='); fprintf('\nLoxodrome: Inverse Case'); fprintf('\n======================='); fprintf('\nEllipsoid parameters'); fprintf('\na = %12.4f',a); fprintf('\nf = 1/%13.9f',flat); fprintf('\n\nTerminal points of curve'); % Print lat and lon of Point 1 [D,M,S] = DMS(lat1*d2r); if D == 0 && lat1 < 0 fprintf('\nLatitude P1 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLatitude P1 = %4d %2d %9.6f (D M S)',D,M,S); end [D,M,S] = DMS(lon1*d2r); if D == 0 && lon1 < 0 fprintf('\nLongitude P1 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nLongitude P1 = %4d %2d %9.6f (D M S)',D,M,S); end % Print lat and lon of point 2 [D,M,S] = DMS(lat2*d2r); if D == 0 && lat1 < 0 fprintf('\n\nLatitude P2 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\n\nLatitude P2 = %4d %2d %9.6f (D M S)',D,M,S); end [D,M,S] = DMS(lon2*d2r); if D == 0 && lon2 < 0 fprintf('\nLongitude P2 = -0 %2d %9.6f (D M S)',M,S); else Loxodrome on Ellipsoid.doc 16 fprintf('\nLongitude P2 = %4d %2d %9.6f (D M S)',D,M,S); end % Print isometric latitudes of P1 and P2 [D,M,S] = DMS(isolat1*d2r); if D == 0 && isolat1 < 0 fprintf('\n\nisometric lat P1 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\n\nisometric lat P1 = %4d %2d %9.6f (D M S)',D,M,S); end [D,M,S] = DMS(isolat2*d2r); if D == 0 && isolat2 < 0 fprintf('\nisometric lat P2 = -0 %2d %9.6f (D M S)',M,S); else fprintf('\nisometric lat P2 = %4d %2d %9.6f (D M S)',D,M,S); end % Print differences in isometric latitudes [D,M,S] = DMS(disolat*d2r); if D == 0 && disolat < 0 fprintf('\n\ndiff isometric lat P2-P1 else fprintf('\ndiff isometric lat P2-P1 = end [D,M,S] = DMS(dlon*d2r); if D == 0 && dlon < 0 fprintf('\ndiff in longitude P2-P1 = else fprintf('\ndiff in longitude P2-P1 = end and longitudes = -0 %2d %9.6f (D M S)',M,S); %4d %2d %9.6f (D M S)',D,M,S); -0 %2d %9.6f (D M S)',M,S); %4d %2d %9.6f (D M S)',D,M,S); % Print meridian distances of P1 and P2 fprintf('\n\nmeridian distance P1 = %15.6f',m1); fprintf('\nmeridian distance P2 = %15.6f',m2); fprintf('\n\ndiff in mdist P2-P1 = %15.6f',dm); % Print azimuth of loxodrome fprintf('\n\nAzimuth of loxodrome P1-P2'); [D,M,S] = DMS(Az12*d2r); fprintf('\nAz12 = %3d %2d %9.6f (D M S)',D,M,S); % Print loxodrome distance P1-P2 fprintf('\n\nloxodrome distance P1-P2'); fprintf('\ns = %15.6f',lox_s); fprintf('\n\n'); Loxodrome on Ellipsoid.doc 17 MATLAB function isometric.m function isolat = isometric(flat,lat) % % isolat=isometric(flat,lat) Function computes the isometric latitude % (isolat) of a point whose latitude (lat) is given on an ellipsoid whose % denominator of flattening is flat. % Latitude (lat) must be in radians and the returned value of isometric % latitude (isolat) will also be in radians. % Example: isolat = isometric(298.257222101,-0.659895044028705); % should return isolat = -0.709660227088983 radians, % equal to -40 39 37.9292417795658 (DMS) for latitude equal to % -0.659895044028705 radians (-37 48 33.1234 (DMS)) on the GRS80 % ellipsoid. %-------------------------------------------------------------------------% Function: isometric(flat,lat) % % Syntax: isolat = isometric(flat,lat); % % Author: R.E.Deakin, % School of Mathematical & Geospatial Sciences, RMIT University % GPO Box 2476V, MELBOURNE, VIC 3001, AUSTRALIA. % email: rod.deakin@rmit.edu.au % Version 1.0 5 October 2009 % % Purpose: Function computes the isometric latitude of a point whose % latitude is given on an ellipsoid defined by semi-major axis (a) and % denominator of flattening (flat). % % Return value: Function isometric() returns isolat (isometric latitude in % radians) % % Variables: % e - eccentricity of ellipsoid % e2 - eccentricity-squared % f - flattening of ellipsoid % flat - denominator of flattening % % Remarks: % Isometric latitude is an auxiliary latitude proportional to the spacing % of parallels of latitude on an ellipsoidal Mercator projection. % % References: % [1] Snyder, J.P., 1987, Map Projections-A Working Manual. U.S. % Geological SurveyProfessional Paper 1395. Washington, DC: U.S. % Government Printing Office, pp.15-16. % % %-------------------------------------------------------------------------% compute flattening f eccentricity squared e2 f = 1/flat; e2 = f*(2-f); e = sqrt(e2); x = e*sin(lat); y = (1-x)/(1+x); z = pi/4 + lat/2; % calculate the isometric latitude isolat = log(tan(z)*(y^(e/2))); Loxodrome on Ellipsoid.doc 18 MATLAB function meridian_dist.m function mdist = meridian_dist(a,flat,lat) % % mdist = meridian_dist(a,flat,lat) Function computes the meridian distance % on an ellipsoid defined by semi-major axis (a) and denominator of % flattening (flat) from the equator to a point having latitude (lat) in % radians. % e.g. mdist = (6378137, 298.257222101, -0.659895044028705) will compute % the meridian distance for a point having latitude -37 deg 48 min % 33.1234 sec on the GRS80 ellipsoid (a = 6378137, f = 1/298.257222101). %-------------------------------------------------------------------------% Function: meridian_dist() % % Usage: mdist = meridian_dist(a,flat,lat) % % Author: R.E.Deakin, % School of Mathematical & Geospatial Sciences, RMIT University % GPO Box 2476V, MELBOURNE, VIC 3001, AUSTRALIA. % email: rod.deakin@rmit.edu.au % Version 1.0 5 October 2009 % % Purpose: Function computes the meridian distance % on an ellipsoid defined by semi-major axis (a) and denominator of % flattening (flat) from the equator to a point having latitude (lat) in % radians. % % Functions required: % % Variables: a - semi-major axis of spheroid % A,B,C... - coefficients % e2 - eccentricity squared % e4,e6,... - powers of e2 % f - f = 1/flat is the flattening of ellipsoid % flat - denominator of flattening of ellipsoid % mdist - meridian distance % % Remarks: The formulae used are given in Baeschlin, C.F., 1948, % "Lehrbuch Der Geodasie", Orell Fussli Verlag, Zurich, pp.47-50. % See also Deakin, R. E. and Hunter M. N., 2008, "Geometric % Geodesy - Part A", Lecture Notes, School of Mathematical and % geospatial Sciences, RMIT University, March 2008, pp. 60-65. % %-------------------------------------------------------------------------% compute eccentricity squared f = 1/flat; e2 = f*(2-f); % powers of eccentricity e4 = e2*e2; e6 = e4*e2; e8 = e6*e2; e10 = e8*e2; % A B C D E F coefficients of series expansion for meridian distance = 1+(3/4)*e2+(45/64)*e4+(175/256)*e6+(11025/16384)*e8+(43659/65536)*e10; = (3/4)*e2+(15/16)*e4+(525/512)*e6+(2205/2048)*e8+(72765/65536)*e10; = (15/64)*e4+(105/256)*e6+(2205/4096)*e8+(10395/16384)*e10; = (35/512)*e6+(315/2048)*e8+(31185/131072)*e10; = (315/16384)*e8+(3465/65536)*e10; = (693/131072)*e10; term1 term2 term3 term4 = = = = A*lat; (B/2)*sin(2*lat); (C/4)*sin(4*lat); (D/6)*sin(6*lat); Loxodrome on Ellipsoid.doc 19 term5 = (E/8)*sin(8*lat); term6 = (F/10)*sin(10*lat); mdist = a*(1-e2)*(term1-term2+term3-term4+term5-term6); MATLAB function DMS.m function [D,M,S] = DMS(DecDeg) % [D,M,S] = DMS(DecDeg) This function takes an angle in decimal degrees and returns % Degrees, Minutes and Seconds val = abs(DecDeg); D = fix(val); M = fix((val-D)*60); S = (val-D-M/60)*3600; if(DecDeg<0) D = -D; end return REFERENCES Bowring, B. R., (1985), 'The Geometry of the Loxodrome on the Ellipsoid', The Canadian Surveyor, Vol. 39, No. 3, Autumn 1985, pp. 223-230. Bomford, G., (1980), Geodesy, 4th edition, Clarendon Press, Oxford. Deakin, R. E. and Hunter, M. N., (2008), 'Geometric Geodesy - Part A', Lecture Notes, School of Mathematical & Geospatial Sciences, RMIT University, Melbourne, Australia, March 2008, 140 pages. Lauf, G. B., (1983), Geodesy and Map Projections, TAFE Publications Unit, Collingwood, Vic, Australia. Thomas, P. D., (1952), Conformal Projections in Geodesy and Cartography, Special Publication No. 251, Coast and Geodetic Survey, United States Department of Commerce, Washington, D.C. Loxodrome on Ellipsoid.doc 20