| Name | Type | Default | Description |
|---|---|---|---|
x |
number |
0
|
optional x 方向的半径。 |
y |
number |
0
|
optional y 方向的半径。 |
z |
number |
0
|
optional z 方向的半径。 |
Throws:
-
DeveloperError :所有半径分量必须大于或等于零。
Members
static Cesium.Ellipsoid.default : Ellipsoid
未另行指定时使用的默认椭球体。
Example:
Cesium.Ellipsoid.default = Cesium.Ellipsoid.MOON;
// Apollo 11 landing site
const position = Cesium.Cartesian3.fromRadians(
0.67416,
23.47315,
);
static constant Cesium.Ellipsoid.MARS : Ellipsoid
初始化为具有火星平均半径的球体的 Ellipsoid 实例。
来源:https://epsg.io/104905
static constant Cesium.Ellipsoid.MOON : Ellipsoid
初始化为具有月球半径的球体的 Ellipsoid 实例。
用于将对象打包到数组中的元素数量。
static constant Cesium.Ellipsoid.UNIT_SPHERE : Ellipsoid
初始化为半径 (1.0, 1.0, 1.0) 的 Ellipsoid 实例。
static constant Cesium.Ellipsoid.WGS84 : Ellipsoid
初始化为 WGS84 标准的 Ellipsoid 实例。
获取椭球体的最大半径。
获取椭球体的最小半径。
readonly oneOverRadii : Cartesian3
获取椭球体半径的倒数。
readonly oneOverRadiiSquared : Cartesian3
获取椭球体半径平方的倒数。
readonly radii : Cartesian3
获取椭球体的半径。
readonly radiiSquared : Cartesian3
获取椭球体半径的平方。
readonly radiiToTheFourth : Cartesian3
获取椭球体半径的四次方。
Methods
static Cesium.Ellipsoid.clone(ellipsoid, result) → Ellipsoid
复制一个 Ellipsoid 实例。
| Name | Type | Description |
|---|---|---|
ellipsoid |
Ellipsoid | 要复制的椭球体。 |
result |
Ellipsoid | optional 用于存储结果的对象,如果要创建新实例则为 undefined。 |
Returns:
克隆的 Ellipsoid。(如果椭球体为 undefined 则返回 undefined)
static Cesium.Ellipsoid.fromCartesian3(cartesian, result) → Ellipsoid
根据指定 x、y 和 z 方向半径的 Cartesian 计算一个 Ellipsoid。
| Name | Type | Default | Description |
|---|---|---|---|
cartesian |
Cartesian3 |
Cartesian3.ZERO
|
optional 椭球体在 x、y 和 z 方向的半径。 |
result |
Ellipsoid | optional 用于存储结果的对象,如果要创建新实例则为 undefined。 |
Returns:
一个新的 Ellipsoid 实例。
Throws:
-
DeveloperError :所有半径分量必须大于或等于零。
将所提供的实例存储到所提供的数组中。
| Name | Type | Default | Description |
|---|---|---|---|
value |
Ellipsoid | 要打包的值。 | |
array |
Array.<number> | 要打包到的数组。 | |
startingIndex |
number |
0
|
optional 开始打包元素的数组索引。 |
Returns:
已打包到的数组
static Cesium.Ellipsoid.unpack(array, startingIndex, result) → Ellipsoid
从打包的数组中检索一个实例。
| Name | Type | Default | Description |
|---|---|---|---|
array |
Array.<number> | 打包后的数组。 | |
startingIndex |
number |
0
|
optional 要解包的元素起始索引。 |
result |
Ellipsoid | optional 用于存储结果的对象。 |
Returns:
修改后的 result 参数,如果未提供则返回一个新的 Ellipsoid 实例。
cartesianArrayToCartographicArray(cartesians, result) → Array.<Cartographic>
将所提供的笛卡尔坐标数组转换为大地坐标数组。
| Name | Type | Description |
|---|---|---|
cartesians |
Array.<Cartesian3> | 笛卡尔坐标位置数组。 |
result |
Array.<Cartographic> | optional 用于存储结果的对象。 |
Returns:
修改后的 result 参数,如果未提供则返回一个新的 Array 实例。
Example:
//Create an array of Cartesians and determine their Cartographic representation on a WGS84 ellipsoid.
const positions = [new Cesium.Cartesian3(17832.12, 83234.52, 952313.73),
new Cesium.Cartesian3(17832.13, 83234.53, 952313.73),
new Cesium.Cartesian3(17832.14, 83234.54, 952313.73)]
const cartographicPositions = Cesium.Ellipsoid.WGS84.cartesianArrayToCartographicArray(positions);
cartesianToCartographic(cartesian, result) → Cartographic
将所提供的笛卡尔坐标转换为大地坐标表示。
在椭球体中心处,笛卡尔坐标为 undefined。
| Name | Type | Description |
|---|---|---|
cartesian |
Cartesian3 | 要转换为大地坐标表示的笛卡尔坐标位置。 |
result |
Cartographic | optional 用于存储结果的对象。 |
Returns:
修改后的 result 参数,如果未提供则返回新的 Cartographic 实例;如果笛卡尔坐标位于椭球体中心则返回 undefined。
Example:
//Create a Cartesian and determine it's Cartographic representation on a WGS84 ellipsoid.
const position = new Cesium.Cartesian3(17832.12, 83234.52, 952313.73);
const cartographicPosition = Cesium.Ellipsoid.WGS84.cartesianToCartographic(position);
cartographicArrayToCartesianArray(cartographics, result) → Array.<Cartesian3>
将所提供的大地坐标数组转换为笛卡尔坐标数组。
| Name | Type | Description |
|---|---|---|
cartographics |
Array.<Cartographic> | 大地坐标位置数组。 |
result |
Array.<Cartesian3> | optional 用于存储结果的对象。 |
Returns:
修改后的 result 参数,如果未提供则返回一个新的 Array 实例。
Example:
//Convert an array of Cartographics and determine their Cartesian representation on a WGS84 ellipsoid.
const positions = [new Cesium.Cartographic(Cesium.Math.toRadians(21), Cesium.Math.toRadians(78), 0),
new Cesium.Cartographic(Cesium.Math.toRadians(21.321), Cesium.Math.toRadians(78.123), 100),
new Cesium.Cartographic(Cesium.Math.toRadians(21.645), Cesium.Math.toRadians(78.456), 250)];
const cartesianPositions = Cesium.Ellipsoid.WGS84.cartographicArrayToCartesianArray(positions);
cartographicToCartesian(cartographic, result) → Cartesian3
将所提供的大地坐标转换为笛卡尔坐标表示。
| Name | Type | Description |
|---|---|---|
cartographic |
Cartographic | 大地坐标位置。 |
result |
Cartesian3 | optional 用于存储结果的对象。 |
Returns:
修改后的 result 参数,如果未提供则返回一个新的 Cartesian3 实例。
Example:
//Create a Cartographic and determine it's Cartesian representation on a WGS84 ellipsoid.
const position = new Cesium.Cartographic(Cesium.Math.toRadians(21), Cesium.Math.toRadians(78), 5000);
const cartesianPosition = Cesium.Ellipsoid.WGS84.cartographicToCartesian(position);
clone(result) → Ellipsoid
复制一个 Ellipsoid 实例。
| Name | Type | Description |
|---|---|---|
result |
Ellipsoid | optional 用于存储结果的对象,如果要创建新实例则为 undefined。 |
Returns:
克隆的 Ellipsoid。
将此 Ellipsoid 与所提供的 Ellipsoid 逐项比较,如果它们相等则返回
true,否则返回 false。
| Name | Type | Description |
|---|---|---|
right |
Ellipsoid | optional 另一个 Ellipsoid。 |
Returns:
如果它们相等则为
true,否则为 false。
geocentricSurfaceNormal(cartesian, result) → Cartesian3
计算从此椭球体中心指向所提供的笛卡尔坐标位置的单位向量。
| Name | Type | Description |
|---|---|---|
cartesian |
Cartesian3 | 要确定地心法线的笛卡尔坐标。 |
result |
Cartesian3 | optional 用于存储结果的对象。 |
Returns:
修改后的 result 参数,如果未提供则返回一个新的 Cartesian3 实例。
geodeticSurfaceNormal(cartesian, result) → Cartesian3
计算在所提供的位置处与椭球体表面相切的平面的法线。
| Name | Type | Description |
|---|---|---|
cartesian |
Cartesian3 | 要确定表面法线的笛卡尔坐标位置。 |
result |
Cartesian3 | optional 用于存储结果的对象。 |
Returns:
修改后的 result 参数,如果未提供则返回一个新的 Cartesian3 实例;如果无法找到法线则返回 undefined。
geodeticSurfaceNormalCartographic(cartographic, result) → Cartesian3
计算在所提供的位置处与椭球体表面相切的平面的法线。
| Name | Type | Description |
|---|---|---|
cartographic |
Cartographic | 要确定测地法线的大地坐标位置。 |
result |
Cartesian3 | optional 用于存储结果的对象。 |
Returns:
修改后的 result 参数,如果未提供则返回一个新的 Cartesian3 实例。
getLocalCurvature(surfacePosition, result) → Cartesian2
计算表面给定位置处的椭球体曲率。
| Name | Type | Description |
|---|---|---|
surfacePosition |
Cartesian3 | 将计算曲率的椭球体表面位置。 |
result |
Cartesian2 | optional 要复制结果的笛卡尔坐标,如果要创建并返回新实例则为 undefined。 |
Returns:
在所提供的位置处椭球体表面的局部曲率,以东和北方向表示。
Throws:
-
DeveloperError :position 是必需的。
getSurfaceNormalIntersectionWithZAxis(position, buffer, result) → Cartesian3|undefined
计算表面法线与 z 轴相交的点。
| Name | Type | Default | Description |
|---|---|---|---|
position |
Cartesian3 | 该位置。必须位于椭球体表面上。 | |
buffer |
number |
0.0
|
optional 用于检查点是否在椭球体内部时从椭球体大小中减去的缓冲区。 对于地球的情况,使用常见的地球基准时,不需要此缓冲区,因为交点(相对地)总是非常接近中心。 在 WGS84 基准中,交点的最大 z = +-42841.31151331382(z 轴的 0.673%)。 如果 MajorAxis / AxisOfRotation 的比值大于 2 的平方根,交点可能在椭球体外部 |
result |
Cartesian3 | optional 要复制结果的笛卡尔坐标,如果要创建并 返回新实例则为 undefined。 |
Returns:
如果交点在椭球体内部则为交点,否则为 undefined
Throws:
-
DeveloperError :position 是必需的。
-
DeveloperError :Ellipsoid 必须是旋转椭球体(radii.x == radii.y)。
-
DeveloperError :Ellipsoid.radii.z 必须大于 0。
scaleToGeocentricSurface(cartesian, result) → Cartesian3
沿地心表面法线缩放所提供的笛卡尔坐标位置,
使其位于此椭球体的表面上。
| Name | Type | Description |
|---|---|---|
cartesian |
Cartesian3 | 要缩放的笛卡尔坐标位置。 |
result |
Cartesian3 | optional 用于存储结果的对象。 |
Returns:
修改后的 result 参数,如果未提供则返回一个新的 Cartesian3 实例。
scaleToGeodeticSurface(cartesian, result) → Cartesian3
沿测地表面法线缩放所提供的笛卡尔坐标位置,
使其位于此椭球体的表面上。如果位置
位于椭球体中心,此函数返回 undefined。
| Name | Type | Description |
|---|---|---|
cartesian |
Cartesian3 | 要缩放的笛卡尔坐标位置。 |
result |
Cartesian3 | optional 用于存储结果的对象。 |
Returns:
修改后的 result 参数,如果未提供则返回新的 Cartesian3 实例;如果位置位于中心则返回 undefined。
使用 Gauss-Legendre 10 阶求积法计算椭球体表面上矩形表面积的近似值。
| Name | Type | Description |
|---|---|---|
rectangle |
Rectangle | 用于计算表面积的矩形。 |
Returns:
此椭球体表面上矩形的近似面积。
创建表示此 Ellipsoid 的字符串,格式为 '(radii.x, radii.y, radii.z)'。
Returns:
表示此椭球体的字符串,格式为 '(radii.x, radii.y, radii.z)'。
transformPositionFromScaledSpace(position, result) → Cartesian3
通过将其分量乘以
Ellipsoid#radii 的结果,
将笛卡尔 X、Y、Z 位置从椭球体缩放空间转换。
| Name | Type | Description |
|---|---|---|
position |
Cartesian3 | 要转换的位置。 |
result |
Cartesian3 | optional 要复制结果的位置,如果要创建并 返回新实例则为 undefined。 |
Returns:
在未缩放空间中表示的位置。返回的实例是
作为 result 参数传入的实例(如果不为 undefined),否则是新实例。
transformPositionToScaledSpace(position, result) → Cartesian3
通过将其分量乘以
Ellipsoid#oneOverRadii 的结果,
将笛卡尔 X、Y、Z 位置转换到椭球体缩放空间。
| Name | Type | Description |
|---|---|---|
position |
Cartesian3 | 要转换的位置。 |
result |
Cartesian3 | optional 要复制结果的位置,如果要创建并 返回新实例则为 undefined。 |
Returns:
在缩放空间中表示的位置。返回的实例是
作为 result 参数传入的实例(如果不为 undefined),否则是新实例。
