如何通过两个经纬度坐标点计算对应的宽度和高度?
前置说明
两个点为待计算区域的对角经纬度点,所有角度计算前需先转为弧度制,地球平均半径R默认取值为6371km,可根据精度需求调整为对应椭球参数。
设两个点的参数分别为:
- 点1:纬度
φ₁,经度λ₁(角度转弧度公式:弧度值 = 角度值 × π / 180) - 点2:纬度
φ₂,经度λ₂
高度(南北方向距离)计算公式
南北方向距离仅和纬度差相关:H = R × |φ₁ - φ₂|
其中|φ₁ - φ₂|为两点纬度的弧度差绝对值。
宽度(东西方向距离)计算公式
东西方向距离需要结合所在纬度计算:
- 计算两点平均纬度:
φ_avg = (φ₁ + φ₂) / 2 - 计算经度差绝对值,跨180°经线时需修正:
- 常规情况:
Δλ = |λ₁ - λ₂| - 跨180°经线(
|λ₁ - λ₂| > π):Δλ = 2π - |λ₁ - λ₂|
- 常规情况:
- 最终宽度:
W = R × Δλ × cos(φ_avg)
如果需要更高精度的计算,也可以采用哈弗辛公式直接计算同纬度两点的东西距离、同经度两点的南北距离,上述球面近似公式在中小尺度区域下误差可忽略。
内容的提问来源于stack exchange,提问作者ckocak
相关产品推荐
相关产品推荐

