Skip to content

经纬度、椭球与 ECEF ​

经纬度便于描述地球上的位置,但 GPU 最终需要三维笛卡尔坐标(Cartesian coordinates),也就是沿三条互相垂直的轴记录位置。Cesium 的常用世界坐标是地心地固坐标(Earth-Centered, Earth-Fixed,ECEF):原点在地心,Z 轴指向北极,X 轴穿过赤道与本初子午线交点,Y 轴穿过赤道与东经九十度交点。三个分量以米为单位,跟随地球一起旋转。

如果弧度、正弦或高度基准还不熟悉,先读角度与单位及地球与高度。本课会给出每个坐标符号的意义,不要求先背转换公式。

WGS84椭球上的经度、纬度、高度以及ECEF坐标轴

纬度不是随手画出的地心夹角 ​

WGS84(World Geodetic System 1984)是世界大地参考系统,本课使用其中的参考椭球。地理纬度(geodetic latitude)是椭球表面法线(surface normal)与赤道面的夹角;法线是垂直于该处表面切平面的方向;除赤道和极点等特殊位置外,法线不穿过地心。把它当成球面角度直接计算,在精确定位和高度表达时会产生误差。

设经度(longitude)为 λ、纬度为 φ,两者在公式中用弧度(radian);椭球高(ellipsoidal height)h 与赤道半径 a 用米。若极半径为 b,第一偏心率(first eccentricity)满足 e²=1−b²/a²,没有单位;它刻画椭球偏离球的程度。N 是随纬度变化的卯酉圈曲率半径(prime vertical radius of curvature),也用米:

text
N = a / sqrt(1 − e² sin²φ)
x = (N + h) cosφ cosλ
y = (N + h) cosφ sinλ
z = (N(1 − e²) + h) sinφ

sin、cos 分别是正弦(sine)和余弦(cosine),将角度对应到方向分量;sqrt 是平方根(square root),sin²φ 表示先求正弦再平方。输出 x、y、z 均为米。在 λ=0、φ=0、h=0 处,公式给出 (a,0,0),可以用来检查轴向。日常应用可让 Cesium 执行坐标转换,但仍须确认输入单位。

以下计算片段假设已执行 import * as Cesium from 'cesium';这里省略模块导入,不需要为计算单独创建 Viewer。

js
const world = Cesium.Cartesian3.fromDegrees(114, 22, 1000);
const geo = Cesium.Cartographic.fromCartesian(world);
console.log(Cesium.Math.toDegrees(geo.longitude));
console.log(Cesium.Math.toDegrees(geo.latitude));
console.log(geo.height); // 椭球高,米

fromDegrees 接收角度;Cartographic 内部的经纬度使用弧度。一个 API 返回 1.99,并不意味着位置突然到了东经两度:它可能代表约一百一十四度。变量名写成 longitudeRadians 或 longitudeDegrees 能减少这种错误。

“高度一千米”仍然缺少信息 ​

椭球高以数学椭球为基准;正高(orthometric height)以大地水准面(geoid)为基准,日常“海拔”还必须结合具体高程系统解释。离地高度(height above ground)相对当地地形;气象位势高度(geopotential height)由重力位势换算得来。它们即使都以米表示,也不是同一种量。将气压面的 ZG 数据传入高度参数前,需要说明采用何种近似与转换。高度被放大用于展示时,还应保留原始科学值,不能把屏幕上的夸张高度用于定量计算。

地球上的坐标系EXPERIMENT 02 · CESIUM 1.145.0

地球上的坐标系

移动经纬度,观察 ECEF 数值和局部 ENU 坐标轴。

在浏览器本地运行 · 无需账号 · 鼠标拖动旋转,滚轮缩放

底图:Natural Earth II(公共领域);其余几何和地形为教学合成。 数据说明
查看运行源码

此代码直接读取实际运行的实验模块。按 kind 分支定位当前实验,也可查看数据公式和 GLSL。

读取源码…

观察任务: 把经度固定为 114°,将纬度从 0° 调到 60°,再把“椭球高”从 0 调到 100000 米。观察 ECEF 读数与局部轴的位置变化,比较相同经度差在不同纬度的空间距离。

展开解释

相同经度差在高纬对应更短的东西距离,经线在极点汇聚。经纬度差不能直接当作米制位移。高度增加沿局部椭球法线抬升,也不是统一增加 ECEF 的 Z 分量;后者只代表向地球北极轴方向移动。

官方延伸:Cartesian3 坐标转换、1.145 Ellipsoid 源码。

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