type
Post
status
Published
date
Apr 9, 2023
slug
globe3d/3
summary
详细推导Cesium中的Cartographic和Cartesian3之间的转换过程
tags
教程
理论地球
category
教程
icon
password
学完本章你将了解:
- 地理坐标系转WGS84
- WGS84转地理坐标系
大多数地理数据是以地理坐标系的方式存储,而渲染3D地球是在空间直角坐标系中进行,所以地理数据和空间直角坐标系之间的转换必不可少。
在下面的讨论中,经度用表示,大地纬度用,高度用,表示(经度,纬度,高度)。而空间直角坐标系中的某一点用表示,椭球体表面某点用表示。所有的表面法线都是大地表面法线。
地理坐标系转WGS84
给定地理坐标和一个中心点在远点的的椭球体,假定点是WGS84坐标系,空间直角坐标系中的某一点,椭球体上某点的表面法线是。想要求,只需要计算出点在椭球体表面上的点和高度向量,。

给定表面某点,表面法向量为,根据定义:
(3.1)
给定表面某点,非归一化表面向量为,则:
(3.2)
得到为相差的常量:
(3.3)
将公式(3.2)带入(3.3)得到:
(3.4)
已知,而不知道,所以我们用三个等式重写(3.4):
(3.5)
重新排列下组合:
(3.6)
我们最终要计算,只需要计算出即可,我们都知道椭圆公式为,将(3.6)里的等式将替换可得:
t
(3.7)
将(3.7)代入到(3.6)中可得。
可用高度h和表面法向量计算出:
j
将向量和相加即可得出:
JL2
名称:地理坐标系转WGS84
文字表述:根据地理坐标和椭球体,能计算出相应的空间直角坐标系
函数表述:
//p是地球表面一点,经度,纬度,高度 //e是椭球体默认值为WGS84椭球体 //返回:点p的空间直角坐标系坐标 JL2 = (p:Vec3,e:Ellipsoid = WGS84Ellipsoid)⇒Vec3
WGS84转地理坐标系
wgs84坐标转地理坐标系有些复杂,需要分几步来做。
首先,将椭球体表面的点转换为地理坐标系,再将点沿着
- 计算点沿地心表面法线方向延长线与椭球体表面的交点
假设为空间直角坐标系中任意一点,是点到原点的连线和椭球体的交点,即沿地心表面法线方向与椭球体的交点。
把上述等式代入椭圆方程可得下面等式:
已知和,很容易计算
JL3
名称:ScaleToGeocentricSurface
文字表述:已知空间直角坐标系中的某一点和椭球体,能计算出点沿地心表面法线方向延长线与椭球体表面的交点。
函数表述:
//p是空间直角坐标系的某一点 //e是椭球体默认值为WGS84椭球体 //返回:点p的空间直角坐标系坐标 JL3 = (p:Vec3,e:Ellipsoid = WGS84Ellipsoid)⇒Vec3
(3.8)
- 计算点沿大地表面法线方向延长线与椭球体表面的交点
假设为空间直角坐标系中任意一点,是点到原点的连线和椭球体的交点。则:
(3.9)

向量和(3.2)中的的方向相同,模不同,因此可以得到一个等式:
(3.10)
把(3.10)代入到(3.9)中可得:
把上述等式写成分量的形式,并把(3.2)代入其中得:
ti
提出:
可得:
(3.11)
椭圆公式中改成的形式:
(3.12)
把(3.11)代入到(3.12)中可得:
(3.13)
都是已知的,解方程求得,把代入到等式(3.11)中即可得到,但是怎么解方程的根呢?这里用Newton-Raphson方法求出相似解是最快的办法。这种方法对于地球的扁球体收敛速度很快,而且不需要任何三角函数,效率很高。它不适用于非常接近椭球中心的点。
把(3.13)函数求导函数可得:
(3.14)
在迭代过程中求得的,代入到(3.13)中求得的越接近于0,说明解越精确。根据迭代公式可得:
详细的计算过程就不在罗列。
JL4
名称:ScaleToGeodeticSurface
文字表述:已知空间直角坐标系中的某一点和椭球体,能计算出点沿大地表面法线方向延长线与椭球体表面的交点。
函数表述:
//p是空间直角坐标系的某一点 //e是椭球体默认值为WGS84椭球体 //返回:点p的空间直角坐标系坐标 JL4 = (p:Vec3,e:Ellipsoid = WGS84Ellipsoid)⇒Vec3
- 最终的计算
已知有(3.2)公式,归一化大地表面法线则:
则经纬度分别为:
高度为:,
我们获得了最终的结果
JL5
名称:CartesianToCartographic
文字表述:已知空间直角坐标系中的某一点和椭球体,能计算出该点的经纬度表示
函数表述:
//p是空间直角坐标系的某一点 //e是椭球体默认值为WGS84椭球体 //返回:点p的空间直角坐标系坐标 JL5 = (p:Vec3,e:Ellipsoid = WGS84Ellipsoid)⇒Vec3
- 作者:南山无物
- 链接:http://www.supony.top//article/globe3d/3
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。