由二次曲面定义的笛卡尔坐标
(x / a)^2 + (y / b)^2 + (z / c)^2 = 1
主要使用
用铯来代表行星体的形状。
而不是直接构造这个对象,而是
通常使用常量。Name | Type | Default | Description |
---|---|---|---|
x |
Number |
0
|
optional x方向的半径。 |
y |
Number |
0
|
optional y方向的半径。 |
z |
Number |
0
|
optional z方向的半径。 |
Throws:
-
DeveloperError :所有半径分量必须大于或等于零。
Members
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 要存储结果的对象,如果新的 应创建实例。 |
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 要存储结果的对象,如果新的 应创建实例。 |
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:
//Create an array of Cartesians and determine their Cartographic representation on a WGS84 ellipsoid.
var 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)]
var cartographicPositions = Cesium.Ellipsoid.WGS84.cartesianArrayToCartographicArray(positions);
cartesianToCartographic(cartesian, result) → Cartographic
将提供的笛卡尔坐标转换为地图表示。
笛卡尔在椭球体的中心是未定义的。
Name | Type | Description |
---|---|---|
cartesian |
Cartesian3 | 要转换为地图表示的笛卡尔位置。 |
result |
Cartographic | optional 要将结果存储到的对象。 |
Returns:
修改后的结果参数,如果没有提供新的制图实例,或者如果笛卡尔位于椭球体的中心,则未定义。
Example:
//Create a Cartesian and determine it's Cartographic representation on a WGS84 ellipsoid.
var position = new Cesium.Cartesian3(17832.12, 83234.52, 952313.73);
var 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.
var 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)];
var 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.
var position = new Cesium.Cartographic(Cesium.Math.toRadians(21), Cesium.Math.toRadians(78), 5000);
var cartesianPosition = Cesium.Ellipsoid.WGS84.cartographicToCartesian(position);
clone(result) → Ellipsoid
复制椭球体实例。
Name | Type | Description |
---|---|---|
result |
Ellipsoid | optional 要存储结果的对象,如果新的 应创建实例。 |
Returns:
克隆的椭球体。
将此椭球与提供的椭球组件进行比较并返回
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实例(如果未提供)。
geodeticSurfaceNormalCartographic(cartographic, result) → Cartesian3
计算在所提供位置与椭球体曲面相切的平面的法线。
Name | Type | Description |
---|---|---|
cartographic |
Cartographic | 确定大地法线的地图位置。 |
result |
Cartesian3 | optional 要将结果存储到的对象。 |
Returns:
修改后的结果参数或新的Cartesian3实例(如果未提供)。
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 要将结果复制到的笛卡尔坐标系,或未定义要创建和 返回新实例。 |
Returns:
如果交点在椭球体内部,则为交点,否则未定义
Throws:
-
DeveloperError :位置是必需的。
-
DeveloperError :椭球体必须是旋转椭球体(radii.x==radii.y)。
-
DeveloperError : 椭球体半径.z必须大于0。
scaleToGeocentricSurface(cartesian, result) → Cartesian3
沿地心曲面法线缩放提供的笛卡尔位置
所以它在这个椭球体的表面。
Name | Type | Description |
---|---|---|
cartesian |
Cartesian3 | 要缩放的笛卡尔位置。 |
result |
Cartesian3 | optional 要将结果存储到的对象。 |
Returns:
修改后的结果参数或新的Cartesian3实例(如果未提供)。
scaleToGeodeticSurface(cartesian, result) → Cartesian3
沿大地测量曲面法线缩放提供的笛卡尔位置
所以它在这个椭球体的表面。如果位置是
在椭球体的中心,此函数返回未定义的。
Name | Type | Description |
---|---|---|
cartesian |
Cartesian3 | 要缩放的笛卡尔位置。 |
result |
Cartesian3 | optional 要将结果存储到的对象。 |
Returns:
修改后的result参数,如果没有提供新的Cartesian3实例,则为一个新的Cartesian3实例;如果位置在中心,则为未定义的实例。
计算椭球体表面上矩形表面积的近似值
高斯勒让德十阶求积。
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位置
其结果为6866165。
Name | Type | Description |
---|---|---|
position |
Cartesian3 | 要变换的位置。 |
result |
Cartesian3 | optional 将结果复制到的位置,或未定义要创建和 返回新实例。 |
Returns:
在未标度空间中表示的位置。返回的实例是
一个作为结果参数传递的值,如果它不是未定义的,或者它的新实例是未定义的。
transformPositionToScaledSpace(position, result) → Cartesian3
通过相乘将笛卡尔X、Y、Z位置变换为椭球缩放空间
其结果为6866165。
Name | Type | Description |
---|---|---|
position |
Cartesian3 | 要变换的位置。 |
result |
Cartesian3 | optional 将结果复制到的位置,或未定义要创建和 返回新实例。 |
Returns:
以缩放空间表示的位置。返回的实例是
一个作为结果参数传递的值,如果它不是未定义的,或者它的新实例是未定义的。