Skip to content

地球、经纬度与高度 ​

经纬度不是铺在平面上的米制网格。它们通过角度描述地球表面的位置,而“地球表面”本身也需要一个模型。球(sphere)便于理解;旋转椭球(ellipsoid of revolution)更好地表达赤道略鼓、极轴略短的整体形状。地形起伏还需要叠加地形数据。

纬度从哪条线量起 ​

经度(longitude)描述绕极轴转过的角度,以本初子午线为起点。地理纬度(geodetic latitude,也称大地纬度)由椭球表面法线与赤道面的夹角定义;地心纬度(geocentric latitude)由地心到该点的连线定义。法线(normal)是垂直于表面的方向。

球的法线经过球心,因此两种纬度相同。椭球通常不满足这个条件。Cesium 常见地理接口使用地理纬度;“画一条地心射线,测它的夹角”得到的量可能不对。

椭球法线和地心连线的区别,以及三种高度的关系

符号 / 英文含义单位
λ / longitude经度rad
φ / geodetic latitude地理纬度rad
a / semi-major axis椭球长半轴m
f / flattening扁率 (a−b)/a无量纲
e² / eccentricity squared第一偏心率平方 f(2−f)无量纲
h / ellipsoidal height沿椭球法线量取的椭球高m
Nφ / prime vertical radius卯酉圈曲率半径m

手算一个容易验证的位置 ​

地心地固坐标(Earth-Centered, Earth-Fixed,ECEF)原点在地心,X 轴指向经度 0° 的赤道点,Y 轴指向东经 90° 的赤道点,Z 轴指向北极。WGS84 椭球取 a = 6378137 m、f = 1/298.257223563。

Nφ=a1−e2sin2⁡φx=(Nφ+h)cos⁡φcos⁡λ,y=(Nφ+h)cos⁡φsin⁡λ,z=(Nφ(1−e2)+h)sin⁡φ.

在 (经度0°, 纬度0°, 高度100 m),正弦为 0,余弦为 1,得到 (6378237, 0, 0) m。在经度 0°、纬度 45°、高度 0 m,则约为 (4517590.88, 0, 4487348.41) m;X 与 Z 不相等,正好说明它不是 45° 的地心射线。ESA 坐标转换说明

ts
function geodeticToECEF(lonDeg: number, latDeg: number, h: number) {
  const a = 6378137, f = 1 / 298.257223563
  const e2 = f * (2 - f)
  const lon = lonDeg * Math.PI / 180
  const lat = latDeg * Math.PI / 180
  const n = a / Math.sqrt(1 - e2 * Math.sin(lat) ** 2)
  return [
    (n + h) * Math.cos(lat) * Math.cos(lon),
    (n + h) * Math.cos(lat) * Math.sin(lon),
    (n * (1 - e2) + h) * Math.sin(lat),
  ]
}

这是教学用正向转换。生产代码使用 Cesium.Cartesian3.fromDegrees;反向转换交给 Cartographic.fromCartesian。不要以同一组经纬度数字就认定不同数据集处于同一个参考基准(datum);参考框架与历元等信息在精密应用中也会产生影响。

“高 100 米”需要补上基准 ​

椭球高 h 是相对数学椭球的高度;正高(orthometric height)H 以大地水准面(geoid)为参考,接近日常“海拔”的意图。大地水准面起伏(geoid undulation)记为 Ng,可用 h ≈ H + Ng 理解它们的关系。这里用 Ng 区别上文的曲率半径 Nφ。

假设某地点 Ng 为 +30 m、H 为 80 m,则 h 约为 110 m。这个 +30 m 只是例子,不能推广到其他地区;转换需要与水平和垂直基准匹配的模型。不同国家的数据还可能使用正常高(normal height)等高度系统。NOAA 大地水准面技术说明

离地高度(height above ground)需要再减去同一基准下的地表高度。气象位势高度(geopotential height)还涉及重力位能,不能只因单位同为米就直接当作椭球高。为展示而夸大高度时,保留原始值,单独计算显示高度。

自检:向“上”移动 ​

在赤道经度 0° 处增加 100 m 椭球高,ECEF 哪个分量增加?一个正高为 80 m 的点,能否直接使用 fromDegrees(lon, lat, 80)?

答案与理由

该位置的法线朝正 X 方向,因此 X 增加 100 m,Z 不变。第二问一般不能:Cesium 这里需要椭球高,应先明确垂直基准及相应转换。若只是可视化近似,也必须说明假设与可能的高度偏差。

回到主课:经纬度、椭球与 ECEF、影像与地形。

气象学 · 数学基础 · 地理可视化