fbpx
维基百科

半正矢公式

半正矢公式是一种根据两点的经度纬度来确定大圆上两点之间距离的计算方法,在導航有着重要地位。它是球面三角學中“半正矢定理”公式的特例,该定理涉及了球面三角形的边和角。

尽管第一份英文版的半正矢表由詹姆斯·安德鲁在1805年印刷出版[1],但弗洛里安·卡喬里相信José de Mendoza y Ríos在1801年就使用过类似的术语[2][3]。“半正矢”这个名字由詹姆斯·英曼在1835年创造[4][5]

这个公式正如其名,用半正矢函数表达,通过 而来。该公式可以用半正矢函数的任意倍数表达,如正矢函数(半正矢函数的两倍)。在计算机出现之前,为了计算简便,人们会利用对数来计算乘积和利用半正矢函数计算距离,所以在十九和二十世纪初的导航和三角测量书中包含了半正矢值表和对数表。现在,将该公式用半正矢函数表达也很方便,因为它能避免 的系数。

半正矢公式 编辑

对于任何球面上的两点,圆心角的半正矢值可以通过如下公式计算:

 
  •   是半正矢函数的缩写:
 
  •   是两点之间的距离(沿大圆,见球面距离);
  •   是球的半径;
  •   :点 1 的纬度和点 2 的纬度,以弧度制度量;
  •   :点 1 的经度和点 2 的经度,以弧度制度量。

左边的等号   是圆心角,以弧度来度量。

可以通过应用反半正矢函数(如果可以查到值)或通过使用反正弦函数来解出  

 

  ,代入可得:

 

在使用这个公式时,必须确保   不超过 1 (   只当   的值在 0 到 1 间才有意义)。  仅在球面上两点连线过球心时才为 1 ,当测量精度有限时,会产生较大的计算误差。   如果大到接近圆周的一半长度   时(这个情况并不常见),一个小错误通常是一个大问题在。虽然还有其他的大圆距离公式,能够避免这个问题。上述公式有时候用反正切函数表达,但是   接近 1 时这个问题仍然存在。

但是仍有对策来避免上述问题。类似的公式可以使用余弦函数表达(有时亦称为球面余弦定理,但是并非平面余弦定理)而不是半正矢,但如果这两点十分靠近(例如在地球上的一公里外)你可能得到的结果为  ,导致一系列的误差。而由于半正矢式使用正弦函数,避免了这一问题。所以两个公式应该互补使用。

因为地球是一个不完美的球体,故当其应用于地球时,无论哪一个公式只是做一个近似测算,“地球半径  在极点地区是   公里,在赤道地区为   公里。另外,半径曲率在极点处(  公里)比在赤道处(  公里)大 1% ,所以半正矢公式或者球面余弦定理是不能保证 0.5% 以内的误差。更准确的方法,应该是使用考虑地球离心率的Vincenty的公式或其他有关地理距离的论文所给出方法。

半正矢定理 编辑

 
半正矢定理解球面三角形问题

给出一个单位球,一个在表面的球面三角形三个过三点   的大圆所围出来的区域。如图,这个球面三角形的三边分别是    ),    )和    )并且角   对边   那么有如下关系

 [6]

由于这是一个单位球,弧长     与两端点同球心构成的圆心角(弧度制)相等。

为了从该定理中得到半正矢公式,只需要考虑一种特殊情况,即  北极,而    是需要确定距离   两个点。在这个情况下,     来计算(即 90° - 维度),   为经度分隔    为求得的 。结合  ,半正矢公式即可推导得出。

或者可以从球面余弦定理中得出

 

  很小时,这个公式精度不高。所以我们可以用   来替换 ,并引用三角恒等式  ,半正矢定理就能推出。

另见 编辑

  • 视觉算法英语sight reduction

参考文献 编辑

  1. ^ van Brummelen, Glen Robert. Heavenly Mathematics: The Forgotten Art of Spherical Trigonometry. Princeton University Press. 2013 [2015-11-10]. ISBN 9780691148922. 0691148929. 
  2. ^ de Mendoza y Ríos, Joseph. Memoria sobre algunos métodos nuevos de calcular la longitud por las distancias lunares: y aplication de su teórica á la solucion de otros problemas de navegacion. Madrid, Spain: Imprenta Real. 1795 [2018-08-14]. (原始内容于2017-11-07) (西班牙语). 
  3. ^ Cajori, Florian. A History of Mathematical Notations 2 2 (3rd corrected printing of 1929 issue). Chicago, USA: Open court publishing company. 1952: 172 [1929] [2015-11-11]. ISBN 978-1-60206-714-1. 1602067147. The haversine first appears in the tables of logarithmic versines of José de Mendoza y Rios (Madrid, 1801, also 1805, 1809), and later in a treatise on navigation of James Inman (1821). 
  4. ^ Inman, James. Navigation and Nautical Astronomy: For the Use of British Seamen 3. London, UK: W. Woodward, C. & J. Rivington. 1835 [1821] [2015-11-09]. (原始内容于2016-12-28). 
  5. ^ Template:OED2
  6. ^ Korn, Grandino Arthur; Korn, Theresa M. Appendix B: B9. Plane and Spherical Trigonometry: Formulas Expressed in Terms of the Haversine Function. Mathematical handbook for scientists and engineers: Definitions, theorems, and formulas for reference and review 3. Mineola, New York, USA: Dover Publications, Inc. 2000: 892–893 [1922]. ISBN 978-0-486-41147-7. 

延伸阅读 编辑

  • 美国人口普查局的 地理信息系统的问题(内容已被转移到 什么是最好的方式来计算两点间的距离?(页面存档备份,存于互联网档案馆))
  • R.W.Sinnott的"半正矢的优点", Sky and Telescope 68 (2), 159 (1984).
  • 推导半正矢公式(页面存档备份,存于互联网档案馆),Ask Dr.Math(Apr. 20–21,1999)。
  • Romuald Ireneus'Scibor-Marchocki, , 初等几何(1997年)。
  • W.Gellert,S.Gottwald,M.Hellwich,H.Kästner和H.Küstner的,The VNR Concise Encyclopedia of Mathematics,2nd ed., ch. 12(Van Nostrand Reinhold:纽约,1989年)。

外部链接 编辑

半正矢公式, 是一种根据两点的经度和纬度来确定大圆上两点之间距离的计算方法, 在導航有着重要地位, 它是球面三角學中, 半正矢定理, 公式的特例, 该定理涉及了球面三角形的边和角, 尽管第一份英文版的半正矢表由詹姆斯, 安德鲁在1805年印刷出版, 但弗洛里安, 卡喬里相信josé, mendoza, ríos在1801年就使用过类似的术语, 半正矢, 这个名字由詹姆斯, 英曼在1835年创造, 这个公式正如其名, 用半正矢函数表达, 通过, haversin, displaystyle, operatorname. 半正矢公式是一种根据两点的经度和纬度来确定大圆上两点之间距离的计算方法 在導航有着重要地位 它是球面三角學中 半正矢定理 公式的特例 该定理涉及了球面三角形的边和角 尽管第一份英文版的半正矢表由詹姆斯 安德鲁在1805年印刷出版 1 但弗洛里安 卡喬里相信Jose de Mendoza y Rios在1801年就使用过类似的术语 2 3 半正矢 这个名字由詹姆斯 英曼在1835年创造 4 5 这个公式正如其名 用半正矢函数表达 通过 haversin 8 sin 2 8 2 displaystyle operatorname haversin theta sin 2 left frac theta 2 right 而来 该公式可以用半正矢函数的任意倍数表达 如正矢函数 半正矢函数的两倍 在计算机出现之前 为了计算简便 人们会利用对数来计算乘积和利用半正矢函数计算距离 所以在十九和二十世纪初的导航和三角测量书中包含了半正矢值表和对数表 现在 将该公式用半正矢函数表达也很方便 因为它能避免 sin 2 displaystyle sin 2 的系数 目录 1 半正矢公式 2 半正矢定理 3 另见 4 参考文献 5 延伸阅读 6 外部链接半正矢公式 编辑对于任何球面上的两点 圆心角的半正矢值可以通过如下公式计算 hav d r hav f 2 f 1 cos f 1 cos f 2 hav l 2 l 1 displaystyle operatorname hav left frac d r right operatorname hav varphi 2 varphi 1 cos varphi 1 cos varphi 2 operatorname hav lambda 2 lambda 1 nbsp hav displaystyle operatorname hav nbsp 是半正矢函数的缩写 hav 8 sin 2 8 2 1 cos 8 2 displaystyle operatorname hav theta sin 2 left frac theta 2 right frac 1 cos theta 2 nbsp d displaystyle d nbsp 是两点之间的距离 沿大圆 见球面距离 r displaystyle r nbsp 是球的半径 f 1 f 2 displaystyle varphi 1 varphi 2 nbsp 点 1 的纬度和点 2 的纬度 以弧度制度量 l 1 l 2 displaystyle lambda 1 lambda 2 nbsp 点 1 的经度和点 2 的经度 以弧度制度量 左边的等号 d r displaystyle frac d r nbsp 是圆心角 以弧度来度量 可以通过应用反半正矢函数 如果可以查到值 或通过使用反正弦函数来解出 d displaystyle d nbsp d r archav h 2 r arcsin h displaystyle d r operatorname archav h 2r arcsin left sqrt h right nbsp h hav d r displaystyle h operatorname hav frac d r nbsp 代入可得 d 2 r arcsin hav f 2 f 1 cos f 1 cos f 2 hav l 2 l 1 2 r arcsin sin 2 f 2 f 1 2 cos f 1 cos f 2 sin 2 l 2 l 1 2 displaystyle begin aligned d amp 2r arcsin left sqrt operatorname hav varphi 2 varphi 1 cos varphi 1 cos varphi 2 operatorname hav lambda 2 lambda 1 right amp 2r arcsin left sqrt sin 2 left frac varphi 2 varphi 1 2 right cos varphi 1 cos varphi 2 sin 2 left frac lambda 2 lambda 1 2 right right end aligned nbsp 在使用这个公式时 必须确保 h displaystyle h nbsp 不超过 1 d displaystyle d nbsp 只当 h displaystyle h nbsp 的值在 0 到 1 间才有意义 h displaystyle h nbsp 仅在球面上两点连线过球心时才为 1 当测量精度有限时 会产生较大的计算误差 d displaystyle d nbsp 如果大到接近圆周的一半长度 p R displaystyle pi R nbsp 时 这个情况并不常见 一个小错误通常是一个大问题在 虽然还有其他的大圆距离公式 能够避免这个问题 上述公式有时候用反正切函数表达 但是 h displaystyle h nbsp 接近 1 时这个问题仍然存在 但是仍有对策来避免上述问题 类似的公式可以使用余弦函数表达 有时亦称为球面余弦定理 但是并非平面余弦定理 而不是半正矢 但如果这两点十分靠近 例如在地球上的一公里外 你可能得到的结果为 cos d r 0 99999999 displaystyle cos frac d r 0 99999999 nbsp 导致一系列的误差 而由于半正矢式使用正弦函数 避免了这一问题 所以两个公式应该互补使用 因为地球是一个不完美的球体 故当其应用于地球时 无论哪一个公式只是做一个近似测算 地球半径 R displaystyle R nbsp 在极点地区是 6356 752 displaystyle 6356 752 nbsp 公里 在赤道地区为 6378 137 displaystyle 6378 137 nbsp 公里 另外 半径曲率在极点处 6399 594 displaystyle approx 6399 594 nbsp 公里 比在赤道处 6335 439 displaystyle approx 6335 439 nbsp 公里 大 1 所以半正矢公式或者球面余弦定理是不能保证 0 5 以内的误差 更准确的方法 应该是使用考虑地球离心率的Vincenty的公式或其他有关地理距离的论文所给出方法 半正矢定理 编辑 nbsp 半正矢定理解球面三角形问题给出一个单位球 一个在表面的球面三角形三个过三点 u v w displaystyle u v w nbsp 的大圆所围出来的区域 如图 这个球面三角形的三边分别是 a displaystyle a nbsp u displaystyle mathbf u nbsp 至 v displaystyle mathbf v nbsp b displaystyle b nbsp u displaystyle mathbf u nbsp 到 w displaystyle mathbf w nbsp 和 c displaystyle c nbsp v displaystyle mathbf v nbsp 至 w displaystyle mathbf w nbsp 并且角 C displaystyle C nbsp 对边 c displaystyle c nbsp 那么有如下关系hav c hav a b sin a sin b hav C displaystyle operatorname hav c operatorname hav a b sin a sin b operatorname hav C nbsp 6 由于这是一个单位球 弧长 a displaystyle a nbsp b displaystyle b nbsp 和 c displaystyle c nbsp 与两端点同球心构成的圆心角 弧度制 相等 为了从该定理中得到半正矢公式 只需要考虑一种特殊情况 即 u displaystyle mathbf u nbsp 是北极 而 v displaystyle mathbf v nbsp 和 w displaystyle mathbf w nbsp 是需要确定距离 d displaystyle mathbf d nbsp 两个点 在这个情况下 a displaystyle a nbsp 和 b displaystyle b nbsp 由 p 2 f 1 2 displaystyle frac pi 2 varphi 1 2 nbsp 来计算 即 90 维度 C displaystyle C nbsp 为经度分隔 D l displaystyle Delta lambda nbsp 和 c displaystyle c nbsp 为求得的d R displaystyle frac d R nbsp 结合 sin p 2 f cos f displaystyle sin left frac pi 2 varphi right cos varphi nbsp 半正矢公式即可推导得出 或者可以从球面余弦定理中得出 cos c cos a cos b sin a sin b cos C displaystyle cos c cos a cos b sin a sin b cos C nbsp displaystyle 当 c displaystyle c nbsp 很小时 这个公式精度不高 所以我们可以用 cos 8 1 2 hav 8 displaystyle cos theta 1 2 operatorname operatorname hav theta nbsp 来替换 并引用三角恒等式 cos a b cos a cos b sin a sin b displaystyle cos a b cos a cos b sin a sin b nbsp 半正矢定理就能推出 另见 编辑视觉算法 英语 sight reduction 参考文献 编辑 van Brummelen Glen Robert Heavenly Mathematics The Forgotten Art of Spherical Trigonometry Princeton University Press 2013 2015 11 10 ISBN 9780691148922 0691148929 de Mendoza y Rios Joseph Memoria sobre algunos metodos nuevos de calcular la longitud por las distancias lunares y aplication de su teorica a la solucion de otros problemas de navegacion Madrid Spain Imprenta Real 1795 2018 08 14 原始内容存档于2017 11 07 西班牙语 Cajori Florian A History of Mathematical Notations 2 2 3rd corrected printing of 1929 issue Chicago USA Open court publishing company 1952 172 1929 2015 11 11 ISBN 978 1 60206 714 1 1602067147 The haversine first appears in the tables of logarithmic versines of Jose de Mendoza y Rios Madrid 1801 also 1805 1809 and later in a treatise on navigation of James Inman 1821 Inman James Navigation and Nautical Astronomy For the Use of British Seamen 3 London UK W Woodward C amp J Rivington 1835 1821 2015 11 09 原始内容存档于2016 12 28 Template OED2 Korn Grandino Arthur Korn Theresa M Appendix B B9 Plane and Spherical Trigonometry Formulas Expressed in Terms of the Haversine Function Mathematical handbook for scientists and engineers Definitions theorems and formulas for reference and review 3 Mineola New York USA Dover Publications Inc 2000 892 893 1922 ISBN 978 0 486 41147 7 延伸阅读 编辑美国人口普查局的 地理信息系统的问题 内容已被转移到 什么是最好的方式来计算两点间的距离 页面存档备份 存于互联网档案馆 R W Sinnott的 半正矢的优点 Sky and Telescope 68 2 159 1984 推导半正矢公式 页面存档备份 存于互联网档案馆 Ask Dr Math Apr 20 21 1999 Romuald Ireneus Scibor Marchocki 球三角形 初等几何 1997年 W Gellert S Gottwald M Hellwich H Kastner和H Kustner的 The VNR Concise Encyclopedia of Mathematics 2nd ed ch 12 Van Nostrand Reinhold 纽约 1989年 外部链接 编辑用的91种编程语言rosettacode org实现半正矢公式 页面存档备份 存于互联网档案馆 或 17种编程语言codecodex com 页面存档备份 存于互联网档案馆 其它在 C 页面存档备份 存于互联网档案馆 C mac os 页面存档备份 存于互联网档案馆 Pascal 页面存档备份 存于互联网档案馆 Python Ruby 页面存档备份 存于互联网档案馆 JavaScript 页面存档备份 存于互联网档案馆 PHP 页面存档备份 存于互联网档案馆 Matlab 页面存档备份 存于互联网档案馆 MySQL中的实现 由任何两者之间的纬度和经度计算距离 方位等 http www movable type co uk 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title 半正矢公式 amp oldid 75791514, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。