大圆距离计算器
由经纬度算两点在地球上的最短(大圆)距离 —— 支持十进制度与度分秒 —— 输出公里、英里、海里三种单位,以及沿大圆出发的初始方位角与到达方位角。所有输入都在浏览器本地计算,不上传。
同时提供 Windows 桌面版。
关于这个工具
球面上两点间的最短路径是大圆的一段弧 —— 大圆就是圆心与球心重合的那个圆。这就是为什么纽约飞伦敦的航线在平面地图上明显向北弯:你在地图上画的那条直线并不是最短路径,5000 多公里下来两者差出几百公里。本计算器在球面上算,给出的就是飞机或轮船实际量到的那个数。
距离用球面上的 haversine 公式,取半径 6371.0088 公里(IUGG 平均半径),结果与真实椭球值相差约 0.5% 以内 —— 对"这两地有多远"这类问题足够,而且诚实声明它是近似,而不是谎称一个它并不具备的精度。相比之下,单位换算都是精确的:1 英里定义为 1.609344 公里,1 海里定义为 1.852 公里,换单位过程中不做任何四舍五入。
方位角两端都给。初始方位角是你出发时的罗盘航向;由于大圆一路都在改航向,到达端的方位角与它不同 —— 长距离的南北向航线上常常差出几十度。输入同时接受十进制度和度分秒,后者是多数海图与航空文件仍在用的形式;经度超过 ±180 会折回地球,而不是报错。
常见问题
- 为什么航线看起来是弯的?
- 它在球面上并不弯 —— 是平面地图把它画弯了。两点间最短路径是大圆弧,任何把球面压平的投影都会把它掰弯。纽约到伦敦的航线确实明显向北偏,因为大圆比在墨卡托海图上直接连起来的那条线更靠北。
- 跟真实地球相比,这个有多准?
- 地球是两极略扁的椭球,而本计算器把它当作半径 6371.0088 公里的球。由此带来的距离差在 0.5% 以内 —— 伦敦到纽约约 5540 公里上差 20 公里左右。这远小于"究竟用哪两个具体点作起降点"本身的不确定性。
- 初始方位角与到达方位角有什么区别?
- 大圆不是固定罗盘航向 —— 它相对子午线是螺旋前进的。初始方位角是出发时的航向,到达方位角是抵达时的航向。以纽约—伦敦为例,初始约 51°、到达约 108°,这正说明长航线上航向能旋转多少。
- 坐标该用什么格式输入?
- 可以用带半球字母或正负号的十进制度(40.6413 N 或 -73.7781),也可以用度分秒(40° 38′ 23″ N 或 40d 38m 23s N)。半球字母与负号同时出现会被拒绝,因为两者会互相矛盾。分与秒必须小于 60 —— 60.5 分是笔误,不是一个值。
- 海里是什么,为什么它不一样?
- 1 海里被精确定义为 1.852 公里,它传统上就是一分的纬度 —— 这也是沿赤道走 1 度几乎正好是 60 海里(这里是 60.04 海里)的原因。海员和飞行员用它,是因为海图上的距离可以直接在纬度尺上量出来。
- 坐标会被上传吗?
- 不会。所有计算都是页面内的普通算术,没有服务器、没有请求、没有记录;断网状态下工具照常工作 —— 这本身就是最方便的自证方式。