
n. [数] 半正矢
The Haversine formula is used generally for computing great-circle distances between two pairs of coordinates on a sphere.
该矢公式用于计算之间的两对大圈的距离,一般在一个球体上的坐标。
Haversine(半正矢函数)是地理计算和导航领域的重要数学概念,主要用于计算地球表面两点之间的最短距离(大圆距离)。该术语源自拉丁语"haversinus",意为"半正矢",最早由19世纪英国数学家詹姆斯·安德鲁提出,用于简化航海学中的球面三角计算。
数学定义
Haversine函数定义为正矢函数(versine)的一半,其公式可表示为:
$$
text{haversin}(theta) = frac{1 - costheta}{2}
$$
该函数在球面三角学中具有数值稳定性的优势,特别是在处理微小角度时,能有效避免浮点运算误差。美国国家标准技术研究院(NIST)的数学函数手册中对此有详细说明。
应用场景
地理距离计算:Haversine公式通过两点的经纬度计算球面距离,被广泛应用于GPS导航系统和地理信息系统(GIS)。公式表达式为:
$$
a = text{haversin}(Deltaphi) + cosphi_1cosphi_2text{haversin}(Deltalambda)
$$
其中$phi$为纬度,$lambda$为经度,最终距离通过反函数计算得出。国际大地测量学协会(IAG)将此公式列为标准计算方法之一。
航空航天导航:飞机航路规划使用该公式优化飞行路径,美国联邦航空管理局(FAA)的技术文档中记录了其在航程计算中的实际应用案例。
历史沿革
该函数的现代形式由爱尔兰数学家圣文森特在1849年完善,其数学推导过程收录于《大英百科全书》的球面几何条目。20世纪计算机技术的兴起使其成为数字地图服务的核心算法之一。
Haversine(半正矢)是一个数学术语,主要用于计算球面上两点之间的最短距离(大圆距离)。以下是详细解释:
1. 定义与公式 Haversine公式通过两点的经纬度计算球面距离,其核心是半正矢函数: $$ text{haversin}(theta) = sinleft(frac{theta}{2}right) $$ 完整距离公式为: $$ d = 2R cdot arcsinleft( sqrt{ sinleft(frac{Deltaphi}{2}right) + cosphi_1 cosphi_2 sinleft(frac{Deltalambda}{2}right) } right) $$ 其中:
2. 应用场景
3. 与平面近似的区别 相比平面欧几里得距离公式,Haversine考虑了地球曲率,在长距离计算中更精确(误差<0.5%),而平面近似仅适用于短距离。
4. 名称来源 源自"half-versed sine"(半正矢函数),是三角函数的一种变体,历史上用于简化球面三角计算。
5. 编程实现
Python等语言可通过geopy.distance.great_circle
或自定义函数实现该公式,JavaScript地图库(如Leaflet)也内置相关方法。
countlesshiatuscriticizeddestroyinggaitssedationspyingurbanizationdegree of hydrolysismotive powerquartz sandstonetop billingworst caseaerologalloskarnCalappidaecamerostomedeadenddidactdpcmduodenoscopyextinguishanthawkmothhylaeionkinaestheticlatummacroblockmaximaGPCtorsional strength