1 Star 0 Fork 7

qsk/GeographicLib

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
geod-addenda.html 18.35 KB
一键复制 编辑 原始数据 按行查看 历史
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>
Addenda and errata for papers on geodesics
</title>
<meta name="description" content="Geodesics on an ellipsoid,
Addenda and Errata" />
<meta name="author" content="Charles F. F. Karney" />
<link rel="stylesheet" type="text/css" href="default.css">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript" async
src="https://geographiclib.sourceforge.io/MathJax-2.7.2/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
</head>
<body topmargin=10 leftmargin=10>
<a href="geod.html">Back to resource page for geodesics.</a>
<h3>
<a name="geodalg-addenda">Addenda</a> for C. F. F. Karney,
<a href="geod.html">
<i>Algorithms for Geodesics</i></a>,
<a href="https://doi.org/10.1007/s00190-012-0578-z">
J. Geodesy <b>87</b>(1), 43&ndash;55 (Jan. 2013)</a>;<br>
DOI: <a href="https://doi.org/10.1007/s00190-012-0578-z">
10.1007/s00190-012-0578-z</a>.
</h3>
<ol>
<li>
Implementations of the geodesic routines are now available in C,
Fortran, Java, JavaScript, Python, and Matlab (in addition to
C++). For details see
<a href="https://geographiclib.sourceforge.io/html/other.html">
this link</a>.
<li>
Care needs to be taken when solving the inverse problem for a
non-equatorial geodesic when both end points on the equator. In
Table 5, the quadrants for \(\sigma_1\) and \(\omega_1\) must be
determined taking \(\sin\sigma_1\) and \(\sin\omega_1\) to be
negative; this is consistent with the ordering \(\phi_1 \le 0\).
<li>
The 6th-order series given in the paper provide solutions for
the geodesic problem which are accurate to round off for
\(\left|f\right| \lt 0.01\). The least accurate of the series
is the reverted series for \(\sigma\) in terms of \(\tau\),
Eqs. (20) and (21), which is used only in solving the direct
problem. The accuracy can be improved by using these equations
to give an initial approximation for \(\sigma\) which is
following by one step of Newton's method applied to Eq. (7),
with \(dI_1(\sigma)/d\sigma = \sqrt{1 + k^2 \sin^2\sigma}\).
With this change (which need only be applied for
\(\left|f\right| \gt 0.01\)), the 6th-order series are accurate
to round-off for \(\left|f\right| \lt 0.02\).
<li>
Equation (63) give expansions for the area integral using
\(e'^2\) and \(k^2\) as small parameters. Unfortunately the
resulting series diverges for \(e' \gt 1\) or \(b/a \lt
1/\sqrt2\). This problem is remedied by expanding instead in
terms of \(n\) and \(\epsilon\). Thus Eq. (63) becomes
\[
\begin{align}
C_{40} &\textstyle= \bigl(\frac{2}{3} - \frac{4}{15} n + \frac{8}{105} n^2 +
\frac{4}{315} n^3 + \frac{16}{3465} n^4 + \frac{20}{9009} n^5\bigr)\\
&\textstyle\quad{}- \bigl(\frac{1}{5} - \frac{16}{35} n +
\frac{32}{105} n^2 - \frac{16}{385} n^3 -
\frac{64}{15015} n^4\bigr) \epsilon\\
&\textstyle\quad{}- \bigl(\frac{2}{105} + \frac{32}{315} n -
\frac{1088}{3465} n^2 + \frac{1184}{5005} n^3\bigr) \epsilon^2\\
&\textstyle\quad{}+ \bigl(\frac{11}{315} - \frac{368}{3465} n -
\frac{32}{6435} n^2\bigr) \epsilon^3\\
&\textstyle\quad{}+ \bigl(\frac{4}{1155} +
\frac{1088}{45045} n\bigr) \epsilon^4
+ \frac{97}{15015} \epsilon^5 + \ldots,\\
C_{41} &\textstyle= \bigl(\frac{1}{45} - \frac{16}{315} n +
\frac{32}{945} n^2 - \frac{16}{3465} n^3 -
\frac{64}{135135} n^4\bigr) \epsilon\\
&\textstyle\quad{}- \bigl(\frac{2}{105} - \frac{64}{945} n +
\frac{128}{1485} n^2 - \frac{1984}{45045} n^3\bigr) \epsilon^2\\
&\textstyle\quad{}- \bigl(\frac{1}{105} - \frac{16}{2079} n -
\frac{5792}{135135} n^2\bigr) \epsilon^3\\
&\textstyle\quad{}+ \bigl(\frac{4}{1155} -
\frac{2944}{135135} n\bigr) \epsilon^4
+ \frac{1}{9009} \epsilon^5 + \ldots,\\
C_{42} &\textstyle= \bigl(\frac{4}{525} - \frac{32}{1575} n +
\frac{64}{3465} n^2 - \frac{32}{5005} n^3\bigr) \epsilon^2\\
&\textstyle\quad{}- \bigl(\frac{8}{1575} - \frac{128}{5775} n +
\frac{256}{6825} n^2\bigr) \epsilon^3\\
&\textstyle\quad{}- \bigl(\frac{8}{1925} -
\frac{1856}{225225} n\bigr) \epsilon^4
+ \frac{8}{10725} \epsilon^5 + \ldots,\\
C_{43} &\textstyle= \bigl(\frac{8}{2205} - \frac{256}{24255} n +
\frac{512}{45045} n^2\bigr) \epsilon^3\\
&\textstyle\quad{}- \bigl(\frac{16}{8085} -
\frac{1024}{105105} n\bigr) \epsilon^4
- \frac{136}{63063} \epsilon^5 + \ldots,\\
C_{44} &\textstyle= \bigl(\frac{64}{31185} -
\frac{512}{81081} n\bigr) \epsilon^4
- \frac{128}{135135} \epsilon^5 + \ldots,\\
C_{45} &\textstyle= \frac{128}{99099} \epsilon^5 + \ldots.
\end{align}
\]
<li>
In some applications, it is necessary to keep track of how many
times a geodesic encircles the earth, i.e., to determine the
value of \(\lambda_{12}\) without reducing it to some canonical
range. The geodesic classes offer this option through the
Geodesic::LONG_UNROLL mask bit. In the case of the inverse
problem, we are interested in the shortest geodesic and thus
\(\lambda_{12}\in(-\pi,\pi]\) (the geodesic between points on
opposite meridians is taken to be east-going). When solving the
direct geodesic problem, \(\sigma_{12}\) is found in terms of
the length of the geodesic, \(\omega\) and \(\sigma\) pass from
one quadrant to the next at the same time, and they are related
by \(\tan\omega = \sin\alpha_0 \tan\sigma\). The "unrolled"
value of \(\lambda_{12}\) is then given by
\[
\begin{align}
\omega_{12} &= E\biggl[\sigma_{12}
- \biggl(\tan^{-1}\frac{\sin\sigma_2}{\cos\sigma_2} -
\tan^{-1}\frac{\sin\sigma_1}{\cos\sigma_1}\biggr)\\
&\quad\qquad{}+ \biggl(\tan^{-1}\frac{E\sin\omega_2}{\cos\omega_2} -
\tan^{-1}\frac{E\sin\omega_1}{\cos\omega_1}\biggr)\biggr],\\
\lambda_{12} &= \omega_{12} - f\sin\alpha_0
\bigl(I_3(\sigma_2)-I_3(\sigma_1)\bigr),
\end{align}
\]
where \(E=\pm1\) is the sign of \(\sin\alpha_0\) or \(+1\) if
\(\sin\alpha_0 = 0\).
<li>
The starting guesses for Newton's method given in Sec. 5 are not
very good for highly eccentric ellipsoids. It's possible to
modify Newton's method so that it converges even for poor
initial guesses. The goal is to find the root of
\[
f(\alpha_1) \equiv \lambda_{12}(\alpha_1) - \lambda_{12} = 0,
\]
where \(\lambda_{12}(\alpha_1)\) is the solution of the hybrid
problem. There is exactly one root to this equation in the
interval \(\alpha_1 \in (0,\pi)\) and its derivative
\(f'(\alpha_1)\) is positive at the root. During the course of
the iteration, a range \((\alpha_{1a}, \alpha_{1b})\) is
maintained which brackets the root and with each evaluation of
\(f(\alpha_1)\) the range is shrunk, if possible. Newton's
method is restarted whenever the derivative of \(f(\alpha_1)\)
is negative (because the new value of \(\alpha_1\) is then
further from the solution) or if the new estimate of
\(\alpha_1\) lies outside \((0,\pi)\); in this case, the new
starting guess is taken to be \((\alpha_{1a} + \alpha_{1b}) /
2\).
<li>
The series for \(A_2\) converges slightly faster it is
multiplied by \(1+\epsilon\), instead of divided by
\(1-\epsilon\). The resulting series is
\[
\textstyle
A_2 = (1 + \epsilon)^{-1} \bigl(
1 - \frac{3}{4}\epsilon^2 - \frac{7}{64}\epsilon^4
- \frac{11}{256}\epsilon^6 - \frac{375}{16384}\epsilon^8 + \ldots
\bigr).
\]
<li>
In order to obtain accurate solutions for ellipsoids of
arbitrary eccentricity, it is necessary to replace the series
expansions for the integrals (which are valid only if \(f\) is
small) with direct evaluation in terms of elliptic integrals
(which are valid for all \(f\)). The key relations used are
\[
\begin{align}
\frac sb &= E(\sigma, ik), \\
\lambda &= \chi
- \frac{e'^2}{\sqrt{1+e'^2}}\sin\alpha_0 H(\sigma, -e'^2, ik), \\
J(\sigma) &= k^2 D(\sigma, ik),
\end{align}
\]
where
\[
\begin{align}
\tan\chi &= \sqrt{\frac{1+e'^2}{1+k^2\sin^2\sigma}}\tan\omega, \\
H(\phi, \alpha^2, k)
&=
\frac1{\alpha^2} F(\phi, k) +
\biggl(1 - \frac1{\alpha^2}\biggr) \Pi(\phi, \alpha^2, k),
\end{align}
\]
and \(F(\phi, k)\), \(E(\phi, k)\), \(D(\phi, k)\), and
\(\Pi(\phi, \alpha^2, k)\), are incomplete elliptic integrals
(see <a href="http://dlmf.nist.gov/19.2.ii">
http://dlmf.nist.gov/19.2.ii</a>).
<li>
Google Books does not consistently provide access to the full
text. If you encounter this situation, you can download the
pdf files listed here:
<ul>
<li>
Gauss (1828),
Google id:
<a href="https://books.google.com/books?id=a1wTJR3kHwUC">
a1wTJR3kHwUC</a>,
pdf:
<a href="https://geographiclib.sourceforge.io/geodesic-papers/gauss28-en.pdf">
gauss28-en.pdf</a>.
<li>
Helmert (1880),
Google id:
<a href="https://books.google.com/books?id=qt2CAAAAIAAJ">
qt2CAAAAIAAJ</a>,
pdf:
<a href="https://geographiclib.sourceforge.io/geodesic-papers/helmert80.pdf">
helmert80.pdf</a>.
<li>
Jacobi (1891),
Google id:
<a href="https://books.google.com/books?id=_09tAAAAMAAJ">
_09tAAAAMAAJ</a>,
pdf:
<a href="https://geographiclib.sourceforge.io/geodesic-papers/jacobi-V7.pdf">
jacobi-V7.pdf</a>.
</ul>
</ol>
Items 3&ndash;8 represent changes since the publication of the
paper. Changes 3&ndash;7 have been implemented in the
<a href="index.html"> GeographicLib</a> classes
<a href="html/classGeographicLib_1_1Geodesic.html"> Geodesic</a> and
<a href="html/classGeographicLib_1_1GeodesicLine.html">
GeodesicLine</a>
in GeographicLib versions 1.27, 1.26, 1.39 (fixed in 1.43), 1.25,
and 1.44, respectively. Change 8 (the evaluation of the integrals
in terms of elliptic integrals) is implemented in
the <a href="index.html">
GeographicLib</a>
classes
<a href="html/classGeographicLib_1_1GeodesicExact.html">
GeodesicExact</a> and
<a href="html/classGeographicLib_1_1GeodesicLineExact.html">
GeodesicLineExact</a> which were added to GeographicLib 1.25.
For geodetic applications,
<a href="html/classGeographicLib_1_1Geodesic.html">
Geodesic</a> and
<a href="html/classGeographicLib_1_1GeodesicLine.html">
GeodesicLine</a>
are preferred, because they are about 2&ndash;3 times faster and the
round-off errors are about 2&ndash;3 times smaller.
<p>
Some notes on geodesics on a <i>triaxial</i> ellipsoid are given
in <a href="html/triaxial.html"> Geodesics on a triaxial
ellipsoid</a>. This examines the solution to this problem found
by Jacobi in 1839.
<h3>
<a name="geodalg-errata">Errata</a> for C. F. F. Karney,
<a href="geod.html">
<i>Algorithms for Geodesics</i></a>,
<a href="https://arxiv.org/abs/1109.4448v2">arXiv:1109.4448v2</a>
(2012-03-28).
</h3>
<p>
These errata apply to
the <a href="https://arxiv.org/abs/1109.4448v2"> preprint</a>
only:
<ul>
<li>
p. 1, col. 2, last 2 lines: replace &ldquo;present accuracy
and timing data are discussed&rdquo; by &ldquo;accuracy and
timing data are presented&rdquo;.
<li>
p. 6, col. 1, last para.: replace &ldquo;Eq. (6),
solve&rdquo; by &ldquo;Eq. (6). Solve&rdquo;.
<li>
p. 10, col. 1, line 10: replace &ldquo;using with
high-precision&rdquo; by &ldquo;using high-precision&rdquo;.
<li>
p. 10, col. 1, 2nd para. of Sec. 8: replace &ldquo;parallel
to the geodesic <i>AB</i> at <i>A</i>&rdquo; by
&ldquo;parallel to the geodesic <i>AB</i>
at <i>A</i>'&nbsp;&rdquo;.
<li>
p. 10, col. 2, before Eq. (67): replace &ldquo;the curvature
is given by differentiating Eq. (37) with respect to &phi;
and dividing by&rdquo; by &ldquo;&nabla;<i>K</i> is found by
differentiating Eq. (37) with respect to &phi; and dividing
the result by&rdquo;.
</ul>
</p>
<h3>
<a name="geod-errata">Errata</a> for C. F. F. Karney,
<a href="geod.html">
<i>Geodesics on an ellipsoid of revolution</i></a>
<a href="https://arxiv.org/abs/1102.1215v1">arXiv:1102.1215v1</a>
(2011-02-07).
</h3>
<p>Addenda:
<ul>
<li>
Google Books does not consistently provide access to the full
text. If you encounter this situation, you can download the
pdf files listed here:
<ul>
<li>
Christoffel (1910),
Google id:
<a href="https://books.google.com/books?id=9W9tAAAAMAAJ">
9W9tAAAAMAAJ</a>,
pdf:
<a href="https://geographiclib.sourceforge.io/geodesic-papers/christoffel-V1.pdf">
christoffel-V1.pdf</a>.
<li>
Darboux (1894),
Google id:
<a href="https://books.google.com/books?id=hGMSAAAAIAAJ">
hGMSAAAAIAAJ</a>,
pdf:
<a href="https://geographiclib.sourceforge.io/geodesic-papers/darboux94.pdf">
darboux94.pdf</a>.
<li>
Eisenhart (1909),
Google id:
<a href="https://books.google.com/books?id=hkENAAAAYAAJ">
hkENAAAAYAAJ</a>,
pdf:
<a href="https://geographiclib.sourceforge.io/geodesic-papers/eisenhart09.pdf">
eisenhart09.pdf</a>.
<li>
Forsyth (1896),
Google id:
<a href="https://books.google.com/books?id=YsAKAAAAIAAJ">
YsAKAAAAIAAJ</a>,
pdf:
<a href="https://geographiclib.sourceforge.io/geodesic-papers/messmath-V25.pdf">
messmath-V25.pdf</a>.
<li>
Gauss (1902),
Google id:
<a href="https://books.google.com/books?id=a1wTJR3kHwUC">
a1wTJR3kHwUC</a>,
pdf:
<a href="https://geographiclib.sourceforge.io/geodesic-papers/gauss28-en.pdf">
gauss28-en.pdf</a>.
<li>
Gauss (1903),
Google id:
<a href="https://books.google.com/books?id=ICwPAAAAIAAJ">
ICwPAAAAIAAJ</a>,
pdf:
<a href="https://geographiclib.sourceforge.io/geodesic-papers/gauss-V9.pdf">
gauss-V9.pdf</a>.
<li>
Helmert (1880),
Google id:
<a href="https://books.google.com/books?id=qt2CAAAAIAAJ">
qt2CAAAAIAAJ</a>,
pdf:
<a href="https://geographiclib.sourceforge.io/geodesic-papers/helmert80.pdf">
helmert80.pdf</a>.
<li>
Jacobi (1891),
Google id:
<a href="https://books.google.com/books?id=_09tAAAAMAAJ">
_09tAAAAMAAJ</a>,
pdf:
<a href="https://geographiclib.sourceforge.io/geodesic-papers/jacobi-V7.pdf">
jacobi-V7.pdf</a>.
</ul>
</ul>
<p>Errata:
<ul>
<li>
Sec. 1, para. 1, line 7: replace &ldquo;taking&rdquo; by
&ldquo;taken&rdquo;.
<li>
Sec. 1, last para., line 4: replace &ldquo;concerned
the&rdquo; by &ldquo;concerned with the&rdquo;.
<li>
p. 5, Eq. (44): replace &ldquo;2<i>l</i>,&sigma;&rdquo; by
&ldquo;2<i>l</i>&sigma;,&rdquo;.
<li>
Sec. 5, para. 1, line 1: replace &ldquo;simply matter&rdquo;
by &ldquo;simply a matter&rdquo;.
<li>
p. 5, col. 2, para. 1, 2nd last line: replace &ldquo;gave him
with a&rdquo; by &ldquo;gave him a&rdquo;.
<li>
p. 6, col. 2, following Eq. (53): replace &ldquo;as noted as
the end&rdquo; by &ldquo;as noted at the end&rdquo;.
<li>
p. 8, col. 1, para. 2, line 3: replace &ldquo;the pair the
pair&rdquo; by &ldquo;the pair&rdquo;.
<li>
Fig. 4, 2nd line of caption: delete &ldquo;close&rdquo;.
<li>
p. 9, col. 1, 2nd last line: replace &ldquo;loose&rdquo; by
&ldquo;lose&rdquo;.
<li>
p. 9, col. 2, Eq. (64): Helmert (1880), Eq. (7.3.7), also
suggested using this equation to solve for
&alpha;<sub>1</sub>.
<li>
Sec. 7, 2nd last para., last line: replace &ldquo;Helmert
(1880, &sect;9.2)&rdquo; by &ldquo;Helmert (1880,
&sect;7.2)&rdquo;.
<li>
Sec. 7: remove the last sentence; there's an updated version
of Rapp (1993) available
at <a href="http://hdl.handle.net/1811/24409">
http://hdl.handle.net/1811/24409</a>.
<li>
p. 12, col. 1, Eq. (73): this equation may be obtained from
Helmert (1880), Eq. (6.9.8b).
<li>
p. 13, col. 1, para. 2, line 3: replace
&ldquo;&phi;<sub>1</sub> + &phi;<sub>1</sub> = 0&rdquo; by
&ldquo;&phi;<sub>1</sub> + &phi;<sub>2</sub> = 0&rdquo;.
<li>
Sec. 11, last para., line 1: replace &ldquo;solution&rdquo; by
&ldquo;solutions&rdquo;.
<li>
Sec. 11, last line: replace &ldquo;slowly that&rdquo; by
&ldquo;slowly than&rdquo;.
<li>
p. 19, col. 2, line 6: replace &ldquo;Thus leads to&rdquo; by
&ldquo;This leads to&rdquo;.
<li>
p. 20, col. 2, 4 lines before 2nd eq.: replace
&ldquo;solving&rdquo; by &ldquo;solved&rdquo;.
<li>
Sec. 14, line 4: replace &ldquo;these rule&rdquo; by
&ldquo;these rules&rdquo;.
<li>
p. 20, col. 2, line 5: replace &ldquo;of of&rdquo; by
&ldquo;of&rdquo;.
<li>
p. 21, col. 2, 9th last line: replace &ldquo;the
point with is a distance&rdquo; by &ldquo;the point which is a
distance&rdquo;.
<li>
p. 21, col. 2, 3rd last line: replace &ldquo;it can also be
solving&rdquo; by &ldquo;it can also be solved&rdquo;.
<li>
p. 23, col. 1, para. 2, line 3: replace
&ldquo;2&pi;<i>c</i><sup>2</sup>&rdquo; by
&ldquo;2&pi;<i>R<sub>q</sub></i><sup>2</sup>&rdquo;.
<li>
p. 23, col. 1, para. 2, 4th last line: replace
&ldquo;the Japan&rdquo; by &ldquo;Japan&rdquo;.
<li>
p. 23, col. 2, last line: replace &ldquo;has has&rdquo; by
&ldquo;has&rdquo;.
<li>
App. B, line 7: replace &ldquo;can therefore by used&rdquo; by
&ldquo;can therefore be used&rdquo;.
<li>
p. 25, col. 1, 2nd last line: the link to Olver et al.,
Sec. 1.11(iii), is incorrect; it should be
<a href="http://dlmf.nist.gov/1.11.iii">
http://dlmf.nist.gov/1.11.iii</a>.
<li>
p. 25, col. 2, last line: replace &ldquo;<i>x</i>
&le; <i>e</i><sup>2</sup>&rdquo; by &ldquo;|<i>x</i>|
&le; <i>e</i><sup>2</sup>&rdquo;.
<li>
p. 26, col. 1, line 2 following Eq. (C1): replace
&ldquo;<i>AFGB</i>&rdquo; by &ldquo;<i>AFHB</i>&rdquo;.
<li>
p. 26, col. 2, following 3rd eq.: insert comma between the
inline equations for <i>b</i> and &gamma;.
<li>
p. 27, col. 2, Eq. (D4): replace
&ldquo;<i>c</i><sup>2</sup>&rdquo; by
&ldquo;<i>R<sub>q</sub></i><sup>2</sup>&rdquo;.
<li>
p. 29, col. 1, refs. Oriani (1806, 1808, 1810): replace
&ldquo;trigonemetria&rdquo; by &ldquo;trigonometria&rdquo;.
</ul>
</p>
<a href="geod.html">Back to resource page for geodesics.</a>
<hr>
<address>Charles Karney
<a href="mailto:charles@karney.com">&lt;charles@karney.com&gt;</a>
(2017-09-30)</address>
<br>
<a href="https://geographiclib.sourceforge.io">
GeographicLib home
</a>
</body>
</html>
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/qqsskk/code.git
git@gitee.com:qqsskk/code.git
qqsskk
code
GeographicLib
master

搜索帮助