深色模式
地球、经纬度与高度
经纬度不是铺在平面上的米制网格。它们通过角度描述地球表面的位置,而“地球表面”本身也需要一个模型。球(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。
在 (经度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、影像与地形。