经纬度距离计算器

计算地球上两点之间的距离 · 支持度分秒/十进制 · 可选 Haversine 或 Vincenty 公式

计算公式:
距离单位:
  • 单点计算
  • 批量计算
点 A (起点)
点 B (终点)
支持度分秒和十进制混合输入

什么是大地距离?

大地距离(Geodesic Distance)是指地球表面上两点之间沿着地球曲面(或椭球面)的最短路径长度,也称为大圆距离或测地线距离。由于地球是一个不规则的椭球体,计算距离时必须考虑曲率,而非简单的平面直线距离。本工具基于WGS-84椭球模型,提供高精度计算。

经纬度距离计算公式详解

Haversine 公式介绍

Haversine 公式是经典的球面三角学公式,它将地球近似为一个标准球体(平均半径约6371公里),计算球面上两点间的大圆距离。公式为:a = sin²(Δφ/2) + cos φ1 ⋅ cos φ2 ⋅ sin²(Δλ/2)c = 2 ⋅ atan2( √a, √(1−a) )d = R ⋅ c。该公式计算速度快,适用于大多数日常应用(如导航、运动记录),精度通常在0.3%以内。对于几百公里内的距离,误差可忽略不计。

Vincenty 公式介绍

Vincenty 公式是基于椭球体的迭代算法,考虑了地球的扁率(赤道半径约6378公里,极半径约6357公里),能够提供毫米级的理论精度。它通过迭代求解椭球面上的测地线,因此比Haversine更精确,尤其适合长距离测量(如洲际航班)和专业测绘。但迭代在两点几乎相对时可能不收敛,此时本工具会回退到Haversine或提示。Vincenty公式的结果通常被视为“真实距离”的参考标准。

经纬度距离计算的应用场景

  • 导航与路线规划:计算两地间的飞行、航海或行车距离,用于行程预估。
  • 户外运动:测量徒步、跑步路线的长度,记录运动轨迹。
  • 地理围栏:判断一个点是否在指定半径内,用于位置提醒或区域限制。
  • 物流配送:批量计算多个点对的距离,优化配送路线。
  • 科研与测绘:高精度距离测量用于地质、气象、天文等领域的数据分析。

距离单位换算

  • 1 公里 (km) = 1000 米
  • 1 英里 (mi) = 1609.344 米
  • 1 海里 (nmi) = 1852 米(国际海里,基于地球周长)
  • 本工具支持在上述单位间切换,结果自动换算。

批量计算使用说明

在“批量计算”标签页,您可以一次性输入多组坐标对,每行格式为:纬度1,经度1,纬度2,经度2,用英文逗号分隔。例如:
39°54'55"N,116°23'51"E,34°03'59"N,118°15'00"W
40.7128,-74.0060,34.0522,-118.2437
支持度分秒和十进制混合输入,空行或行首为#的行会被自动忽略。点击“计算批量距离”后,系统会逐行解析并显示结果表格,解析失败的行会高亮并提示错误原因。

常见问题

为什么Haversine和Vincenty计算结果有差异?误差有多大?

这是由地球模型不同导致的系统偏差。Haversine使用球体模型,Vincenty使用椭球体模型。对于短距离(<100公里),两者差异通常小于1米;对于洲际距离(如北京到纽约),差异可达几百米,约占距离的0.1%~0.3%。理论上Vincenty更接近真实距离,但Haversine的误差在多数日常场景中可接受。如果您需要高精度结果(如科研、测绘),请使用Vincenty;如果追求速度且精度要求不高,Haversine即可。

输入格式支持哪些?

支持三种常见格式:
- 度分秒(DMS):如 39°54'55"N(纬度),116°23'51"E(经度)。
- 度分(DM):如 39°54.9167'N,116°23.85'E。
- 十进制(DD):如 39.9125,-118.2500(负数表示南纬/西经)。
方向字母 N/S/E/W 可大写或小写,度分秒符号需使用英文单引号(')和双引号(")。

计算结果可靠吗?

本工具基于业界广泛使用的 geolib 库,其核心算法(Haversine 和 Vincenty)经过严格验证,结果稳定可靠。Vincenty 公式在正常条件下误差可忽略;Haversine 误差在0.3%以内。但对于极端情况(如两点几乎对跖),Vincenty 迭代可能不收敛,此时会提示错误,建议改用 Haversine。

可以计算多点路径的总长度吗?

本工具目前针对两点间的距离计算。如需计算多个点组成的路径总长度,您可以将路径拆分为多个线段,依次计算后累加,或使用 geolib 的 getPathLength 函数(需编程实现)。后续版本可能会增加多点路径计算功能。

更多问题,欢迎通过网站反馈渠道联系我们。

格式转换

可以使用本站工具经纬度格式转换或在搜索框搜"经纬度格式转换"