new Cesium.Ellipsoid(cartographics, result) → Array.<Cartesian3>
| Name | Type | Description |
|---|---|---|
cartographics |
Array.<Cartographic> | 地理坐标位置数组。 |
result |
Array.<Cartesian3> | optional 存储结果的对象。 |
Returns:
修改后的结果参数,如果未提供则返回新的数组实例。
Example:
//转换地理坐标数组并确定其在WGS84椭球上的笛卡尔表示。
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);
See:
Members
static Cesium.Ellipsoid.default : Ellipsoid
未指定时使用的默认椭球。
Example:
Cesium.Ellipsoid.default = Cesium.Ellipsoid.MOON;
// 阿波罗11号着陆点
const position = Cesium.Cartesian3.fromRadians(
0.67416,
23.47315,
);
static constant Cesium.Ellipsoid.MARS : Ellipsoid
初始化为火星平均半径球体的椭球实例。
来源:https://epsg.io/104905
static constant Cesium.Ellipsoid.MOON : Ellipsoid
初始化为月球半径球体的椭球实例。
用于将对象打包到数组中的元素数量。
static constant Cesium.Ellipsoid.UNIT_SPHERE : Ellipsoid
初始化为半径(1.0, 1.0, 1.0)的椭球实例。
static constant Cesium.Ellipsoid.WGS84 : Ellipsoid
初始化为WGS84标准的椭球实例。
获取椭球的最大半径。
获取椭球的最小半径。
readonly oneOverRadii : Cartesian3
获取椭球半径的倒数。
readonly oneOverRadiiSquared : Cartesian3
获取椭球平方半径的倒数。
readonly radii : Cartesian3
获取椭球的半径。
readonly radiiSquared : Cartesian3
获取椭球的平方半径。
readonly radiiToTheFourth : Cartesian3
获取椭球半径的四次方。
Methods
static Cesium.Ellipsoid.clone(ellipsoid, result) → Ellipsoid
复制椭球实例。
| Name | Type | Description |
|---|---|---|
ellipsoid |
Ellipsoid | 要复制的椭球。 |
result |
Ellipsoid | optional 存储结果的对象,如果应创建新实例则为undefined。 |
Returns:
被克隆的椭球。(如果椭球未定义则返回undefined)
static Cesium.Ellipsoid.fromCartesian3(cartesian, result) → Ellipsoid
从指定x、y和z方向半径的笛卡尔坐标计算椭球。
| Name | Type | Default | Description |
|---|---|---|---|
cartesian |
Cartesian3 |
Cartesian3.ZERO
|
optional 椭球在x、y和z方向的半径。 |
result |
Ellipsoid | optional 存储结果的对象,如果应创建新实例则为undefined。 |
Returns:
新的椭球实例。
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:
修改后的结果参数,如果未提供则返回新的椭球实例。
cartesianArrayToCartographicArray(cartesians, result) → Array.<Cartographic>
将提供的笛卡尔坐标数组转换为地理坐标数组。
| Name | Type | Description |
|---|---|---|
cartesians |
Array.<Cartesian3> | 笛卡尔位置数组。 |
result |
Array.<Cartographic> | optional 存储结果的对象。 |
Returns:
修改后的结果参数,如果未提供则返回新的数组实例。
Example:
//创建笛卡尔坐标数组并确定其在WGS84椭球上的地理坐标表示。
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:
//创建笛卡尔坐标并确定其在WGS84椭球上的地理坐标表示。
const position = new Cesium.Cartesian3(17832.12, 83234.52, 952313.73);
const cartographicPosition = Cesium.Ellipsoid.WGS84.cartesianToCartographic(position);
cartographicArrayToCartesianArray(cartographics, result) → Array.<Cartesian3>
Converts the provided array of cartographics to an array of Cartesians.
| Name | Type | Description |
|---|---|---|
cartographics |
Array.<Cartographic> | An array of cartographic positions. |
result |
Array.<Cartesian3> | optional The object onto which to store the result. |
Returns:
The modified result parameter or a new Array instance if none was provided.
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:
//创建地理坐标并确定其在WGS84椭球上的笛卡尔表示。
const position = new Cesium.Cartographic(Cesium.Math.toRadians(21), Cesium.Math.toRadians(78), 5000);
const cartesianPosition = Cesium.Ellipsoid.WGS84.cartographicToCartesian(position);
clone(result) → Ellipsoid
复制椭球实例。
| Name | Type | Description |
|---|---|---|
result |
Ellipsoid | optional 存储结果的对象,如果应创建新实例则为undefined。 |
Returns:
被克隆的椭球。
将此椭球与提供的椭球进行逐分量比较,如果相等则返回
true,否则返回false。
| Name | Type | Description |
|---|---|---|
right |
Ellipsoid | optional 另一个椭球。 |
Returns:
如果相等则返回
true,否则返回false。
geocentricSurfaceNormal(cartesian, result) → Cartesian3
Computes the unit vector directed from the center of this ellipsoid toward the provided Cartesian position.
| Name | Type | Description |
|---|---|---|
cartesian |
Cartesian3 | The Cartesian for which to to determine the geocentric normal. |
result |
Cartesian3 | optional The object onto which to store the result. |
Returns:
The modified result parameter or a new Cartesian3 instance if none was provided.
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:
-
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%)。 如果长轴/旋转轴的比率大于2的平方根,交点可能在椭球外部。 |
result |
Cartesian3 | optional 复制结果到的笛卡尔坐标,如果为undefined则创建并返回新实例。 |
Returns:
如果交点在椭球内则返回交点,否则返回undefined
Throws:
-
DeveloperError : position是必需的。
-
DeveloperError : 椭球必须是旋转椭球(radii.x == radii.y)。
-
DeveloperError : Ellipsoid.radii.z必须大于0。
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。
使用Gauss-Legendre 10阶求积计算椭球表面矩形面积的近似值。
| Name | Type | Description |
|---|---|---|
rectangle |
Rectangle | 用于计算表面面积的矩形。 |
Returns:
此椭球表面上矩形的近似面积。
创建表示此椭球的字符串,格式为'(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:
在非缩放空间中表示的位置。返回的实例是
作为参数传递的result(如果不为undefined),否则是新实例。
transformPositionToScaledSpace(position, result) → Cartesian3
将笛卡尔X、Y、Z位置转换到椭球缩放空间,将其各分量乘以
Ellipsoid#oneOverRadii的结果。
| Name | Type | Description |
|---|---|---|
position |
Cartesian3 | 要转换的位置。 |
result |
Cartesian3 | optional 复制结果到的位置,如果为undefined则创建并返回新实例。 |
Returns:
在缩放空间中表示的位置。返回的实例是
作为参数传递的result(如果不为undefined),否则是新实例。
