跳到正文
格致开物MATHWIKI

球面几何与地图投影

球面几何把地球先近似为半径 R 的球,沿球面的大圆短弧量距离;地图投影把球面或椭球面坐标变成平面坐标,以便绘图和计算。经纬度是角度,不是平面上的米。跨地区选址、远程航线和栅格叠加若直接拿经纬度做欧氏距离,误差可能比优化器改进的那一点距离大得多。

同样的经度差,不同的地面距离

纬度 φ 是赤道以北为正的角,经度 λ 沿东西方向变化;计算三角函数时都以弧度代入。固定纬度 φ 的纬圈半径是 Rcos⁡φ,因此纬圈上一小段经度变化 Δλ 的长度为 Rcos⁡φ|Δλ|。在赤道,东行一弧度长 R;在北纬 60°,同样的经度差沿纬圈只长 R/2。这条纬圈弧一般不是两点间最短的球面路线。

例如两点同在北纬 60°,经度分别为 0° 和 180°。沿该纬圈走半圈,距离是 Rcos⁡60∘⋅π=Rπ/2;经北极走两段各 30° 的子午线,大圆短弧共 60°,距离是 Rπ/3。图中金色路线停在同一纬度,绿色路线越靠近极点。平面图上“水平的一条线”并不能替这两条球面路线比较长度。

北纬六十度经度相差一百八十度的两点,沿纬圈半周长度为Rπ除以二,而经北极的大圆短弧长度为Rπ除以三
球面上的最短路线取大圆短弧;纬圈上的等纬度路线通常更长。

两点球面距离

把两个点记为 (φ1,λ1) 和 (φ2,λ2)。由单位球向量的点积可得中心角 δ 满足 cos⁡δ=sin⁡φ1sin⁡φ2+cos⁡φ1cos⁡φ2cos⁡(λ2−λ1). 因为球面大圆弧长等于半径乘中心角,d=Rδ。数值计算中常把同一关系写为半正矢式: a=sin2φ2−φ12+cos⁡φ1cos⁡φ2sin2λ2−λ12,d=2Ratan2⁡(a,1−a). 程序中将浮点舍入造成的 a 略低于 0 或略高于 1 的值截回 [0,1]。代入前例,φ1=φ2=π/3、Δλ=π,得 a=1/4,δ=π/3,与过极点路线一致。若两点相同,a=0、d=0;若恰好对跖,a=1、d=πR,此时有多条等长大圆路线,不能指定唯一方位。

投影坐标与变形

一个最直观的示意投影是 x=Rλ、y=Rφ。它把经线、纬线画成正交直线,但图上东西向微小长度 R|dλ|,实际球面东西向长度是 Rcos⁡φ|dλ|;图上东西向比例被放大为 1/cos⁡φ,在 60° 纬度是两倍。这个推导已经说明“地图上量两点直线长度”不能无条件当作地面距离。

真实地图投影各自选择保角、保面积或局部距离等侧重点,不存在把整个球面无变形铺到一张平面上的投影。做城市尺度优化时可选择适合当地的投影坐标系,并写明坐标参考系、轴次序、单位和有效区域;跨洲路线应直接用球面大圆或椭球测地线。地球更接近参考椭球,精密测绘、工程测距和极区路线宜使用椭球测地线程序,不把一个随手给定的 R 当成精确地球半径。

用于路线与栅格模型

在路网问题里,球面距离只是两点在地表的几何下界,道路单行、山地障碍和通行时间要由实际网络决定。若把两套栅格数据叠加,先核对投影、基准面、像元大小和像元中心;“像素位置相同”不保证对应同一地点。验收时可挑已知经纬度点反算、检查短距离的单位量级,并把同一对点用球面或椭球方法复核。

参考资料与相关词条