Ellipsoid

new Cesium.Ellipsoid(x, y, z)

通过方程式定义的二次曲面,使用笛卡尔坐标表示 (x / a)^2 + (y / b)^2 + (z / c)^2 = 1。主要用于 Cesium 表示行星体的形状。 通常不直接构造此对象,而是使用提供的常量之一。
Name Type Default Description
x number 0 optional x 方向的半径。
y number 0 optional y 方向的半径。
z number 0 optional z 方向的半径。
Throws:
See:

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.MOON : Ellipsoid

初始化为具有月球半径的球体的椭球体实例。

static Cesium.Ellipsoid.packedLength : number

用于将对象打包到数组中的元素数量。

static constant Cesium.Ellipsoid.UNIT_SPHERE : Ellipsoid

初始化为半径为 (1.0, 1.0, 1.0) 的椭球体实例。

static constant Cesium.Ellipsoid.WGS84 : Ellipsoid

初始化为 WGS84 标准的椭球体实例。

readonly maximumRadius : number

获取椭球体的最大半径。

readonly minimumRadius : number

获取椭球体的最小半径。
获取椭球体半径的倒数。

readonly oneOverRadiiSquared : 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 坐标计算一个椭球体。
Name Type Default Description
cartesian Cartesian3 Cartesian3.ZERO optional 椭球体在 x、y 和 z 方向上的半径。
result Ellipsoid optional 存储结果的对象,如果应该创建一个新实例则为 undefined。
Returns:
一个新的椭球体实例。
Throws:
See:

static Cesium.Ellipsoid.pack(value, array, startingIndex)Array.<number>

将提供的实例存储到提供的数组中.
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:
修改后的结果参数,或者如果未提供,则返回一个新的 Ellipsoid 实例。

cartesianArrayToCartographicArray(cartesians, result)Array.<Cartographic>

将提供的笛卡尔数组转换为地理坐标数组。
Name Type Description
cartesians Array.<Cartesian3> 一个笛卡尔位置数组。
result Array.<Cartographic> optional 存储结果的对象。
Returns:
修改后的结果参数,或者如果未提供,则返回一个新的数组实例。
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:
修改后的结果参数,如果未提供则返回新的 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:
修改后的结果参数,或者如果未提供,则返回一个新的数组实例。
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:
修改后的结果参数,或者如果未提供,则返回一个新的 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);
复制一个 Ellipsoid 实例。
Name Type Description
result Ellipsoid optional 存储结果的对象,如果应该创建一个新实例则为 undefined。
Returns:
克隆的椭球体。

equals(right)boolean

将此椭球体与提供的椭球体逐分量进行比较并返回 如果相等则为 true,否则为 false
Name Type Description
right Ellipsoid optional 另一个椭球体。
Returns:
如果相等则为 true,否则为 false

geocentricSurfaceNormal(cartesian, result)Cartesian3

计算从此椭球体中心指向提供的笛卡尔位置的单位向量。
Name Type Description
cartesian Cartesian3 要确定其地心法线的笛卡尔坐标。
result Cartesian3 optional 存储结果的对象。
Returns:
修改后的结果参数,或者如果未提供,则返回一个新的 Cartesian3 实例。

geodeticSurfaceNormal(cartesian, result)Cartesian3

计算在提供的位置上,切于椭球体表面的平面的法线。
Name Type Description
cartesian Cartesian3 要确定其表面法线的笛卡尔位置。
result Cartesian3 optional 存储结果的对象。
Returns:
修改后的结果参数,或者如果未提供,则返回一个新的 Cartesian3 实例,如果无法找到法线则返回 undefined。

geodeticSurfaceNormalCartographic(cartographic, result)Cartesian3

计算在提供的位置上,切于椭球体表面的平面的法线。
Name Type Description
cartographic Cartographic 要确定其大地法线的地理位置。
result Cartesian3 optional 存储结果的对象。
Returns:
修改后的结果参数,或者如果未提供,则返回一个新的 Cartesian3 实例。

getLocalCurvature(surfacePosition, result)Cartesian2

计算在椭球体表面给定位置的曲率。
Name Type Description
surfacePosition Cartesian3 椭球体表面上将计算曲率的位置。
result Cartesian2 optional 要复制结果的笛卡尔坐标,或者为 undefined 以创建并返回一个新实例。
Returns:
提供位置处椭球体表面的局部曲率,包含东向和北向的曲率。
Throws:

getSurfaceNormalIntersectionWithZAxis(position, buffer, result)Cartesian3|undefined

计算与 z 轴的切面法线相交的点。
Name Type Default Description
position Cartesian3 位置,必须在椭球体的表面上。
buffer number 0.0 optional 在检查点是否在椭球体内时,从椭球体大小中减去的缓冲值。 在地球的情况下,对于常见的地球基准,无需此缓冲,因为交点总是(相对)非常接近中心。 在 WGS84 基准中,交点的最大 z 轴值为 ±42841.31151331382(0.673% 的 z 轴)。 如果 MajorAxis / AxisOfRotation 的比例大于平方根 2,则交点可能在椭球体之外。
result Cartesian3 optional 要复制结果的笛卡尔坐标,或者为 undefined 以创建并返回一个新实例。
Returns:
如果交点在椭球体内,则返回该交点,否则返回 undefined。
Throws:

scaleToGeocentricSurface(cartesian, result)Cartesian3

沿着地心表面法线缩放提供的笛卡尔位置,使其位于此椭球体的表面上。
Name Type Description
cartesian Cartesian3 要缩放的笛卡尔位置。
result Cartesian3 optional 存储结果的对象。
Returns:
修改后的结果参数,如果未提供则返回一个新的 Cartesian3 实例。

scaleToGeodeticSurface(cartesian, result)Cartesian3

沿着大地表面法线缩放提供的笛卡尔位置,使其位于此椭球体的表面上。 如果位置位于椭球体的中心,则此函数返回 undefined。
Name Type Description
cartesian Cartesian3 要缩放的笛卡尔位置。
result Cartesian3 optional 存储结果的对象。
Returns:
修改后的结果参数,如果未提供则返回一个新的 Cartesian3 实例,或者如果位置在中心则返回 undefined。

surfaceArea(rectangle)number

使用高斯-勒让德 10 次求积法计算椭球体表面上矩形的表面积近似值。
Name Type Description
rectangle Rectangle 用于计算表面积的矩形。
Returns:
此椭球体表面上矩形的近似面积。

toString()string

创建一个字符串,表示此椭球体的格式为 '(radii.x, radii.y, radii.z)'。
Returns:
一个字符串,表示此椭球体的格式为 '(radii.x, radii.y, radii.z)'。

transformPositionFromScaledSpace(position, result)Cartesian3

将笛卡尔坐标 X, Y, Z 位置从椭球体缩放空间转换,通过将其各分量乘以 Ellipsoid#radii 的结果。
Name Type Description
position Cartesian3 要转换的位置。
result Cartesian3 optional 要复制结果的位置,或者为 undefined 以创建并返回一个新实例。
Returns:
表示在未缩放空间中的位置。如果结果参数不为 undefined,则返回的实例为该实例,否则是一个新的实例。

transformPositionToScaledSpace(position, result)Cartesian3

将笛卡尔坐标 X, Y, Z 位置转换为椭球体缩放空间,通过将其各分量乘以 Ellipsoid#oneOverRadii 的结果。
Name Type Description
position Cartesian3 要转换的位置。
result Cartesian3 optional 要复制结果的位置,或者为 undefined 以创建并返回一个新实例。
Returns:
表示在缩放空间中的位置。 如果结果参数不为 undefined,则返回的实例为该实例,否则是一个新的实例。
需要帮助?获得答案的最快方法是来自社区和团队 Cesium Forum.