Geometric Geodesy B (2010)
Geometric Geodesy B (2010)
Geometric Geodesy B (2010)
GEOMETRIC
N
λ
GEODESY
ich
b P
•
enw
PART B Q •
Gre
O•
a φ a
H•
equator
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
ii
RMIT University Geospatial Science
pages
4. THE NORMAL SECTION CURVE ON AN ELLIPSOID 53
iii
The calculation of longitude and latitude from geodesic measurements∗
F. W. Bessel
Königsberg Observatory
3. THE AUXILIARY SPHERE I now assume that the meridian is an ellipse with equa-
torial
√ semi-axis a, polar semi-axis b, and eccentricity e =
Let the maximum distance of the spheroid to the rotation a2 − b2 /a.11 The equation for an ellipse expressed in terms
axis be a, so that r and r′ are less than or equal to a; we can
then write8
r′ = a cos u′ , r = a cos u, 9 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.
10 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.
11 In Bessel’s time, it was known that the earth could be approximated by an
5 This is the Euler-Lagrange equation of the calculus of variations.
6 oblate ellipsoid, a > b, but the eccentricity had not been determined ac-
This is now known as the Beltrami identity.
7 curately. Therefore, Bessel computes tables which are applicable to oblate
A. C. Clairaut gives a geometric derivation of this result in Mém. de
ellipsoids with a range of eccentricities. However, the series expansions
l’Acad. Roy. des Sciences de Paris, 1733, 406–416 (1735). The equation
that Bessel obtains, (11) and (12), can also to applied to prolate ellipsoids,
also follows from conservation of angular momentum for a mass sliding
a < b, by allowing e2 < 0.
without friction on a spheroid of revolution.
8 The quantity u is the reduced or parametric latitude.
3
To integrate the first of these differential equations, I use Expanding the two factors in the radicals in infinite series and
the three relations between u′ , u, α′ , α and σ,12 multiplying the results gives18
√
sin u = sin u′ cos σ + cos u′ cos α′ sin σ, 1 − e2
− cos u cos α = − sin u′ sin σ + cos u′ cos α′ cos σ, ds = a dσ A − 2B cos 2(M + σ)
(6) 1−ǫ
− cos u sin α = cos u′ sin α′ .
− 2C cos 4(M + σ) − 2D cos 6(M + σ) − . . . ,
It is convenient to write these in terms of the auxiliary angles
m and M defined by13
sin u′ = cos m sin M, 14 These are analogs of Eqs. (7) with meridian NAF replaced by NBG.
cos u′ cos α′ = cos m cos M, (7) 15 A. M. Legendre, Exercices du calcul intégral, Vol. 1 (Courcier, Paris,
1811).
cos u′ sin α′ = sin m. 16 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.
17 The notation has been simplified here compared to Bessel’s original for-
12 Referring to Fig. 1, consider two central cartesian coordinate systems with mulation in which k and ǫ are expressed in terms of E through k = tan E
the xy plane containing the geodesic EAB, and either A or B lying on and ǫ = tan2 12 E. By using ǫ as the expansion parameter and by dividing
the x axis. Equations (6) give the transformation between the coordi- out the factor 1 − ǫ, Bessel has ensured that the terms that he is expanding
nates of N in the two systems, [sin u′ , cos u′ cos α′ , cos u′ sin α′ ] and are invariant under the transformation ǫ → −ǫ, M +σ → π/2−(M +σ).
[sin u, − cos u cos α, − cos u sin α], namely a rotation by σ about the z This symmetry causes half the terms in the expansions in ǫ to vanish.
18 The use of complex exponentials facilitates the series expansions by avoid-
axis.
13 The auxiliary angles m and M are an angle and a side of the spherical ing
√ the need to 1employ awkward trigonometric identities. IfP we write
1·1 2
triangle EAN shown in Fig. 1. Equations (7) are the sine rule on angles E 1 − x = 1 − 2 x − 2·4 x − 1·1·3
2·4·6
x3 − 1·1·3·5
2·4·6·8
x4 − . . . = j aj xj ,
then the coefficient of cos 2l(M + σ) ǫl+2j is a2j for l = 0 and 2aj aj+l
` ´
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. for l > 0.
4
where A, B, C, . . . are given by The tables give the logarithms20 of α, β, and γ as a function
2 2 2 of the argument
1 1·1 1·1·3
A=1+ ǫ2 + ǫ4 + ǫ6 + . . . , e cos m
2 2·4 2·4·6 log k = log √ .
1 1·1 1 3 1·1·3 1·1 5 1 − e2
B = ǫ− ǫ − ǫ
2 2·4 2 2·4·6 2·4 By this choice, the variation of log β and log γ are very close
1·1·3·5 1·1·3 7 to two and four times that of the argument, which simplifies
− ǫ − ...,
2·4·6·8 2·4·6 interpolation into the table.21
1·1 2 1·1·3 1 4 1·1·3·5 1·1 6 We take αs/b as the first approximation of σ, substitute this
C= ǫ − ǫ − ǫ into the second term to obtain a second approximation, with
2·4 2·4·6 2 2·4·6·8 2·4
1·1·3·5·7 1·1·3 8 which we recalculate the second term and add the third. The
− ǫ − ..., convergence of the series is sufficiently fast that, even if the
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 argument is 1̄.1 (which is only possible if the flattening of
D= ǫ − ǫ − ǫ 1
the ellipsoid, 1 − b/a, exceeds 128 ), the approximation never
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 needs to be carried further in order to keep the errors in σ
− ǫ − ..., under 0.001′′. The term involving δ does not exceed 0.0005′′
2·4·6·8·10·12 2·4·6
at this value of the argument.
etc.
Integrating the equation for ds starting at σ = 0, we obtain
7. ACCURACY OF THE TABLES
b
s= Aσ − 21 B cos(2M + σ) sin σ
1−ǫ The values of log α in the table are given to 8 decimal
− 22 C cos(4M + 2σ) sin 2σ places.22 An error of half a unit of the last place results in
− 23 D cos(6M + 3σ) sin 3σ an error of only 0.0005′′ or 0.008 toise over a distance corre-
sponding to σ = 12◦ 4′ or 700 000 toises.23 Similarly, I retain
− ... . (10) 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
6. SOLVING THE DISTANCE EQUATION
values of the argument. The third term never exceeds 0.17′′ ,
The series (10) gives the distance s between A and B in even at the end of the table; therefore I include only 3 decimal
terms of u′ , α′ , and σ; if, however, s and α′ have been places for log γ. Thus the errors are 0.001′′ for distances up to
measured and u′ is known from the latitude at A, then σ 700 000 toises; even if the distance is of the order of a quarter
is obtained by solving (10). The latitude of B and the az- meridian (i.e., σ = 90◦ ), the error is less than 0.01′′ .
imuth of the geodesic there are found from (8). Equation (10)
can be solved either by reverting the series or by successive 8. AN EXAMPLE
approximation—the latter way is however the simplest if the
tables I have compiled are used. In order to illustrate the use of the tables, I consider the
I write19 results from the great survey by von Müffling.24 Relative to
α
σ = s+ β cos(2M + σ) sin σ + γ cos(4M + 2σ) sin 2σ
b
+ δ cos(6M + 3σ) sin 3σ + . . . , (11)
20 In this paper, log x denotes the common logarithm (base 10) and we use
where colog x = log(1/x). The tables in the original paper contained a number
648 000 1−ǫ 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′′ .
π A
In addition, there were systematic errors in the tabulated values of log β
648 000 2B equivalent to a relative error of order ǫ2 in β which result in discrepancies
β= ,
π A from 1 to 17 units in the last place on the final page (the 6-figure portion)
648 000 C 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 =
π A (−2) + 0.3. In the original paper, logarithms are written modulo 10, e.g.,
648 000 2D log 0.02 ≈ 8.3. The notation “(−)” in these calculations indicates that the
δ= ,
π 3A quantity whose logarithm is being taken is negative.
21 The columns headed ∆ give the first differences of the immediately pre-
etc.
ceding columns and aid in interpolating the data. Bessel would have used
a table of “proportional parts” to compute the interpolated values.
22 Working with 8-figure logarithms provides about 2 bits more precision than
IEEE single precision floating point numbers.
19 23
The units for σ, α, β, . . . are arc seconds. Bessel here adopts a conflict- The toise was a French unit of length. It can be converted to meters by
ing notation for the coefficient α which should not be confused with the 1 toise = 864 ligne, 443.296 ligne = 1 m, or 1 toise ≈ 1.949 m.
azimuth. 24 F. K. F. von Müffling, Astron. Nachr. 2(27), 33–38 (1824).
5
Seeberg (point A), the distance and azimuth to Dunkirk (point Adopting this as the first approximation to the value of σ, we
B) are25 obtain the second by adding the first term in the series (11),
log s = 5.478 303 14, log β = 2.305 94
α′ = 274◦ 21′ 3.18′′ . log cos(2M + σ) = 1̄.999 79(−)
I assume the latitude of the Observatory at Seeberg to be log sin σ = 2̄.963 91
φ′ = 50◦ 56′ 6.7′′ and the ellipsoid parameters to be log b =
6.513 354 64, log e√= 2̄.905 4355.26 1.269 64(−) = −18.61′′.
From tan u′ = 1 − e2 tan φ′ , we find
We now update the value of this term with the second approx-
log tan φ′ = 0.090 626 65 imation of σ = 5◦ 16′ 48.5′′ − 18.6′′ = 5◦ 16′ 29.9′′ and so
p
log 1 − e2 = 1̄.998 590 60 obtain as the third approximation:
log tan u′ = 0.089 217 25; u′ = 50◦ 50′ 39.057′′. log β = 2.305 94
Given u′ and α′ , we can compute M , cos m and sin m from log cos(2M + σ) = 1̄.999 79(−)
equations (7):27 log sin σ = 2̄.963 48
log sin u′ = 1̄.889 543 51 1.269 21(−) = −18.587′′,
log cos u′ = 1̄.800 326 27
log cos α′ = 2̄.880 037 33 log γ = 2̄.394
log sin α′ = 1̄.998 746 62(−) log cos(4M + 2σ) = 1̄.999
log(cos m sin M ) = 1̄.889 543 51 log sin 2σ = 1̄.263
log(cos m cos M ) = 2̄.680 363 60 3̄.656 = +0.005′′.
log sin m = 1̄.799 072 89(−)
Gathering the terms in (11) gives σ = 5◦ 16′ 48.481′′ −
M = 86◦ 27′ 53.949′′; 2M = 172◦ 55′ 47.9′′ 18.587′′ + 0.005′′ = 5◦ 16′ 29.899′′ and so, finally, we de-
log cos m = 1̄.890 370 63 4M = 345◦ 51′ 36′′ . termine α, u and φ from equations (8),
√
The argument in the tables, log (e/ 1 − e2 ) cos m , is M + σ = 91◦ 44′ 23.848′′
e log sin(M + σ) = 1̄.999 799 71
log √ = 2̄.906 845
1 − e2
log − cos(M + σ) = 2̄.482 349 32
log cos m = 1̄.890 371 log cos m = 1̄.890 370 63
Argument = 2̄.797 216. log(− sin m) = 1̄.799 072 89
Looking up log α in the tables, and calculating αs/b gives28 log sin u = 1̄.890 170 34
log α = 5.313 998 92 log(cos u cos α) = 2̄.372 719 95
colog b = 7̄.486 645 36 log(cos u sin α) = 1̄.799 072 89
log s = 5.478 303 14 log cot α = 2̄.573 647 06; α = 87◦ 51′ 15.523′′
αs α log cos u = 1̄.799 377 50
log = 4.278 947 42; s = 5◦ 16′ 48.481′′.
b b log tan u = 0.090 792 84
p
colog 1 − e2 = 0.001 409 40
25 Seeberg: 50◦ 56′ N 10◦ 44′ E; Dunkirk: 51◦ 2′ N 2◦ 23′ E. log tan φ = 0.092 202 24; φ = 51◦ 2′ 12.719′′.
26 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 In this example, I carried out the trigonometric calculations to
second as the unit of arc. 8 decimals; however the tables of log α, log β, and log γ in
27 Bessel solves 3 equations (7) for 2 unknowns M and m. The redundancy fact allow α and φ to be determined slightly more accurately
serves as a check for the hand calculation and can also improve the accu-
racy of the calculation, for example, in the case where sin m ≈ 1.
than this. If only standard 7-figure logarithm tables are avail-
28 It is necessary to use second differences when interpolating in the table for able, the last digits in the tabulated values of log α, log β, and
log α. The argument, 2̄.797 216, lies q = 0.7216 of the way between log γ may be neglected.
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.
6
9. THE LONGITUDE INTEGRAL From this, we see that neglecting y results in an error of or-
1 8
der e8 or an error in w of 384 e σ. This would not be dis-
We turn now to the determination of the longitude differ- cernible even in the calculation of long geodesics to 10 deci-
ence w by integrating (5), mal places.30
p Thus, for the present purposes, we may take y ≈ 0 enabling
dw = 1 − e2 cos2 u dω. us to tabulate the integral in a way that is valid for all e.
30 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′′ .
31 Bessel gives the relationship between k ′ and ǫ′ in terms of E ′ , where k ′ =
29 As a practical matter, it would have been impossible for Bessel to provide tan E ′ and ǫ′ = tan2 12 E ′ .
a complete tabulation of a function of two parameters. He could have tab- 32 There are a series of errors in the original paper leading up to (12). Here
ulated the function for a fixed value of e, which would greatly reduced we assume that the original Eq. (12) defines α′ , β ′ , γ ′ , . . . , which makes
the utility of his method, especially given the uncertainties in the measure- this equation analogous to (11), and correct the preceding equations to be
ments of e. Instead, Bessel manipulates the expression for dw to move consistent.
the dependence on the second parameter into a small term that may be
neglected.
7
sin 21 (u′ − u)
tan 12 ω = cot 21 (α′ + α) 12. CONCLUSION
cos 12 (u′ + u)
cos 21 (u′ − u) This illustration of the use of these tables shows that the
= cot 21 (α′ − α).
sin 12 (u′ + u) 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
33 See footnote 18 and set (1 − x)−1/3 = 1 + 31 x + 3·6 1·4 2
x + 1·4·7 x3 + account for the earth’s ellipticity one needs, in addition, only
3·6·9
1·4·7·10 4
x + . . . to solve equation (11) and to evaluate the series (12). Since
3·6·9·12
34 The value of β ′ in the tables includes the factor of 648 000/π necessary to this approach is sufficiently convenient even for routine use,
convert from radians to arc seconds. it is unnecessary to use an approximate method which is valid
35 The first two relations are the sine rule for angle N of triangle ABN of only for small distances.
Fig. 1. The last relation is obtained, for example, by substituting for sin α′
from (7). (The tables are shown on the following pages.)
36 These are Napier’s analogies for angle N of triangle ABN .
8
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.
n vertex φmax
ia
C
rid
• B
me
•α
αAB desic BA
g eo
Greenwich
al
A
b
rm
• no
r ma
no
φA l O φB
•
a HA • H a
B
equator
λB
λA
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 360D . 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
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.
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
f = = 1− (1)
a a
b = a (1 − f ) (2)
a 2 − b2 b2
e2 = = 1 − = f (2 − f ) (3)
a2 a2
b2 2
1 − e2 = 2
= 1 − f (2 − f ) = (1 − f ) (4)
a
The second eccentricity e ′ of an ellipsoid is also of use and
a 2 − b2 a2 e2 f (2 − f )
e ′2 = 2
= 2
− 1 = 2
= 2 (5)
b b 1 −e (1 − f )
e ′2
e2 = (6)
1 + e ′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 (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 ν .
a a
ν= 1 = (8)
(1 − e sin φ)
2 2 2
W
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 .
a2 c
ρ= 3 = (10)
b (1 + e ′2 cos2 φ) 2
V3
a2 c
ν= 1 = (11)
b (1 + e ′2 cos2 φ) 2
V
a2 a
c = = (12)
b 1− f
V 2 = 1 + e ′2 cos2 φ (13)
V2 V b
W2 = and W = = V (14)
1 + e ′2
1
(1 + e ′ )2 2
a
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.
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λ
φ +d φ
Q
α • φ
• w
P no parallel α + dα
rm
meridian
al O Q
φ • φ + dφ
ρ dφ
a H α
P ds
equator •
ν cos φ d λ φ
λ λ+ d λ
λ
λ+d λ
( ) ( )
2 2
ds = dp 2 + dm 2 = ν cos φ d λ + ρ d φ (18)
while
dλ dφ
sin α = ν cos φ and cos α = ρ (19)
ds ds
ˆt = dr = dx i + dy j + dz k (21)
ds ds ds ds
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
ˆ, κ>0 (22)
ds
ˆ
db ˆ ˆ
so that is orthogonal to t̂ . But from bˆ•bˆ = 1 it follows that b ˆ • db = 0 so that db is
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
and n̂ and is orthogonal to t̂ , it must be parallel to n̂ . The direction of is opposite n̂
ds
ˆ
db
as it must be to ensure the cross product × ˆt is in the direction of b̂ . Hence
ds
ˆ
db
= −τ n
ˆ, τ>0 (24)
ds
1
We call b̂ the unit binormal vector, τ the torsion, and the radius of torsion. t̂ , n̂ and
τ
b̂ form a right-handed set of orthogonal unit vectors along a space curve.
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.
z r ^
n
k
i j
x y
ˆ d ˆ ˆ
dn ˆ
db ˆ
= (b × t) = ˆ × dt = −τ n
× ˆt + b ˆ × κn
ˆ × ˆt + b ˆ − κˆt
ˆ = τb (25)
ds ds ds ds
Equations (22), (24) and (25) are known as the Frenet-Serret formulae.
dˆt
= κn
ˆ
ds
dbˆ
= −τ n
ˆ (26)
ds
dnˆ ˆ − κˆt
= τb
ds
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).
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 P Q
• B
S CN
Q' A
C
ξ
^
N ^
n
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-Baptiste-
Marie-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.
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.
2
γ •
r
1• r
β r 2 = r cos β
α
x y
r 1 = r cos α
From equations (20) and (22) we may write the unit principal normal vector n̂ of a curve
C as
1 d 2 r x ′′ y ′′ z ′′
ˆ=
n 2
= i+ j + k = ρ x ′′ i + ρ y ′′ j + ρ z ′′ k (27)
κ ds κ κ κ
λ
n
ia
erid
P
^ •
Greenwich m
N
ν l
a
rm
O
no
φ y
H•
x equator
ˆ = ⎜⎛ −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 −y −ν sin φ
= ρ x ′′ ; = ρ y ′′ ; = ρ z ′′
ν ν ν
This leads to
ρ x ′′ ρ y ′′ ρ z ′′
= y = (29)
xν ν ν sin φ
ν
xy ′′ − yx ′′ = 0
d
which can be written as (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 λ
x′ = +
∂φ ds ∂λ ds
(31)
∂y d φ ∂y d λ
y′ = +
∂φ ds ∂λ ds
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φ
ae 2 sin φ cos φ
= −ν sin φ cos λ + cos φ cos λ 3
(1 − e 2 sin2 φ) 2
Similarly
∂y dν
= −ν sin φ sin λ + cos φ sin λ = −ρ sin φ sin λ
∂φ dφ
∂x ∂y
Placing these results, together with the derivatives and into equations (31) gives
∂λ ∂λ
dφ dλ
x ′ = −ρ sin φ cos λ − ν cos φ sin λ
ds ds
dφ dλ
y ′ = −ρ sin φ sin λ + ν cos φ cos λ
ds ds
These values of x ′ and y ′ together with x and y from equations (15) substituted into
equation (30) gives
dλ
ν 2 cos2 φ =C (32)
ds
ν 2 cos2 φ
ds = dλ
C
ds is also given by equation (18) and equating the two and simplifying gives the
differential equation of the geodesic (Thomas 1952)
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.
• node
node •
• vertex
node •
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º.
P0 vertex
φmax •
P
φ •
A B equator A'
• • •
node λ node node A
φmin •
vertex
al
rm
no ν
a
distance w from the axis of revolution ON. The
normal to the ellipsoid at P cuts the major axis at O ψ φ M E
a w
an angle φ (the geodetic latitude) and intersects the
H•
rotational axis at H. The distance PH = ν . The
angle P ′OE = ψ is the parametric latitude
Figure 10: Meridian section of ellipsoid
The Cartesian equation of the ellipse and the
w2 z2
auxiliary circle of Figure 10 are + 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
w = OM = a cos ψ
(35)
z = MP = b sin ψ
w z
Note that writing equations (35) as = cos ψ and = sin ψ then squaring and adding
a b
w2 z2
gives 2
+ 2 = cos2 ψ + sin 2 ψ = 1 which is the Cartesian equation of an ellipse.
a b
From Figure 10
and from the third of equations (15) z = ν (1 − e 2 ) sin φ , hence using equations (35) we
may write
or equivalently by
sin ψ
sin φ = 1 (40)
(1 − e 2 cos2 ψ)
2
These three relationships are useful in the derivation of formulae for geodesic distance and
longitude difference that follow.
cos2 ψ − cos2 ψ0
cos α = (44)
cos ψ
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 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 90°− ψ0
N'
N vertex vertex
α = 90° 90°− ψ 1 A = 90°
α2 A2 H
• •
at cir cl
α 1 s •P A1 σ • P' ( gre e)
90°
sic 2 sic 2
P1 ode P'1 ode
• e • e
αE AE
g
• •
node λ1 node E ω
λ 2 equator 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'
1 and P'
2 on the auxiliary sphere.
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
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α α + dα
• φ + dφ • ψ+ d ψ
ρ dφ
α α
dψ
ds dσ
• •
ν cos φ d λ φ cos ψ dω ψ
λ ω
λ +d λ ω+ d ω
and noting from equation (36) that ν cos φ = a cos ψ , then cancelling terms gives
ds dφ dλ
=ρ =a (49)
dσ dψ dω
dφ
An expression for can be determined as follows.
dψ
tan ψ = (1 − e 2 )2 tan φ
(tan ψ ) = (1 − e 2 )2 tan φ
dψ dφ dψ
1
dφ
and sec2 ψ = (1 − e 2 )2 sec2 φ
dψ
ds ρ cos2 φ
= 1 (53)
d σ (1 − e 2 )2 cos2 ψ
dλ ρ cos2 φ
= 1 (54)
d ω a (1 − e 2 )2 cos2 ψ
cos φ a cos2 φ a2
= and = 2
cos ψ ν cos2 ψ ν
and using the relationships given in equations (4), (10), (11) and (12) we may write
cos2 φ a2 b 2V 2 ρ c a a3 ρ a2
= = ; 1 = = ; 1 = (55)
cos2 ψ ν2 a2 (1 − e 2 ) 2
V 3 b b 2V 3 a (1 − e 2 )2 b 2V 3
e2
2 (
2
V =1+ 1 − e 2 )V 2 cos2 ψ
1 −e
= 1 + e 2V 2 cos2 ψ
ds 1
dλ 1
N'
vertex
90
α = 90°
°−
ψ2
90°−
ψ0
1
ψ
esic
90°−
α2 geod •
H
90°
P'2 − σ1
• 90°
σ
α1
P'1 •
σ1
αE
node •
E
ω1
ω2 equator 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.
90
°−
trigonometry)
ψ0
1
sin (90 )
ψ
sin α1
=
90°−
sin (90 − ψ0 ) sin (90 − ψ1 ) H
− σ1
sin α1 1 90°
or =
cos ψ0 cos ψ1 α1
Note that equation (61) can also be obtained from equation (43) and at the equator where
ψ = 90 and cos ψ = 1 we have
Using Napier's Rules for circular parts in the right-angled spherical triangle P1′N ′ H
and
tan ψ1
tan σ1 = (63)
cos α1
N'
90°− ψ0
90
°−
ψ2
90°− ( 90°− ψ 2 ) ψ2
90° −
ψ0
• 90°− α 2 90°− (σ 1 + σ )
α2 σ) H
P'2 °−(σ 1 +
• 90
sin (mid-part) = product of cos (opposite-parts)
sin ψ2 = cos (90 − (σ1 + σ )) cos (90 − ψ0 )
sin ψ2 = sin (σ1 + σ ) sin ψ0 (64)
Note: 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
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
so that
Let
x = σ1 + σ (67)
ds = a (1 − e 2 cos2 ψ)2 d σ
1
= a (1 − e 2 + e 2 sin2 x sin2 ψ0 )2 dx
ds = a ⎜⎜ + sin 2
x sin 2
ψ0⎟
⎝⎜1 + e ′2 1 + e ′2 ⎠
a 1
1 (1 + e
= ′2 sin2 x sin2 ψ0 )2 dx
(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
where αE is the azimuth of the geodesic at the node or equator crossing, and
1
ds = b (1 + u 2 sin2 x )2 dx (70)
∫ (1 + u sin x )
2 2
s =b 2
dx (71)
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
β (β − 1)(β − 2)(β − 3) (β − n + 1)
Bnβ = (73)
n!
The binomial series (72) is convergent when −1 < x < 1 . In equation (73) n! denotes n-
factorial 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 .
(1 + u 2 sin2 x ) 2
= A + B cos 2x + C cos 4x + D cos 6x + E cos 8x + F cos10x + (79)
or
σ1 +σ σ1 +σ σ1 +σ σ1 +σ
s
= A ∫ dx + B ∫ cos 2x dx + C ∫ cos 4x dx + D ∫ cos 6x dx
b σ σ1 σ1 σ1
1
σ1 +σ σ1 +σ
(82)
+E ∫ cos 8x dx + F ∫ cos10x dx
σ1 σ1
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
σ1 + σ2
and putting σm = (85)
2
then
and
n
sin n (σ1 + σ ) − sin n σ1 = 2 cos n σm sin σ (87)
2
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σ ) +
{
s = b Aσ + B cos 2σm sin σ +
C
2
D
cos 4σm sin 2σ + cos 6σm sin 3σ
3
(88)
E F
+ cos 8σm sin 4σ + cos10σm sin 5σ +
4 5 }
Equation (88) may be modified by adopting another set of constants; defined as
C D E F
B0 = A; B2 = B; B4 = ; B6 = ; B8 = ; B10 = (89)
2 3 4 5
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σ + (90)
+ B2n cos 2n σm sin n σ + }
1 2 3 5 6 175 8 441 10
B0 = 1 + u − u4 + u − u + u −
4 64 256 16384 65536
1 1 15 6 35 8 735 10
B2 = − u2 + u 4 − u + u − u +
4 16 512 2048 65536
1 4 3 6 35 8 105 10
B4 = − u + u − u + u −
128 512 8192 32768
1 5 35
B6 = − u6 + u8 − u 10 +
1536 6144 393216
5 35
B8 = − u8 + u 10 −
65536 262144
7
B10 = − 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σ
(91)
+B8 cos 8σm sin 4σ }
where
1 2 3 5 6 175 8
B0 = 1 + u − u4 + u − u
4 64 256 16384
1 1 15 6 35 8
B2 = − u2 + u 4 − u + u
4 16 512 2048
1 4 3 6 35 8
B4 = − u + u − u (92)
128 512 8192
1 5
B6 = − u6 + u8
1536 6144
5
B8 = − u8
65536
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).
f (σ n )
σ(n +1) = σ n − (93)
( )
f ′ (σ n )
( )
( )
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 (94)
+B8 cos 8σm sin 4σ −
b
d
and the derivative f ′ (σ ) = {f (σ )} is given by
dσ
( )
1
f ′ (σ ) = 1 + u 2 sin2 x
2
(95)
1
(
[Note here that f (σ ) is the result of integrating the function 1 + u 2 sin2 x ) 2
with respect
to dx; so then the derivative f ′ (σ ) must be the original function.]
s
An initial value, σ(1) ( σ for n = 1 ) can be computed from σ(1) = 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.
vertex
90
α = 90°
°−
dω
ψ0
1
ψ P'2
90°−
•
• H
9 0°
c
αi desi
• geo
• P'i+1
α1 P'i
dσ
P'1 •
σ1
αE
node •
E
ω1
equ ator 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′
dω
ψi
°−
90
cos ψi dω
ic
Q geodes
αi •
P'i+1
• dσ
P'i
Figure 15
sin αi
dω = dσ (96)
cos ψi
and substituting equation (97) into (96) gives the relationship (dropping the subscript i)
cos ψ0
dω = dσ (98)
cos2 ψ
(1 − e 2 cos2 ψ) 2
d λ = cos ψ0 dσ (99)
cos2 ψ
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σ (100)
⎢ cos2 ψ cos2 ψ ⎥
⎣ ⎦
1
Equation (100) can be simplified by expanding (1 − e 2 cos2 ψ)2 using the binomial series
(72)
1 ∞
(1 − e 2 cos2 ψ)2 = ∑ Bn2 (−e 2 cos2 ψ)
1 n
n =0
1
and from the previous development, the binomial coefficients Bn2 form a sequence
1 1⋅1 1⋅1⋅ 3 1⋅1⋅ 3 ⋅ 5 1⋅1⋅ 3 ⋅ 5 ⋅ 7 1⋅1⋅ 3 ⋅ 5 ⋅ 7 ⋅ 9
1, , − , , − , , − ,
2 2⋅4 2⋅4⋅6 2 ⋅ 4 ⋅ 6 ⋅ 8 2 ⋅ 4 ⋅ 6 ⋅ 8 ⋅ 10 2 ⋅ 4 ⋅ 6 ⋅ 8 ⋅ 10 ⋅ 12
(1 − e 2 cos2 ψ) 2
1 1 1 1
2
= 2
− e 2 − e 4 cos2 ψ − e 6 cos4 ψ
cos ψ cos ψ 2 8 16
5 8 7 10
− e cos6 ψ − e cos8 ψ + (102)
128 256
1
Now, subtracting 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
128
e cos6 ψ −
7 10
256
e cos8 ψ + }d σ (103)
d ω − d λ− =
e2
2
1
{ 1
cos ψ0 1 + e 2 cos2 ψ + e 4 cos4 ψ
4 8
5
+ e 6 cos6 ψ +
64
7 8
128
e cos8 ψ + }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
d ω − d λ− =
e2
2 {1
cos ψ0 1 + e 2 (1 − sin2 ψ0 sin2 x )
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
e2 ⎧⎪ 1 ⎛ ⎡1 1 ⎤⎞
d ω − d λ− = 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 ⎥
8 ⎢⎣ 2 2 ⎥⎦
⎡3 1 1 ⎤⎞
+ sin 4 ψ0 ⎢ + cos 4x − cos 2x ⎥ ⎟⎟⎟
⎣⎢ 8 8 2 ⎦⎥ ⎠
5 ⎡1 1 ⎤
+ e 6 (1 − 3 sin2 ψ0 ⎢ − cos 2x ⎥
64 ⎢⎣ 2 2 ⎥⎦
⎡3 1 1 ⎤
+ 3 sin 4 ψ0 ⎢ + cos 4x − cos 2x ⎥
⎣⎢ 8 8 2 ⎥⎦
⎡5 1 3 15 ⎤⎞
− 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 ⎦⎥
⎡3 1 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 (106)
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
e2
d ω − dλ = cos ψ0 {C 0 + C 2 cos 2x + C 4 cos 4x + C 6 cos 6x + C 8 cos 8x + }dx (111)
2
where the coefficients C 0 , C 2 , C 4 , etc. are
The longitude differences (spherical ω minus geodetic λ ) are given by the integral
x =σ1 +σ
e2
Δω − Δλ =
2
cos ψ0 ∫ {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.
e2
{ C
Δω − Δλ = cos ψ0 C 0σ + C 2 cos 2σm sin σ + 4 cos 4σm sin 2σ
2 2
(118)
C C
+ 6 cos 6σm sin 3σ + 8 cos 8σm sin 4σ +
3 4 }
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
e2 = 2f − f 2
e4 = 4f 2 − 4f 3 + f 4
(121)
e 6 = 8 f 3 − 12 f 4 + 6 f 5 − f 6
e 8 = 16 f 4 − 32 f 5 + 24 f 6 − 8 f 7 + f 8
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 ⎠
+ (124)
Now for any geodetic ellipsoid e 8 2.01e-009 and f 4 1.26e-010 , and since terms greater
8
than e have been ignored in the development of equation (123) then no additional errors
will be induced by ignoring terms greater than f 4 in equation (124). Hence we define
e2
2 {1
C 0 ≡ f 1 − f (1 + f + f 2 ) cos2 αE
4
3 ⎛ 9 ⎞
+ f 2 ⎜⎜1 + f ⎟⎟ cos 4 αE
16 ⎝ 4 ⎠
−
25 3
128
f cos6 αE } (125)
e2 ⎧1 1 2⎛ 9 ⎞ 4 75 3 ⎫
C2 ≡ f ⎪
⎨ f (1 + f + f ) cos αE − f ⎜⎜1 + f ⎟⎟ cos αE +
2 2
f cos6 αE ⎪
⎬ (126)
2 ⎪
⎪4
⎩ 4 ⎝ 4 ⎠ 256 ⎪
⎪
⎭
e2 ⎧ 1 2⎛ 9 ⎞ 4 15 3 ⎫
C4 ≡ f ⎪
⎨ f ⎜⎜1 + f ⎟⎟ cos αE − f cos6 αE ⎪
⎬ (127)
4 ⎪ 32 ⎝
⎪
⎩ 4 ⎠ 256 ⎪
⎪
⎭
e2
6
C6 ≡ f {5 3
768
f cos6 αE } (128)
Δω − Δλ = 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
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.
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.
The starting point here is equation (91) [Rainsford's equation for distance] that can be re-
arranged 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σ (131)
B0
or
s
σ = +Δσ (132)
bB0
where
allows us to write
2 3
1 ⎛1 3 ⎞⎟ ⎛ 1 2 3 ⎞⎟ ⎛ 1 2 3 ⎟⎟⎞
= 1− ⎜⎜ u 2 − u 4 + + ⎜ u − u4 + − ⎜ u − u4 +
B0 ⎝ 4 64 ⎠⎟ ⎝⎜ 4 64 ⎠⎟ ⎝⎜ 4 64 ⎠
4
⎛1 3 ⎞⎟
+ ⎜⎜ u 2 − u 4 + ⎟⎠ −
⎝4 64
1 7 15 6 579 8
= 1 − u2 + u4 − u + u −
4 64 256 16384
and using this result gives
B2 ⎛ 1 1 15 6 35 8 ⎞⎛
⎟ ⎜⎜1 − 1 u 2 + 7 u 4 − 15 u 6 + 579 u 8 − ⎟⎞
= ⎜⎜− u 2 + u 4 − u + u − ⎟ ⎟⎠
B0 ⎝ 4 16 512 2048 ⎠⎝ 4 64 256 16384
1 1 37 6 47 8
= − u2 + u4 − u + u −
4 8 512 1024
Similarly, the other ratios are obtained and
B2 1 1 37 6 47 8
= − u2 + u4 − u + u −
B0 4 8 512 1024
B4 1 4 1 6 27 8
= − u + u − u +
B0 128 128 4096
(134)
B6 1 1
= − u6 + u8 −
B0 1536 1024
B8 5
= − u8 +
B0 65536
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
B8
last term in equations (131) and (133) is cos 8σm sin 4σ = 1.5739827e-013 radians .
B0
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
24 ⎜⎝ B0 ⎠⎟ ⎪
⎪
⎪
⎭
We may now express the great circle arc length σ as
s
σ = +Δσ (140)
bA′
where
{
Δσ = B ′ sin σ cos 2σm +
1 ⎡
4
B ′ ⎢⎣ cos σ (2 cos2 2σm − 1)
(141)
1 ⎤⎪ ⎫
− B ′ cos 2σm (−3 + 4 sin2 σ )(−3 + 4 cos2 2σm )⎥⎬
6 ⎥⎦ ⎪
⎪
⎭
and
−B2 1 1 37 6 47 8
B′ = = 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
=
1024
( )
256 + u 2 (−128 + u 2 (74 − 47u 2 )) (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.
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:”
Δω − Δλ = 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
A0′ = 1 − C
where
f
C = 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
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
A2′
Ignoring terms greater than f 3 (greater than f 2 in ) we have
A0′
A2′ 1 1 3
≡ f cos2 αE + f 2 cos2 αE − f 2 cos4 αE
A0′ 4 4 16
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
A4′
and ignoring terms greater than f 3 (greater than f 2 in ) we have
A0′
A4′ 1 2 A4′ 1 2
≡ f cos 4 αE and 2 = f cos 4 αE
A0′ 32 A0′ 16
Now
1 2 1 3 3
C2 = 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
1 2 A′
C2 ≡ f cos 4 αE = 2 4
16 A0′
{
Δλ = Δω − (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
f
C = cos2 αE (4 + f (4 − 3 cos2 αE )) (149)
16
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.
e2
e ′2 2nd-eccentricity of ellipsoid squared, e ′2 =
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).
α1, α2 azimuths of the geodesic, clockwise from north 0 to 360 ; α2 in the direction
P1P2 produced.
u 2 = e ′2 sin2 ψ0
tan ψ1
σ1 angular distance from equator to P1′ on the auxiliary sphere, 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 + σ
[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 ]
e2
With the ellipsoid constants a, f , b = a (1 − f ), e 2 = f (2 − f ) and e ′2 = and given
1 − e2
φ1, λ1, α1 = α12 and s
tan ψ1 = (1 − f ) tan φ1
u 2 = e ′2 sin2 ψ0
4. Compute angular distance σ1 on the auxiliary sphere from the equator to P1′ from
tan ψ1
tan σ1 =
cos α1
u2
A′ = 1 +
16384
(
4096 + u 2 (−768 + u 2 (320 − 175u 2 )) )
u2
B′ =
1024
(
256 + u 2 (−128 + u 2 (74 − 47u 2 )) )
7. 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′
s
The first approximation for σ in this iterative solution can be taken as σ
bA′
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 )
sin ψ1 cos σ + cos ψ1 sin σ cos α1
tan φ2 = 2
(1 − f ) sin2 αE + (sin ψ1 sin σ − cos ψ1 cos σ cos α1 )
{
Δλ = Δω − (1 − C ) f sin αE σ + C sin σ ⎡⎢⎣ cos 2σm + C cos σ (−1 + 2 cos2 2σm )⎤⎥⎦ }
12. Compute azimuth α2 from
sin αE
tan α2 =
cos ψ1 cos σ cos α1 − sin ψ1 sin σ
α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
Parametric Latitude of P1
psiP1 = -44 54 13.636256 (D M S)
Latitude of P2
latP2 = -10 0 0.000000 (D M S)
Vincenty's constant C
C = 8.385253517062e-004
Longitude of P2
lon2 = 133 0 0.000000 (D M S)
Reverse azimuth
alpha21 = 181 14 22.613213 (D M S)
>>
[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]
e2
With the ellipsoid constants a, f , b = a (1 − f ), e 2 = f (2 − f ) and e ′2 = and given
1 − e2
φ1, λ1 and φ2 , λ2
tan ψ = (1 − f ) tan φ
Δλ = λ2 − λ1
cos ψ0 = sin αE
u 2 = e ′2 sin2 ψ0
u2
A′ = 1 +
16384
(
4096 + u 2 (−768 + u 2 (320 − 175u 2 )) )
u2
B′ =
1024
(
256 + u 2 (−128 + u 2 (74 − 47u 2 )) )
7. Compute geodesic distance s from
{
Δσ = B ′ sin σ cos 2σm +
1 ⎡
4
B ′ ⎢⎣ cos σ (2 cos2 2σm − 1)
1 ⎤⎫⎪
− B ′ cos 2σm (−3 + 4 sin2 σ )(−3 + 4 cos2 2σm )⎥⎬
6 ⎦⎪
⎥ ⎪
⎭
s = bA (σ − Δσ )
α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
Reverse azimuth
alpha21 = 297 48 47.310738 (D M S)
>>
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.
P1 P2 azimuth α distance s
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
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: [email protected]
%
% 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)
%---------------------------------------
% latitude and longitude of P1 (degrees)
%---------------------------------------
lat1 = -45;
lon1 = 132;
%------------------------------------
% azimuth of geodesic P1-P2 (degrees)
%------------------------------------
az12 = 1 + 43/60 + 25.876544/3600;
%
% azimuth of geodesic P1-P2 (radians)
alpha1 = az12/d2r;
%------------------
% geodesic distance
%------------------
s = 3880275.684153;
% [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);
%-------------------------------------------------
% 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 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\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');
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: [email protected]
%
% 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
%---------------------------------------
% latitude and longitude of P1 (degrees)
%---------------------------------------
lat1 = -10;
lon1 = 110;
%---------------------------------------
% latitude and longitude of P2 (degrees)
%---------------------------------------
lat2 = -45;
lon2 = 155;
s1 = sin(psi1);
s2 = sin(psi2);
c1 = cos(psi1);
c2 = cos(psi2);
%-------------------------------------------------
% 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\nReverse azimuth');
[D,M,S] = DMS(az21);
fprintf('\nalpha21 = %3d %2d %9.6f (D M S)',D,M,S);
fprintf('\n\n');
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
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.
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.
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.
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.
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.
n vertex φmax
dia
C
e ri
• B
•α
hm
αAB de s ic BA
geo
Greenwic
al
A
• b
rm
no
rm
no
a
φA l O φB
•
a HA • H a
B
equator
λB
λA
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.
3
a (1 − e 2 ) a
ρ= and ν= (3)
(1 − e sin φ ) (1 − e sin φ )
3 1
2 2 2 2 2 2
ρ dφ
α
and Q are two points on the surface ds
P
connected by a curve of length ds with •
azimuth α at P. The meridians λ and ν cos φ dλ φ
λ + d λ , and parallels φ and φ + dφ form
λ
a differential rectangle on the surface of λ+dλ
the ellipsoid.
From Figure 2 the following Fig. 2: Differential rectangle on ellipsoid
relationships can be obtained
ds sin α = ν cos φ d λ and ds cos α = ρ dφ (4)
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 Alexis-
Claude 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 .
P0 vertex
φ max •
s
P
φ •
∆λ
A B A'
• equator •
•
node λ λ0 node node A
∆ λ4
φ min •
vertex
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.
b a
Using this relationship
w = OM = a cosψ and z = MP = b sin ψ (6)
dw dz
and differentiating equations (6) with respect to ψ gives = − a sinψ , = b cosψ
dψ dψ
dz dz dψ b
and the chain rule gives = = − cotψ .
dw dψ dw a
6
dz
Now by definition, is the gradient of the tangent and from Figure 4 we may write
dw
= − tan ( 90 − φ ) = − cot φ . Equating the two expressions for dz dw gives a
dz
dw
relationship between ψ and φ as
b
tanψ = tan φ = (1 − f ) tan φ (7)
a
From equation (6) and Figure 4, w = a cosψ = ν cos φ and using equation (3) gives
cos φ
cosψ = (8)
(1 − e sin 2 φ )
2 12
Alternatively, using the trigonometric identity sin 2 A + cos 2 A = 1 , equation (8) can be
written as
sinψ
sin φ = (9)
(1 − e cos 2 ψ )
2 12
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
ds dλ
Differential equations for distance and longitude difference
dψ dψ
From equation (9) we may write sin 2 ψ = (1 − e 2 cos 2 ψ ) sin 2 φ and differentiating
implicitly and re-arranging gives
= (13)
dψ (1 − e 2 cos 2 ψ ) sin φ cos φ
ds
Using the chain rule and equation (4) gives an expression for the derivative as
dψ
= = (14)
dψ dφ dψ cos α (1 − e 2 cos 2 ψ ) sin φ cos φ
b2
Using equations (7), (8), (9) and the fact that 1 − e 2 = , we may write
a2
(1 − e2 cos2 ψ )
12
ds
= a cosψ (15)
dψ ( cos2 ψ − cos2 ψ 0 )
12
Similarly, the chain rule and equations (4) and (15) gives
(1 − e2 cos2 ψ )
12
d λ d λ ds sin α
= = a cosψ (16)
dψ ds dψ ν cos φ ( cos2 ψ − cos2 ψ 0 )
12
Using equation (10) and the relationship a cosψ = ν cos φ , we may write
d λ cosψ 0 (1 − e cos ψ )
2 2 12
= (17)
dψ cosψ ( cos 2 ψ − cos 2 ψ )1 2
0
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 .
du (1 − e cos ψ )
2 2 12
ds
=a (18)
dψ dψ ( u 2 − u 2 )1 2
0
8
du a (1 − e cos ψ )
2 2 12
ds ds
The chain rule gives = = but using cos 2 ψ = 1 − sin 2 ψ
du dψ dψ (u 2 − u 2 )
12
0
and equations (1) and (2) we are able to obtain, after some manipulation
ds b (1 + ε u )
2 12
= (19)
du ( u 2 − u 2 )1 2
0
p = u0
(1 + ε p ) 2 12
s=b ∫ u −p dp (20)
p =u ( )
2
0
2 12
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
3 − 2n 12
Bn2 =
Bn −1 , n ≥ 1 and B02 = 1
1
1
(22)
2n
Equation (20) can now be written as
u0 ∞ ∞ u0 ∞
1 p 2n
s = b∫ ∑B ε p dp = b∑ Bn ε ∫ dp = b∑ ε n Bn2 I n
1 1 1
n 2n n
2 2
(23)
(u ) (u )
n
2 12 2 12
u
2
0 −p n =0 n =0 u
2
0 −p n =0
u0
p 2n
where In = ∫ dp , for n ≥ 0 (24)
(u − p2 )
2 12
u 0
9
p = u0
I n = − ⎡⎢ p 2 n −1 ( u02 − p 2 ) − ∫ ( u02 − p 2 ) ( 2n − 1) p 2 n − 2 dp ⎤⎥
12 12
⎣ ⎦ p =u
p 2n−2
u0
= u 2 n −1 ( u02 − u 2 ) + ( 2n − 1) ∫ ( u02 − p 2 )
12
dp
u (u 2
0 −p 2 12
)
= u 2 n −1 ( u02 − u 2 ) + ( 2n − 1) ⎡⎣u02 I n −1 − I n ⎤⎦
12
(25)
and
2n I n = u 2 n −1 ( u02 − u 2 ) + ( 2n − 1) u02 I n −1
12
for n = 1, 2,3,… (26)
( )
u0
2 −1 2
I 0 = (1 u0 ) ∫ 1 − [ p u0 ] dp (30)
u
0
⎛u⎞
I0 = ∫ ( −1) dθ = arccos ⎜ ⎟ = arccos U (31)
⎛u ⎞
θ = arccos⎜ ⎟
⎝ u0 ⎠
⎝ u0 ⎠
Using these results, the distance s along the geodesic between P and the vertex P0 is
⎧ 1 ∞ 1 ⎫
s = b ⎨ I 0 + ∑ ε nu02 n Bn2 J n ⎬
1
⎩ 2 n =1 n ⎭
b b b
= bI 0 + ε u02 B12 J1 + ε 2u04 B22 J 2 + ε 3u06 B32 J 3 +
1 1 1
2 4 6
= D0 + D1 + D2 + D3 + (32)
10
Formula for computing difference in longitude ∆λ between P and P0
Using the binomial series we may write equation (17) as
dλ ∞
cos 2 n −1 ψ
= cosψ 0 ∑ ( −1) e 2 n Bn2
n 1
(33)
dψ ( cos2 ψ − cos2 ψ 0 )
12
n=0
( cos 2 θ ) (1 − p2 )
n n
cos 2 n θ
dp = (1 − p 2 ) dp
n −1
dθ = cos θ dθ =
cos θ cos θ2
1− p 2
and
( cos θ − cos ψ ) (
= 1 − sin 2 θ − (1 − sin 2 ψ 0 ) ) = ( u02 − p 2 )
12 12 12
2 2
0
giving
Ln =∫
(1 − p )
u0 2 n −1
dp, n ≥ 1 (36)
(u − p )
u
2
0
2 12
Using the binomial series, the numerator of the integrand can be expanded into a
n −1
polynomial (1 − p 2 )
n −1
= ∑ ( −1) Bmn −1 p 2m , where the binomial coefficients Bmn −1 are
m
m =0
given by
n − m n −1
Bmn −1 =
Bm −1 for m = 2,3, 4,… (37)
m
with an initial value B1n −1 = n − 1 and noting that B0n −1 = 1 .
Using these results, equation (36) becomes
n −1 u0 n −1
p 2m
Ln = ∑ ( −1) Bmn −1 ∫ dp = ∑ ( −1) Bmn −1 I m
m m
(38)
m=0 u ( u02 − p )
2 12
m =0
u0
p 2m
where Im = ∫ dp , for m ≥ 0 (39)
( u02 − p 2 )
12
u
11
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
⎫
∆λ = cosψ 0 ⎨ L0 + ∑ ( −1) e 2 n Bn2 ∑ ( −1) Bmn −1 I m ⎬
n 1 m
(40)
⎩ n =1 m =0 ⎭
Equation (40) can expanded as
⎧ ⎡ ∞
1 ⎤
∆λ = cosψ 0 ⎨ L0 + ⎢ −e2 B12 + ∑ ( −1) e2 n Bn2 ⎥ I 0
1 n
⎩ ⎣ n=2 ⎦
(41)
∞ n −1
⎫
+ ∑ ( −1) e Bn ∑ ( −1) n −1
n 1 m
2n 2
B I ⎬
m m
n=2 m =1 ⎭
and then simplified by use of the binomial series, where
∞ ∞ ∞
(1 − e2 ) = ∑ ( −1) e 2 n Bn2 = 1 + ∑ ( −1) e 2 n Bn2 = 1 − e 2 B12 + ∑ ( −1) e 2 n Bn2
12 n 1 n 1 1 n 1
(42)
n=0 n =1 n=2
The terms in [ ] of equation (41) are the last two terms on the right-hand side of
equation (42) and using this equivalence gives
⎧
( ) ⎫
∞ n −1
∆λ = cosψ 0 ⎨ L0 + 1 − e 2 − 1 I 0 + ∑ ( −1) e 2 n Bn2 ∑ ( −1) Bmn −1 I m ⎬
n 1 m
⎩ n=2 m =1 ⎭
⎧⎪ ( −1) ⎫⎪
( )
m
∞ n −1
= cosψ 0 ⎨ L0 + 1 − e −1 I0 + ∑ ( −1) e Bn ∑ u02 m Bmn −1 J m ⎬
n 1
2 1 2n
2
2
(43)
⎪⎩ n=2 m =1 m ⎪⎭
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
ψ0 ψ0
1 sec 2 θ
L0 = ∫ cos θ ( cos 2 θ − cos 2 ψ 0 )
dθ = ∫ dθ (44)
( sin ψ 0 − tan θ cos ψ 0 )
12 2 2 2 12
θ =ψ θ =ψ
⎛ cos 2 ψ 0 ⎞
sin ψ 0 − tan θ cos ψ 0 = sin ψ 0 ⎜ 1 − tan θ
2 2 2 2
⎟
2
⎝ sin 2 ψ 0 ⎠
= sin 2 ψ 0 (1 − tan 2 θ cot 2 ψ 0 )
= sin 2 ψ 0 (1 − x 2 )
so that
tanψ 0
1
dx
L0 =
sinψ 0 ∫ψ
tan 1 − x2
(45)
x=
tanψ 0
12
dx ⎧ arcsin x
since ∫ 1− x
= ⎨π
2
⎩ 2 − arccos x
, then using the second result gives
1
dx ⎛ tanψ ⎞
L0 = secψ 0 ∫ψ
tan 1− x
= secψ 0 arccos ⎜
2
⎟
⎝ tanψ 0 ⎠
(46)
x=
tanψ 0
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 + } (47)
⎧L for n = 0
⎪ 0
where
⎪
⎪ 1
(
M n = ⎨ 1 − e2 − 1 I 0 ) for n = 1 (48)
⎩⎪ 2 Bn ( −1) e K n for n ≥ 2
1 n 2n
2
( −1)
m
n −1
and Kn = ∑ u02 m Bmn −1 J m for n = 2,3, 4,… (49)
m =1 m
(1 − e cos θ )
12
ψ0 2 2
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.
(1 − e cos ψ )
12
ψ0 2 2
4 ( ∆λ ) ≤ 4 cosψ ∫ dθ
0
= 4 cosψ (1 − e cos ψ ) L 2 2 12
0 0 0 ψ =0
= 2π (1 − e cos ψ ) 2 2 12
0 (51)
13
while on the other hand
4 ( ∆λ4 ) ≥ 4 cosψ 0
ψ0
(1 − e )
2 12
∫
θ =0 cos θ ( cos 2 θ − cos 2 ψ 0 )
12
dθ
= 2π (1 − e 2 )
12
(52)
Combining these inequalities gives the bounds for the quantity 4 ( ∆λ4 ) as
2π (1 − e2 ) ≤ 4 ( ∆λ4 ) ≤ 2π (1 − e 2 cos 2 ψ 0 )
12 12
(53)
Therefore, after a single revolution, 4 ( ∆λ4 ) < 2π when 0 < ψ 0 < 90 . Note that when
ψ 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).
14
Table 1: Ellipsoid and geodesic constants and binomial coefficients for
equations (32) and (47)
1
n e2 n εn u02 n Bn2
1 6.694380022901e-003 6.739496775479e-003 0.544147071727 0.500000000000
2 4.481472389101e-005 4.542081678669e-005 0.296096035669 -0.125000000000
3 3.000067923478e-007 3.061134482735e-007 0.161119790759 0.062500000000
4 2.008359477428e-009 2.063050597570e-009 0.087672862339 -0.039062500000
5 1.344472156450e-011 1.390392284997e-011 0.047706931312 0.027343750000
6 9.000407545482e-014 9.370544321391e-014 0.025959586974 -0.020507812500
7 6.025214847044e-016 6.315275323850e-016 0.014125833235 0.016113281250
8 4.033507790574e-018 4.256177768135e-018 0.007686530791 -0.013092041016
Table 2: Recurrence formula values and distance components for equation (32)
n Jn Dn
1 1.563072838216 8.541841303930e+006 8541841.303930 m
2 2.355723441968 9.109578467516e+003 9109.5784675
3 2.945217495733 -6.293571169346e+000 -6.2935712
4 3.436115617261 9.618619108010e-003 0.0096186
5 3.865631515581 -1.929070816523e-005 -0.0000193
6 4.252194740421 4.456897529564e-008 0.0000000
7 4.606544305836 -1.123696751599e-010 -0.0000000
8 4.935583185013 3.006580650377e-013 0.0000000
sum 8.550944598425e+006 s = 8550944.598425 m
Table 3: Recurrence formula values and longitude components for equation (47)
n Mn
Jn
0 2.097333540996e+000
1 1.563072838216 -4.505315819380e-003
2 2.355723441968 2.382298926901e-006
3 2.945217495733 1.267831357153e-008
4 3.436115617261 6.525291638252e-011
5 3.865631515581 3.431821056093e-013
6 4.252194740421 1.852429353592e-015 ∆λ = cosψ 0 ( sum ) ≅ 1.413013969112 radians
7 4.606544305836 1.023576994037e-017
= 80.959736823113 degrees
8 4.935583185013 5.769507252421e-020
sum 2.092830620219e+000 = 80 57′ 35.052563′′
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.
α2
P2 •
α1 = α12 •
∆λ 2 α21
s2 P0 vertex P1 •
φmax P2 •
•
s s1
P1 s4
φ1 •
s3
∆λ1
A B equator A'
• • •
node λ1 λ0 node node A
∆λ4
φmin •
vertex
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
⎧ s − s1 if geodesic is heading towards P0
4. Compute s2 = ⎨ . If s2 > 0 then P2 is
⎩ 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 )
5. Compute ψ 2 by iteration. An approximate value ψ 2′ is found from equations (32)
s ⎛ sinψ ⎞
by taking the first term only; hence = I 0 = arccos ⎜ ⎟
b ⎝ sinψ 0 ⎠
⎛s ⎞
and sinψ 2′ = sinψ 0 cos ⎜ 2 ⎟ .
⎝b⎠
ds u02 − u 2
Now a re-arrangement of the differential equation (19) gives du =
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 ).
6. 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.
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. 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 .
2. 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 .
3. Compute ψ 0 by iteration. Approximations ∆λ1′ and ∆λ2′ can be obtained from
⎛ tanψ ⎞
equation (47) noting that M 0 = secψ 0 arccos ⎜ ⎟ and ignoring terms
⎝ tanψ 0 ⎠
M 1 , M 2 , M 3 ,…
⎛ 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)
f (ψ 0 )
(ψ 0 )n +1 = (ψ 0 )n − (54)
f ′ (ψ 0 )
where f ′ (ψ 0 ) is the derivative of f (ψ 0 ) . An initial value of ψ 0 can be computed
from equation (11).
4. 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: [email protected]
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
b
wi
en
P
Gre
•
O•
a φ a
H• y
x equator
p
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.
x 2 + y2 z 2
+ 2 =1 (1)
a2 b
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
e2 = = f (2 − f )
a2 (2)
a −b
f =
a
and the polar radius c, and the second-eccentricity squared e ′2 are defined by
a2 a
c = =
b 1− f
a − b2
2 f (2 − f ) e2
(3)
′
e =2
= =
b2 (1 − f ) 1 − e
2 2
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 z-
axis 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 < b ) (4)
a 2 b2
z
np
• P
b
al
rm
φ p
no
a O
•
C
H •
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 ⎞⎟
2 ⎜
x + y = a ⎜1 − 2 ⎟⎟ = p 2
2
⎜⎝
2
b ⎠
(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 ⎤
⎢ ⎥
⎡
⎢r11 r12 r13 ⎥
⎤
⎢ ⎥
⎢y ⎥ = R ⎢y ⎥⎥
′ ⎢ where R = ⎢⎢r21 r22 r23 ⎥⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ ⎥ z r r r
⎢⎣ z ′ ⎦⎥ ⎣⎢ ⎦⎥ ⎣⎢ 31 32 33 ⎦⎥
Normal Section.doc 4
⎡ ⎤ ⎡x ⎤ ⎡r r r ⎤ ⎢⎡x ′⎥⎤
⎡x ⎤
⎢ ⎥ ⎢x ′⎥ ⎢ ⎥ ⎢ 11 21 31 ⎥ ⎢ ⎥
⎢y ⎥ = R−1 ⎢⎢y ′ ⎥⎥ and ⎢y ⎥ = ⎢r r r ⎥ ⎢y ′ ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ 12 22 32 ⎥ ⎢ ⎥
⎢ ⎥ ⎢z ′ ⎥ ⎢ ⎥ ⎢ ⎥
⎢⎣ z ⎥⎦ ⎢⎣ ⎥⎦ ⎢⎣ 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 (r11r31 + r12r32 ) x ′z ′ + 2 (r21r31 + r22r32 ) y ′z ′
2
⎪⎪
⎪
⎩ ⎪
⎭
1
+ 2 {r132 x ′2 + r232 y ′2 + r332 z ′2 + 2r13r23x ′y ′ + 2r13r33x ′z ′ + 2r23r33y ′z ′} = 1 (6)
b
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.,
⎧⎪
⎪
⎨
⎪
⎪
⎩
r112 + r122
a 2
+
r132 ⎫⎪
b 2
⎪
⎬
⎪
⎪
⎭
x ′ 2
+ {
2
r11r21 + r12r22 r13r23
a 2
+
b 2
x ′y }
′ +
⎧⎪⎪r212 + r222
⎨
⎪
⎩⎪ a 2
+
r232 ⎫⎪⎪ 2
b 2 ⎬
⎪
⎪⎭
y′
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
north pole
P1
normal section P2 P1 of
nor
ma
normal section P1P2 l
no r
ma
φ1
O centre of ellipsoid
l
a
φ2
H1
a
H2
equ
a tor
of el
lipsoid
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
λ
N U
ch
wi b
en
P
Gre
• E
O•
a φ a
H• y
x equator
p
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
ν= (10)
1 − e 2 sin 2 φ
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 ⎤ ⎡x − x ⎤
⎢ ⎥ ⎢ 0⎥
⎢E ⎥ = R ⎢y − y ⎥ (11)
⎢ ⎥ φλ ⎢ 0⎥
⎢ ⎥ ⎢ ⎥
⎢⎣N ⎥⎦ ⎢⎣ z − z 0 ⎥⎦
Normal Section.doc 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.
x'
sλ
y
co
sin
y λ ⎡x ′⎤ ⎡ cos λ sin λ 0⎤ ⎡x ⎤
sin
λ
z (z')
y ⎢ ⎥ ⎢ ⎥⎢ ⎥
x ⎢y ′ ⎥ = ⎢− sin λ cos λ 0⎥ ⎢y ⎥
⎢ ⎥ ⎢ ⎥⎢ ⎥
x
λ ⎢ ′⎥ ⎢ ⎥⎢ ⎥
co
⎢⎣ z ⎥⎦ ⎢⎣ 0 0 1⎥ ⎢ z ⎥
sλ
•P ⎦⎣ ⎦
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'
φ
P s in
x" x'
•
z" ⎢ ⎥ ⎢ ⎥⎢ ⎥
x'
si n
⎢y ′′ ⎥ = ⎢ 0 ⎥ ⎢y ′ ⎥
co
⎢ ⎥ ⎢ 1 0 ⎥⎢ ⎥
sφ
⎢ ′′ ⎥ ⎢ ⎥⎢ ⎥
φ ⎢⎣ z ⎥⎦ ⎢⎣− sin φ 0 cos φ ⎥⎦ ⎢⎣z ′ ⎥⎦
s
x' φ co Rφ
z'
y'(y")
Normal Section.doc 8
Performing the matrix multiplication in equation (12) gives
⎡ cos φ cos λ cos φ0 sin λ0 sin φ0 ⎤⎥
⎢ 0 0
⎢ ⎥
R φλ = ⎢ − sin λ0 cos λ0 0 ⎥ (13)
⎢ ⎥
⎢− sin φ0 cos λ0 − sin φ0 sin λ0 cos φ0 ⎥⎥
⎣⎢ ⎦
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 ⎥ (14)
⎢ ⎥ ⎢ 0⎥
⎢ ⎥ ⎢ ⎥
U
⎢⎣ ⎥⎦ ⎢⎣ z − z 0 ⎦⎥
⎡ − sin λ cos λ0 0 ⎤⎥
⎢ 0
⎢ ⎥
where R = ⎢− sin φ0 cos λ0 − sin φ0 sin λ0 cos φ0 ⎥ (15)
⎢ ⎥
⎢ cos φ0 cos λ0 cos φ0 sin λ0 sin φ0 ⎥⎥
⎣⎢ ⎦
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 ⎥ (16)
⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥
⎢⎣ ΔU ⎥⎦ ⎢⎣ Δz ⎥⎦
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
ΔE
tan α12 = (17)
ΔN
By inspection of equations (15) and (16) we may write the equation for normal section
azimuth between points P1 and P2 as
where Δx = x 2 − x 1 , Δy = y2 − y1 and Δz = z 2 − z 1
x 2 + y2 z 2
+ 2 =1 (19)
a2 b
a2 2
x + y + 2 z = a2
2 2
(20)
b
a2
Re-arranging equation (3) gives 2
= e ′2 + 1 and substituting this result into equation (20)
b
and re-arranging gives an alternative expression for the Cartesian equation of an ellipsoid
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 ⎥ (22)
⎢ ⎥ ⎢ 0⎥
⎢ ⎥ ⎢ ⎥
U
⎢⎣ ⎥⎦ ⎢⎣ z − z 0 ⎥⎦
Normal Section.doc 10
where the orthogonal rotation matrix R is given by equation (15) as
⎡r r ⎤ ⎡ 0 ⎤⎥
⎢ 11 12 r13 ⎥ ⎢ − sin λ0 cos λ0
R = ⎢⎢r21 r22 r23 ⎥⎥ = ⎢⎢− sin φ0 cos λ0 − sin φ0 sin λ0 cos φ0 ⎥⎥ (23)
⎢ ⎥ ⎢ ⎥
⎢⎣r31 r32 r33 ⎥⎦ ⎢⎣ cos φ0 cos λ0 cos φ0 sin λ0 sin φ0 ⎥
⎦
and
x 0 = ν 0 cos φ0 cos λ0
y 0 = ν 0 cos φ0 sin λ0 (24)
( 2
z 0 = ν 0 1 − e sin φ0)
with the radius of curvature of the prime vertical section
a
ν0 = (25)
1 − e 2 sin2 φ0
⎡x ⎤ ⎡ E ⎤ ⎡x ⎤
⎢ ⎥ ⎢ ⎥ ⎢ 0⎥
⎢y ⎥ = R−1 ⎢N ⎥ + ⎢y ⎥ (26)
⎢ ⎥ ⎢ ⎥ ⎢ 0⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢⎣ z ⎥⎦ ⎢⎣U ⎥⎦ ⎢⎣ z 0 ⎦⎥
where
⎡r r r ⎤
⎢ 11 21 31 ⎥
R −1 = RT = ⎢⎢r12 r22 r32 ⎥⎥ (27)
⎢ ⎥
⎢⎣r13 r23 r33 ⎥⎦
and
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
and
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)
a2
Using equation (24) and noting that equation (25) can be re-arranged as 1 − e 2 sin2 φ0 =
ν 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 2
0
2 2 2
0
2
( )
= ν 1 − e 2 sin2 φ0 − ν 02e 2 sin2 φ0 1 − e 2
2
0 ( )
2
= a − ν −a ( 2
0
2
)(1 − e ) 2
and
(
= ν 0 1 − e 2 sin2 φ0 )
2
=a
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
− 2ν 0e sin φ0 cos φ0N + 2ν 0 1 − e sin φ0 U ( 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
(33)
+ z 02 + 2r13Ez 0 + 2r23Nz 0 + 2r33Uz 0 }
where
( )
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 ⎟⎟⎟
⎝ ⎠
e2
But e ′2 = so we may write
1 − e2
( )
2
e ′2z 2 = e ′2 cos φ0 N + sin φ0 U
e2 ⎛ 2 ⎞
( ) ( ) ( )
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 ⎝ ⎠⎟
( )
2
= e ′2 cos φ0 N + sin φ0 U
( )
2
+ ν 02 1 − e 2 e 2 sin2 φ0 + 2ν 0e 2 cos φ0 sin φ0N + 2ν 0e 2 sin2 φ0U (34)
( )
2
E 2 + N 2 + U 2 + e ′2 cos φ0 N + sin φ0 U − a2
+ ν 02 (1 − e 2
)
sin2 φ0 − ν 02e 2 sin2 φ0 1 − e 2 ( )
2
− 2ν 0e sin φ0 cos φ0 N + 2ν 0 1 − e sin φ0 U ( 2 2
)
2 2
+ ν e sin φ0 1 − e
0
2
( 2
) + 2ν e 0
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
( )
2
E 2 + N 2 + U 2 + e ′2 cos φ0 N + sin φ0 U + 2ν 0U = 0 (35)
The origin of the E,N,U system is at P1 with coordinates φ0 , λ0 where the radius of
a
curvature of the prime vertical section is ν 0 = 1
and the first and second
(1 − e 2 2
sin φ0 ) 2
e2
eccentricities of the ellipsoid (a, f ) are obtained from e 2 = f (2 − f ) and e ′2 =
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.
λ0
ellipsoid
P2
N •
U α
b
E
P1 •
no ν
rm 0 a y
al O•
a φ0 •H
a
x
equator
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
( )
2
E 2 + N 2 + U 2 + e ′2 cos φ0 N + sin φ0 U + 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
ellipsoid
P2
N η •
(ξ) U α
b
E
P1 •n
or ν ζ
m 0 a y
al O•
a φ0 • H
a
x
equator
N η
N cos α
⎡ζ ⎤ ⎡ cos α − sin α 0⎤ ⎡ E ⎤
⎢ ⎥ ⎢ ⎥⎢ ⎥
⎢η ⎥ = ⎢ sin α cos α 0⎥ ⎢N ⎥
⎢ ⎥ ⎢ ⎥⎢ ⎥
•
α ⎢ ⎥ ⎢ ⎥⎢ ⎥
N sin α ⎢⎣ ξ ⎥⎦ ⎢⎣ 0 0 1⎥ ⎢U ⎥
⎦⎣ ⎦
E and
(ξ) U
⎡ E ⎤ ⎡ cos α sin α 0⎤ ⎡ζ ⎤
E sin α
⎢ ⎥ ⎢ ⎥⎢ ⎥
E cos α
⎢N ⎥ = ⎢− sin α cos α 0⎥ ⎢ η ⎥
⎢ ⎥ ⎢ ⎥⎢ ⎥
ζ ⎢ ⎥ ⎢ ⎥⎢ ⎥
⎢⎣U ⎥⎦ ⎢⎣ 0 0 1⎥ ⎢ ξ ⎥
⎦⎣ ⎦
giving
E 2 + N 2 +U 2 = ζ 2 + η2 + ξ2 (37)
Normal Section.doc 16
Substituting equations (36) and (37) into equation (35) gives
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
a
ν0 = 1
and the first and second eccentricities of the ellipsoid are obtained
(1 − e 2 2
sin φ0 ) 2
e2
from e 2 = f (2 − f ) and e ′2 = .
1 − e2
Setting ζ = 0 in equation (38) will give the equation of the normal section plane as
( ) ( )
ξ 2 1 + g 2 + 2 ξηgh + η 2 1 + h 2 + 2ν 0 ξ = 0 (40)
e
g = e ′ sin φ0 = sin φ0
1 − e2 (41)
e
h = e ′ cos α cos φ0 = cos α sin φ0
1 − e2
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
P2
•
η
d
ξ chor
θ r
z
P1 •n ζ
or
m ν0
al O
• y
φ0 •H
x
a
equator
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.
ξ 2 + η 2 + (g ξ + h η ) = −2ν 0 ξ
2
(43)
(g ξ + h η ) = (g r cos θ + h r sin θ)
2 2
Normal Section.doc 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
To evaluate the arc length s along the normal section curve, consider the following
Δs
A
ξ
B Δs
A
M
r
θ B
Δr
r+ r Δθ
Δθ M Δr
O η
( )
2
by the chord AB and (Δs ) r Δθ + (Δr ) or
2 2
(r Δθ) + (Δr )
2 2
Δs =
⎛ 2⎞
⎜⎜ 2 ⎛⎜ Δr ⎞⎟ ⎟⎟
= (Δθ ) ⎜r + ⎜⎜ ⎟⎟ ⎟⎟
2
⎜⎜ ⎝ Δθ ⎠⎟ ⎠⎟⎟
⎝
and
2
Δs ⎛ Δr ⎞
= r 2 + ⎜⎜⎜ ⎟⎟⎟
Δθ ⎝ Δθ ⎠⎟
Δs
Taking the limit of as Δθ → 0 gives
Δθ
2
⎛ Δs ⎞ ds ⎛dr ⎞
lim ⎜⎜⎜ ⎟⎟⎟ = = r 2 + ⎜⎜⎜ ⎟⎟⎟ (47)
⎟ dθ
Δθ → 0 ⎝ Δθ ⎠ ⎝d θ ⎠⎟
Normal Section.doc 19
and the arc length is given by
1
⎪⎧⎪
θ =θB
⎛ dr ⎟⎞ ⎪⎫⎪⎪2
2
⎪ ⎜
s = ∫ ds = ∫ ⎨r + ⎜⎜ ⎟⎟ ⎬ d θ
2
(48)
⎪
θ =θA ⎪
⎝d θ ⎟⎠ ⎪⎪
⎩⎪ ⎭⎪
Referring to Figure 7 the η -axis is tangential to the normal section curve P1P2 at P1 and
π
the zenith distance θ = θA = 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
1
⎪⎧⎪
θ =θ2
⎛dr ⎟⎞ ⎪⎫⎪⎪2
2
⎪ ⎜
s = ∫ ds = ∫ ⎨r + ⎜⎜ ⎟⎟ ⎬ d θ
2
(49)
π⎪
⎪ ⎝d θ ⎟⎠ ⎪⎪
θ= ⎩ ⎪ ⎭⎪
2
r is given by equation (46) with normal section constants g and h given by equations (41).
dr
The derivative can be obtained from equation (46) using the quotient rule for
dθ
differential calculus
du dv
v −u
dr d ⎛⎜ u ⎟⎞
= ⎜ ⎟ = dθ 2 dθ (50)
d θ d θ ⎜⎝ v ⎟⎟⎠ v
where
v = 1 + (g cos θ + h sin θ )
2
u = −2ν 0 cos θ ;
du dv (51)
= 2ν 0 sin θ ; = 2 (g cos θ + h sin θ )(h cos θ − g sin θ )
dθ dθ
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
e ′2 2nd-eccentricity of ellipsoid squared, e ′2 =
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 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
a unit vector aˆ = can be calculated by dividing each component by the
a
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.
a
ν1 = 1
(1 − e 2 2
sin φ1 )
2
e
g = e ′ sin φ1 = sin φ1
1 − e2
e
h = e ′ cos α12 cos φ1 = cos α12 sin φ1
1 − e2
3. 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
π
(i) Set the counter n = 1 and set the zenith distance θn =
2
(ii) Use Newton-Raphson iteration to compute the zenith distance of the
chord using equation (46) rearranged as
f (θn )
θn +1 = θn − where f ′ (θn ) is the derivative of f (θn ) and
f ′ (θn )
Normal Section.doc 23
(iv) Compute the small change in arc length ds = sk − s
end Iteration for the chord c = P1P2 and the zenith distance θ of the chord
P1P2 is complete.
x 1 = ν1 cos φ1 cos λ1
y1 = ν1 cos φ1 sin λ1
( )
z1 = ν1 1 − e 2 sin φ1
Δ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
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
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
>>
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
(1 − e 2 sin2 φ )
2
The x and y coordinates of P3 and P4 are zero and the z coordinate is obtained from
z = −νe 2 sin φ
Δ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 .
c
4b. Compute chord distance c = c and the unit vector ˆc =
c
u
5. Compute vector u = (x 1 ) i + (y1 ) j + (z1 − z 3 ) k and the unit vector 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
8. Compute the unit vector ê perpendicular to the meridian plane of P1 from vector
cross product ( ê is in the direction of east)
ˆz × u
ˆ ⎛ zˆ uˆ − zˆ uˆ ⎞⎟ ⎛ zˆ uˆ − zˆ uˆ ⎞ ⎛ zˆ uˆ − zˆ uˆ ⎟⎞
⎜ k j ⎟ ⎜ k i⎟⎟⎟ j + ⎜⎜⎜ i j j i⎟
ˆe = = ⎜⎜ j k ⎟⎟ i − ⎜⎜ i k ⎟k
cos φ1 ⎜⎝ cos φ1 ⎠⎟ ⎜⎝ cos φ1 ⎟⎠ ⎜⎝ cos φ1 ⎟⎟⎠
9. Compute the unit vector n̂ in the meridian plane of P1 from vector cross product.
( n̂ is in the direction of north)
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 )
11. Compute the unit vector ĝ in the local horizon plane of P1 and in the direction of
the normal section P1P2 from vector cross product.
gˆ = p ˆ = (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
ˆ×u
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
w
13. Compute the vector w = (x 1 ) i + (y1 ) j + (z 1 − z 4 ) k and the unit vector 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
Normal Section.doc 27
15. Compute the angle δ between ŵ and û from the vector dot product ( δ lies in the
meridian plane of P1 )
16. Compute the unit vector q̂ perpendicular to the normal section P2P1 from vector
cross product
17. Compute the unit vector ĥ in the local horizon plane of P1 and in the direction of
the normal section P2P1 from vector cross product.
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
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
Cartesian coordinates
X Y Z
P1 -2148527.045536 5903029.542697 -1100248.547700
P2 -4094327.792180 1909216.404490 -4487348.408755
P3 0.000000 0.000000 7415.121539
P4 0.000000 0.000000 30242.470131
dX = -1945800.746645
dY = -3993813.138206
dZ = -3387099.861055
>>
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
4
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 + (52)
24 ⎜⎝ R ⎟⎠
4
e 4 ⎛⎜ s ⎟⎞
S −s = s ⎜⎜ ⎟⎟ cos4 φ1 sin2 α12 cos2 α12 +
360 ⎝ R ⎟⎠
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
1
which case cos4 φ1 sin2 α12 cos2 α12 = , thus
4
Normal Section.doc 30
4
e4 ⎛ s ⎞
(L − s ) < 360 s ⎜⎜⎜ R ⎟⎟⎟⎟ (53)
⎝ ⎠
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 .
////////////////////////////////////////////// //////////////////////////////////
// DIRECT CASE on ellipsoid: Vincenty's method // Normal Section: Inverse Case //
////////////////////////////////////////////// //////////////////////////////////
>>
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.
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: [email protected]
% 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
% flat - denominator of flattening of ellipsoid
% f_zd - function of the zenith distance
% 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 azimuth of normal section P1-P2 and arc length of normal section
Az12 = (140 + 28/60 + 31.981931/3600)/d2r;
s = 5783228.924736;
% [3] Compute the chord and the zenith distance of the chord of the normal
% section curve P1-P2 by iteration.
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;
% [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);
% [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);
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);
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: [email protected]
% 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.
%
%--------------------------------------------------------------------------
Normal Section.doc 37
% [1] Compute radii of curvature in the prime vertical plane at P1 & P2
s2 = sin(lat1)^2;
nu1 = a/sqrt(1-e2*s2);
s2 = sin(lat2)^2;
nu2 = a/sqrt(1-e2*s2);
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;
% [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;
% [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);
% [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);
% [13] Compute unit vector w in direction of line P4-P1. w will lie in the
% 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;
% [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);
% [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);
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);
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);
Normal Section.doc 41
fprintf('\ns = %15.6f',s);
fprintf('\n\n');
%--------------------------------------------------------------------------
% 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: [email protected]
% 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);
val = abs(DecDeg);
D = fix(val);
M = fix((val-D)*60);
S = (val-D-M/60)*3600;
if(DecDeg<0)
D = -D;
end
return
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: [email protected]
% 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.
%
%--------------------------------------------------------------------------
%---------------------------------------------------------------
% Compute arc length of normal section using ROMBERG INTEGRATION
%---------------------------------------------------------------
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 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
h
I = ∫ f (x )dx = 2 ( f 0
+ 2 f1 + 2 f2 + + 2 fn −1 + fn ) + E (55)
a
f (x)
f3
f2
f1
f0 fn
a b x
h
where
n is the number of intervals of width h,
b −a
h= 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 ∞
h
I = ∫ f (x )dx = ( f + 2 f1 + 2 f2 + + 2 fn −1 + fn ) + E = T + ∑ a j h 2 j (56)
a
2 0 j =1
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.
Let the value of n be a power of 2; say 2k i.e., the number of intervals n = 2, 4, 8,16, …,2k
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 ⎟⎟⎟
j =2 ⎜⎝ 2 ⎟⎠
and
4Sk +1,1 − Sk ,1 ∞ a j h 2 j ⎛⎜ 4 ⎞
T = −∑ ⎜ 2 j − 1⎟⎟⎟ (59)
3 j =2 3 ⎜⎝ 2 ⎟⎠
4Sk +1,1 − Sk ,1
Sk ,2 =
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.
1 k = 1,2, 3, 4, …
Sk , j = j −1
4 −1
(
4 j −1 Sk , j −1 − Sk −1, j −1 ) j = 2, 3, 4, 5, …
(60)
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
error term h2 h4 h6 h8
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 ⎟⎟⎟ with each
2 ⎝ 2 ⎠⎟
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 ∫ sec (x )dx
⎡ ⎛ x π ⎞⎤
This integral has the known result ∫ sec (x )dx = ln ⎢⎢ tan ⎜⎜⎜ + ⎟⎟⎟⎥⎥
⎣⎢ ⎝ 2 4 ⎟⎠⎥⎦
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: [email protected]
% 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
% d2r - degree to radian conversion factor 57.29577951...
% 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)
% m - maximum number of intervals
% 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.
%
%--------------------------------------------------------------------------
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');
>> romberg_test
>>
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:
and
22.5 ⎛⎜ π ⎟⎞
S1,1 = I = ⎜ (
2 ⎜⎝180 ⎟⎟⎠
)
⎟ 1 + 2 (1.082392200) + 1.414213562 = 0.899084148
and
11.25 ⎛⎜ π ⎟⎞
S 2,1 = I = ⎜
2 ⎜⎝180 ⎟⎟⎠
( )
⎟ 1 + 2 (1.019 …) + 2 (1.082 …) + 2 (1.202 …) + 1.414 … = 0.885885914
1 1
S 2,2 = 1
4 −1
( )
41 S 2,1 − S1,1 = (4 × 0.885885914 − 0.899084148) = 0.881486503
3
Normal Section.doc 52
• For k = 3 , there are n = 2k = 8 intervals (or strips) of width h = 5.625 and the
h 1
integral I
2
( f0 + 2 f1 + 2 f3 + + 2 f7 + f8 ) . The function f (x ) = sec x =
cos x
evaluated
f0 = 1
f1 = 1.004838572
f2 = 1.019591158
f7 = 1.293643567
f8 = 1.414213562
and
5.625 ⎛⎜ π ⎟⎞
S 3,1 = I = ⎜ (
⎟ 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
S 3,2 = 1
4 −1
( )
41 S 3,1 − S 2,1 = (4 × 0.882507478 − 0.885885914) = 0.881381333
3
1 1
S 3,3 = 2
4 −1
( )
42 S 3,2 − S 2,2 = (16 × 0.881381333 − 0.881486503) = 0.8813374322
15
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: [email protected]
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 ellipsoid
P P2
curve of alignment • •
b
al
no rm
P1 • no
rm
al
a y
O•
a φ1
•H
a H1 P
x
equator
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
{}
z x
λP y
z
{}
x2
normal section curve y2
z2
P
{}
x1 • P2
•2
y1 ellipsoid
z1 b
1
al
no rm
P1 •
a y
O•
φP
a
•H
a 3
x
{}
x3 equator
y3
z3
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
2
e = = f (2 − f )
a2
a 2 − b2 f (2 − f ) e2
e ′2 = = = (1)
b2 (1 − f ) 1 − e
2 2
a −b
f =
a
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 c, d and e 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 c and d 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 φ
⎡x ⎤ ⎡ 0 ⎤
⎢ 3⎥ ⎢ ⎥
⎢y ⎥ = ⎢ 0 ⎥ (4)
⎢ 3⎥ ⎢ ⎥
⎢ ⎥ ⎢ 2 ⎥
z −νe sin φ ⎥
⎣⎢ 3 ⎦⎥ ⎢⎣ ⎦
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 c, d and e 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 (6)
x 3 − x 2 y 3 − y2 z3 − z2
y 2 − y1 z 2 − z 1 x − x 1 z 2 − z1 x − x 1 y 2 − y1
y 3 − y2 z 3 − z 2
(x − x1 ) − 2
x 3 − x2 z 3 − z2
(y − y1 ) + 2
x 3 − x 2 y 3 − y2
(z − z1 ) = 0 (7)
(x − x ) {(y
1 2 }
− y1 )(z 3 − z 2 ) − (z 2 − z 1 )(y 3 − y2 )
− (y − y ) {(x
1 2
− x )(z − z ) − (z − z )(x − x )}
1 3 2 2 1 3 2
+ (z − z ) {(x
1 2
− x )(y − y ) − (y − y )(x − x )} = 0
1 3 2 2 1 3 2
(8)
Curve of Alignment.doc 4
Now from equation (4) x 3 = y 3 = 0 and equation (8) becomes
(x − x )(y 1 2
− y1 )(z 3 − z 2 )− (x − x 1 )(z 2 − z1 )(−y2 )
− (y − y )(x 1 2
− x 1 )(z 3 − z 2 )+ (y − y1 )(z 2 − z 1 )(−x 2 )
+ (z − z )(x 1 2
− x 1 )(−y2 ) + (z − z 1 )(y2 − y1 )(−x 2 ) = 0 (9)
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 2 e 2 (y2 − y1 ) cos λ − e 2 (x 2 − x 1 ) sin λ sin φ − 1 − e 2 (y1z 2 − y2z 1 ) cos λ )
− (1 − e ) (x z
2
1 2
− x 2z 1 ) sin λ − 1 − e ( 2
)(x y1 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
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
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
d
and the derivative f ′ (φ ) =
dφ
{ }
f (φ ) is given by
dν
f ′ (φ ) = A sin φ + ν A cos φ − B sec2 φ (17)
dφ
dν ν3 2
= e sin φ cos φ (18)
dφ a 2
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
Curve of Alignment.doc 6
SOLVING FOR THE LONGITUDE
( )
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).
and
f (λ ) = P cos λ − Q sin λ − S
(22)
f ′ (λ ) = −P sin λ − Q cos λ
S = R cos (λ − θ )
= R cos λ cos θ + R sin λ sin θ (23)
Now, equating the coefficients of cos λ and sin λ in equations (19) and (23) gives
−Q
R = P 2 +Q2 ; tan θ = (25)
P
Substituting these results into equation (23) gives
⎧ ⎫
⎪⎪ S ⎪⎪ ⎧⎪−Q ⎪⎫
λ = arccos ⎨ ⎬ + arctan ⎪⎨ ⎪⎬ (26)
⎪⎪ P 2 + Q 2 ⎪⎪ ⎪⎪⎩ P ⎪⎪⎭
⎩⎪ ⎭⎪
Curve of Alignment.doc 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
4
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 + (27)
24 ⎜⎝ R ⎠⎟
4
e 4 ⎛⎜ s ⎞⎟
S −s = s ⎜⎜ ⎟⎟ cos4 φ1 sin2 α12 cos2 α12 +
360 ⎝ R ⎠⎟
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
1
which case cos4 φ1 sin2 α12 cos2 α12 = , thus
4
Curve of Alignment.doc 8
4
e4 ⎛ s ⎞
(S − s ) < 1440 s ⎜⎜⎜ R ⎟⎟⎟⎟ (28)
⎝ ⎠
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:
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
N S W
148°30’ the normal to the ellipsoid at P1, and P2.
S
The GDA94 coordinates of Murray Spring and
Murray Spring
AL
L AN 149°30’
149°45 ’
LIN
Geodesic E
Normal Section
VIC S
Wauka 1978
Curve of
Alignm ent
Figure 3
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
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)
>>
>> curve_of_alignment_lon
==================
Curve of Alignment
==================
Ellipsoid parameters
a = 6378137.0000
f = 1/298.257222101
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)
>>
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: [email protected]
% 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.
%
%--------------------------------------------------------------------------
Curve of Alignment.doc 12
d2r = 180/pi;
% Set longitude of P3
lon3 = (149 + 30/60)/d2r;
%----------------------------------------------------------
% 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 = %12.4f',a);
fprintf('\nf = 1/%13.9f',flat);
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: [email protected]
% 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 latitude of P3
lat3 = -(37 + 19/60 + 10.429972/3600)/d2r;
%---------------------- ------------------------------------
% 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);
Curve of Alignment.doc 17
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');
%--------------------------------------------------------------------------
% 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: [email protected]
% 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.
%--------------------------------------------------------------------------
Curve of Alignment.doc 18
% compute Cartesian coordinates X,Y,Z
p = (rp+h)*cos(lat);
X = p*cos(lon);
Y = p*sin(lon);
Z = (rp*(1-e2)+h)*sin(lat);
%--------------------------------------------------------------------------
% 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: [email protected]
% 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);
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: [email protected]
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).
{}
z x
λP y
N z
{}
x2
y2
great elliptic arc z2
P
{}
x1 • P2
•2
y1 ellipsoid
z1 b
1
P1 •
O a y
• θP
a 3
a
x
{ }
x3 = 0 equator M
y3 = 0
z3 = 0
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.
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
b2
( ) ( )
2
tan θ = 1 − e 2 tan φ = tan φ = 1 − f tan φ (2)
a2
The geometric relationship between geocentric latitude θ and (geodetic) latitude φ is
shown in Figure 2.
z
N
• P
t an
b ge
nt
al
rm
ellipse
no
O• θ φ a M
equator
H•
The great elliptic plane in Figure 1 is defined by points c, d and e that are P1 , P2 and
the centre of the ellipsoid O respectively. Cartesian coordinates of c and d are computed
from the following equations
Ax + By + Cz + D = 0 (5)
And the equation of the plane passing through points c, d and e is given in the form of
a 3rd-order determinant
x − x 1 y − y1 z − z1
x 2 − x 1 y2 − y1 z 2 − z1 = 0 (6)
x 3 − x 2 y 3 − y2 z3 − z2
y 2 − y1 z 2 − z 1 x − x 1 z 2 − z1 x − x 1 y 2 − y1
y 3 − y2 z 3 − z 2
(x − x1 ) − 2
x 3 − x2 z 3 − z2
(y − y1 ) + 2
x 3 − x 2 y 3 − y2
(z − z1 ) = 0 (7)
(x − x ) {(y
1 2 }
− y1 )(z 3 − z 2 ) − (z 2 − z 1 )(y 3 − y2 )
− (y − y ) {(x
1 2
− x )(z − z ) − (z − z )(x − x )}
1 3 2 2 1 3 2
+ (z − z ) {(x
1 2
− x )(y − y ) − (y − y )(x − x )} = 0
1 3 2 2 1 3 2
(8)
(x − x ) {(y
1 2 }
− y1 )(−z 2 ) − (z 2 − z 1 )(−y2 )
− (y − y ) {(x
1 2
− x )(−z ) − (z − z )(−x )}
1 2 2 1 2
+ (z − z ) {(x
1 2
− x )(−y ) − (y − y )(−x )} = 0
1 2 2 1 2
(9)
( )
ν cos φ cos λ (y1z 2 − y2z 1 ) − ν cos φ sin λ (x 1z 2 − x 2z 1 ) + ν 1 − e 2 sin φ (x 1y2 − x 2y1 ) = 0
(
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
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.
B sin λ − A cos λ
tan φ = (12)
(
C 1 − e2 )
where A and B and C are functions of terminal points P1 and P2 given by equations (11).
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
(
f (λ ) = A cos λ − B sin λ + C 1 − e 2 tan φ ) (14)
d
and the derivative f ′ (λ ) =
dλ
{ }
f (λ ) is given by
( ) ( )
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
( )
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
B
R = A2 + B 2 ; tan θ = (19)
−A
Substituting these results into equation (17) gives
⎧
( 2
) ⎫
⎪⎪⎪C 1 − e tan φ ⎪⎪⎪ ⎪⎧ B ⎪⎫
λ = arccos ⎨ ⎬ + arctan ⎪⎨ ⎪⎬ (20)
⎪⎪⎩⎪ A2 + B 2 ⎪⎪⎭⎪ ⎪⎪⎩−A⎭⎪⎪
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
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
4
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 + (21)
24 ⎝ R ⎠⎟
4
e 4 ⎛⎜ s ⎞⎟
S −s = s ⎜ ⎟ cos4 φ1 sin2 α12 cos2 α12 +
360 ⎝⎜ R ⎠⎟⎟
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
1
sin2 φ1 cos2 φ1 sin2 α12 = , thus
4
4
e4 ⎛ s ⎞
(D − s ) < 96 s ⎜⎜⎜ R ⎟⎟⎟⎟ (22)
⎝ ⎠
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:
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.
N S W
the normal to the ellipsoid at P1, and P2.
S
The GDA94 coordinates of Murray Spring and
Wauka 1978 are:
Murray Spring: φ -37°47’4 9.2232” λ 148°11’48.3333”
Wauka 1978: φ -37°30’1 8.0674” λ 149°58’32.9932”
148°15 ’ Great Elliptic Arc
B LA The normal section azimuth and distance are:
CK 116°58’14.173757” 176495.243760 m.
148°30’ -
ALL
AN
148°45’
LIN
149°00’ E
Normal Section
149°15’
VIC 149°30’
S
Wauka 1978
149°45’
Figure 3
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
==================
Ellipsoid parameters
a = 6378137.0000
f = 1/298.257222101
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)
>>
>> great_elliptic_arc_lon
==================
Great Elliptic Arc
==================
Ellipsoid parameters
a = 6378137.0000
f = 1/298.257222101
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)
>>
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: [email protected]
% 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
%
%--------------------------------------------------------------------------
% 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\n');
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: [email protected]
% 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
% 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;
%---------------------------------------------------------
% 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\n');
%--------------------------------------------------------------------------
% 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: [email protected]
% 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
%--------------------------------------------------------------------------
% 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: [email protected]
% 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
val = abs(DecDeg);
D = fix(val);
M = fix((val-D)*60);
S = (val-D-M/60)*3600;
if(DecDeg<0)
D = -D;
end
return
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.
R. E. Deakin
School of Mathematical & Geospatial Sciences, RMIT University,
GPO Box 2476V, MELBOURNE VIC 3001, AUSTRALIA
email: [email protected]
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 . )
xo
lo
dr
om
e
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
ch
b
wi
w
en
P
Gre
•
O•
a φ a
H• y
x equator
w
a 2 − b2 b2
e2 = = 1 − = f (2 − f ) (3)
a2 a2
b2 2
1 − e2 = 2
= 1 − f (2 − f ) = (1 − f ) (4)
a
The second eccentricity e ′ of an ellipsoid is also of use and
a 2 − b2 a2 e2 f (2 − f )
e ′2 = 2
= 2
− 1 = 2
= 2 (5)
b b 1 −e (1 − f )
e ′2
e2 = (6)
1 + e ′2
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 ) a (1 − e 2 )
ρ= 3 = (7)
(1 − e 2 sin2 φ) 2
W3
a a
ν= 1 = (8)
(1 − e 2 sin2 φ) 2
W
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.
a2 c
ρ= 3 = (10)
b (1 + e ′2 cos2 φ) 2
V3
a2 c
ν= 1 = (11)
b (1 + e ′2 cos2 φ) 2
V
a2 a
c = = (12)
b 1− f
V 2 = 1 + e ′2 cos2 φ (13)
V2 V b
W2 = and W = = V (14)
1 + e ′2
1
(1 + e ′2 ) 2
a
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.
dλ
φ +dφ
Q
α • φ
• w b
P no parall el
rm α
mer i di an
al O Q
φ • φ + dφ
ρ dφ
a H α
P ds
equat or •
ν cos φ d λ φ
λ λ+ d λ
λ
λ+d λ
S
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
2
⎛ ρ d φ ⎞⎟
⎜ ⎟⎟ + d λ 2
= ν cos φ ⎜⎜
⎜⎜⎝ ν cos φ ⎟⎟⎠
= ν cos φ dq 2 + d λ 2 (18)
ρ
dq = dφ (19)
ν cos φ
(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 λ .
ν cos φ d λ dλ
tan α = = (20)
ρ dφ dq
dm 1
ds = = ρ dφ (21)
cos α cos α
ISOMETRIC LATITUDE
The isometric latitude is defined by the differential equation (19) from which we obtain
ρ
q= ∫ ν cos φ d φ + C 1
(22)
Substituting into equation (22) expressions for ρ and ν given by equations (7) and (8),
and simplifying gives
q=∫
(1 − e ) 2
dφ + C (23)
(1 − e sin φ) cos φ
2 2 1
Loxodrome on Ellipsoid.doc 6
The integrand of equation (23) can be separated into partial fractions
(1 − e ) =
2
A
+
B
(24)
(1 − e sin φ) cos φ (1 − e sin φ) cos φ
2 2 2 2
(
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
1 e 2 cos φ
q= ∫ cos φ
dφ − ∫
1 − e 2 sin2 φ
dφ + C1 (26)
1 cos u
q= ∫ cos φ
dφ − e ∫
1 − sin2 u
du + C 1
1 cos u
= ∫ cos φ
dφ − e ∫
cos2 u
du + C 1
1 1
= ∫ cos φ
dφ − e ∫
cos u
du + C 1 (27)
1 ⎧
⎪ ⎛ π x ⎟⎞⎫⎪
From standard integrals ∫ dx = ln ⎪
⎨tan ⎜⎜ + ⎟⎟⎪ ⎬ and from half-angle trigonometric
cos x ⎪
⎪ ⎜⎝ 4 2 ⎟⎠⎪⎪
⎩ ⎭
⎛ A⎞
formula tan ⎜⎜⎜ ⎟⎟⎟ = ±
1 − cos A ⎛π x ⎞
giving tan ⎜⎜⎜ + ⎟⎟⎟ =
1 − cos x + π 2
=
1 + sin x
.
( )
⎝ 2 ⎟⎠ 1 + cos A ⎝ 4 2 ⎠⎟ 1 + cos x + π 2 1 − sin x ( )
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 MN = loga M + loga N , loga = 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
Loxodrome on Ellipsoid.doc 7
e
⎛π φ⎞ ⎛ 1 − e sin φ ⎟⎞2
q = ln tan ⎜⎜⎜ + ⎟⎟⎟ + ln ⎜⎜⎜ ⎟⎟ + C
⎝ 4 2 ⎟⎠ ⎝1 + e sin φ ⎟⎠
⎪⎧⎪ e⎫
⎪
⎛ ⎞⎛ ⎞2⎪
⎪ π φ ⎟ 1 − e sin φ ⎟ ⎪
= ln ⎨tan ⎜⎜⎜ + ⎟⎟ ⎜⎜⎜ ⎟⎟ ⎬ + C (28)
⎪⎪ ⎝ 4 2 ⎟⎠⎝1 + e sin φ ⎟⎠ ⎪⎪
⎪⎩⎪ ⎪
⎪
⎭
The constant C in equation (28) equals zero since if φ = 0 then q = 0 and the isometric
latitude q is obtained from
⎪⎧⎪ e⎫
⎪
⎛ ⎞⎛ ⎞ 2⎪
⎪ π φ ⎟ 1 − e sin φ ⎟ ⎪
q = ln ⎨tan ⎜⎜⎜ + ⎟⎟ ⎜⎜⎜ ⎟⎟ ⎬ (29)
⎪⎪ ⎝ 4 2 ⎟⎠⎝1 + e sin φ ⎠⎟ ⎪⎪
⎪⎩⎪ ⎪⎭⎪
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.
∫ dλ = tan α ∫ dq
λ1 q1
λ2 − λ1 = tan α (q 2 − q1 )
Δλ = Δq tan α (30)
Loxodrome on Ellipsoid.doc 8
THE AZIMUTH OF A LOXODROME
⎛ Δλ ⎟⎞ ⎛ λ − λ ⎟⎞
α = arctan ⎜⎜⎜ ⎟⎟ = arctan ⎜⎜⎜ 2 1⎟
⎟ (31)
⎝ Δq ⎠⎟ ⎜⎝ q2 − q1 ⎠⎟
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 .
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
φ1
(
a 1 − e2 ) φ1
1 m1
cos α ∫0 ∫W
s1 = ρ dφ = dφ = (32)
cos α 0
3
cos α
and similarly
m2
s2 = (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
φ φ 3 φ
∫ ρ d φ = a (1 − e ) ∫ (1 − e ) ( ) ∫ W1
−
2 2 2 2
m= sin φ 2
dφ = a 1 − e 3
dφ (34)
0 0 0
This is an elliptic integral of the second kind and cannot be evaluated directly; instead, the
3
1
( )
−
2 2
integrand 3
= 1 − e sin φ 2
is expanded by using the binomial series and then
W
evaluated by term-by-term integration. Following Deakin & Hunter (2008) we obtain an
expression for the meridian distance as
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 ⎞
A4 = ⎜⎜e + e + e + e + ⎟⎟
256 ⎝ 4 64 256 ⎠
(36)
35 ⎛ 6 5 8 315 10 ⎞
A6 = ⎜⎜e + e + e + ⎟⎟
3072 ⎝ 4 256 ⎠
315 ⎛ 8 7 10 ⎞
A8 = ⎜⎜e + e + ⎟⎟
131072 ⎝ 4 ⎠
693
A10 = (e10 + )
131072
Combining equations (32) and (33) gives the length of the loxodrome between P1 and P2
as
m2 − m1
s= (37)
cos α
where α is the (constant) azimuth and m1 and m2 are meridian distances for φ1 and φ2
obtained from equation (35).
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.
m2 = s cos α12 + m1
Loxodrome on Ellipsoid.doc 10
( ) where f ′ (φ) = d f (φ) and
f φ(n )
and the iterative equation φ(n +1) = φ(n ) − { }
f ′ (φ( ) )
n
dφ
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
4. Compute isometric latitudes q1 and q 2 using equation (29) and then the difference in
isometric latitudes Δq = q 2 − q1
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).
Loxodrome on Ellipsoid.doc 11
MATLAB FUNCTIONS
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:
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
Murray Spring BLACK-ALLAN LINE: VICTORIA/NSW BORDER
N S W
the normal to the ellipsoid at P1, and P2.
S
The GDA94 coordinates of Murray Spring and
Wauka 1978 are:
Murray Spring: φ -37°47’4 9.2232” λ 148°11’48.3333”
Wauka 1978: φ -37°30’1 8.0674” λ 149°58’32.9932”
148°15 ’ Loxodrome
The normal section azimuth and distance are:
BL
ACK 116°58’14.173757” 176495.243760 m.
148°30’ -
The geodesic azimuth and distance are:
AL 116°58’14.219146” 176495.243758 m.
L AN
148°45’ The loxodrome azimuth and distance are:
116°26’08.400701” 176497.829952 m.
LI
149°00’
NE
Normal Section
149°15’
VIC 149°30’
S
Wauka 1978
149°45’
Figure 4
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
=======================
Loxodrome: Inverse Case
=======================
Ellipsoid parameters
a = 6378137.0000
f = 1/298.257222101
>>
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: [email protected]
% 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
%
%--------------------------------------------------------------------------
% Compute azimuth
Az12 = atan2(dlon,disolat);
%-----------------------
% 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);
Loxodrome on Ellipsoid.doc 16
fprintf('\nLongitude P2 = %4d %2d %9.6f (D M S)',D,M,S);
end
fprintf('\n\n');
Loxodrome on Ellipsoid.doc 17
MATLAB function isometric.m
%--------------------------------------------------------------------------
% 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: [email protected]
% 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.
%
%
%--------------------------------------------------------------------------
x = e*sin(lat);
y = (1-x)/(1+x);
z = pi/4 + lat/2;
Loxodrome on Ellipsoid.doc 18
MATLAB function meridian_dist.m
%--------------------------------------------------------------------------
% 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: [email protected]
% 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.
%
%--------------------------------------------------------------------------
% powers of eccentricity
e4 = e2*e2;
e6 = e4*e2;
e8 = e6*e2;
e10 = e8*e2;
term1 = A*lat;
term2 = (B/2)*sin(2*lat);
term3 = (C/4)*sin(4*lat);
term4 = (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);
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