距离计算器用来算两个点之间有多远,支持三种输入方式:平面直角坐标、经纬度、以及直接填两个地址做粗略估算。平面坐标走的是欧几里得公式 √((x₂-x₁)²+(y₂-y₁)²),经纬度走 Haversine 公式,地球半径取 6371.0088 km,输出米/千米/英里。比如你在地图上量出公司(116.4074, 39.9042)和仓库(121.4737, 31.2304)的经纬度,粘进去就能得到约 1067 km 的直线距离,用来估差旅费或判断当天能不能跑来回。所有计算都在浏览器里跑,坐标不会发到服务器。
| 对比维度 | 本工具 | 手工/替代做法 |
|---|---|---|
| 计算耗时 | 输入后即时出结果,约 0.1 秒 | 手算 Haversine 约 3~5 分钟,还要查三角函数表 |
| 精度 | Haversine 球面模型,1000 km 内误差约 0.3% | 用平面勾股定理算经纬度,1000 km 误差可达 10% 以上 |
| 单位换算 | 米/千米/英里/海里一键切换 | 手动乘 1000、1609.344、1852,容易记错系数 |
| 隐私 | 坐标本地计算,不上传 | 在线地图量距会把起终点发给地图服务商 |
| 地址支持 | 支持地址估算,精度到区/街道级 | 手工查两个地址坐标再算,步骤多且易抄错 |
用 Haversine 公式:a=sin²(Δφ/2)+cosφ₁·cosφ₂·sin²(Δλ/2),d=2R·arcsin(√a),R 取 6371.0088 km。它把地球当正球体,忽略椭球扁率,中纬度 1000 km 内误差约 0.3%~0.5%。要更准得用 Vincenty 公式,本工具没上。
不能。平面模式把坐标当同一平面上的直角坐标,单位由你自己定;经纬度模式把输入当角度(十进制度),两者公式完全不同。混填会得到离谱结果,比如把 116.4074 当 x 坐标、39.9042 当 y 坐标,算出来只有 123 左右,不是公里数。
地址模式先做地理编码再算直线距离,精度取决于编码服务返回的坐标粒度,通常落到区/街道级,误差几百米到几公里。它算的是直线,不是路网距离,实际驾车一般要乘 1.2~1.4 的绕行系数。要精确路线请用导航 API。
默认保留 3 位小数。千米模式下 1067.023 表示 1067 米零 23 毫米,够日常用。做测绘或 GIS 建议保留 6 位,因为 0.000001 度纬度约 0.111 米。本工具输出按所选单位换算,米和千米之间是 1000 倍关系。
支持。1 海里=1852 米,1 英里=1609.344 米,换算用精确值不四舍五入。比如 1067.023 km 换成英里是 663.017 mi,换成海里是 576.146 nmi。海里常用于航空和航海,英里在英美路标里常见。
不会。平面和经纬度模式的计算全在浏览器 JS 里完成,页面不发任何请求。地址模式需要调地理编码接口,这时才会把地址文本发出去,坐标本身仍留在本地。断网时前两种模式照常能用。
平面模式无精度损失,只要坐标同单位。经纬度模式用球面模型,R=6371.0088 km,跨极地或超 5000 km 误差会到 0.5% 左右,测绘请用椭球公式。地址模式依赖地理编码,结果是直线距离,不是路网距离。平面和经纬度计算全在浏览器本地完成,不上传任何数据;地址模式仅发送地址文本。