球面两点间的球面距离的计算[1]

[入库:2005年8月19日] [更新:2007年3月24日]

本文简介:选择自 zijinshi 的 blog

球面两点间的球面距离的计算

 

实际上这是一个很简单的问题,今天之所以把他提出来并作出解决方案,是因为昨天在讨论项目的时候,项目lead提出计算地球球面上两点的球面距离是很难的,实际上是一个很简单的立体几何的计算。另一方面,权当作是练习一下c/c++语言,并且锻炼一下自己的设计能力吧。

 

1.  提出问题

已知球面的两点,为了方便起见,以经纬度来唯一标识点的位置(相关概念请参照2.相关预备知识),要求计算出它们的球面距离。

 

 

2.  相关预备知识

这儿提到的预备知识是地球的相关知识,如形状和大小、纬度和经度等相关概念。

1)形状和大小:

地球形状是一个两极部位略扁的不规则的球体。地球的平均半径为6371千米,赤道半径6378千米,极半径6357千米。赤道周长约为4万千米。

2)纬线和纬度、经线和经度

        纬线:纬线都是圆,也称为纬线圈,长度不等。赤道最长,由赤道向两极逐渐缩短,最后成一点。纬线指示东西方向。

        纬度:赤道是零度纬线。赤道以北的纬度,叫北纬,用“n”作代号;赤道以南的纬度叫南纬,用“s”作代号。北纬、南纬各有90°。

        经线:也叫子午线。经线是半圆,所有经线长相等。经线指示南北方向。

        经度:零度经线叫做本初子午线。从本初子午线向东、向西各分作180度,以东的180°属于东经,用“e”作代号;以西的180°属于西经,用“w”作代号。

本文关键:球面两点间的球面距离的计算
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top