笛卡爾坐標(biāo)系中由方程
new Ellipsoid(x, y, z)
(x / a)^2 + (y / b)^2 + (z / c)^2 = 1
定義的二次曲面。主要由Bigemap GL用來(lái)表示行星體的形狀。通常使用提供的常量之一,而不是直接構(gòu)造此對(duì)象。
Parameters:
x
(Number)
(default 0
)
X方向的半徑。
y
(Number)
(default 0
)
Y方向的半徑。
z
(Number)
(default 0
)
Z方向的半徑。
Throws
-
DeveloperError : 所有半徑分量必須大于或等于零。
Members
(static, constant) MOON : Ellipsoid
初始化為具有月球半徑的球體的橢球體實(shí)例。
(static) packedLength : Number
用于將對(duì)象打包到數(shù)組中的元素?cái)?shù)。
(static, constant) UNIT_SPHERE : Ellipsoid
初始化為半徑(1.0、1.0、1.0)的橢球體實(shí)例。
(static, constant) WGS84 : Ellipsoid
初始化為wgs84標(biāo)準(zhǔn)的橢球體實(shí)例。
(readonly) maximumRadius : Number
獲取橢圓體的最大半徑。
(readonly) minimumRadius : Number
獲取橢球的最小半徑。
(readonly) oneOverRadii : Cartesian3
在橢圓體的半徑上獲取一個(gè)。
(readonly) oneOverRadiiSquared : Cartesian3
在橢圓體的平方半徑上獲取一個(gè)。
(readonly) radii : Cartesian3
獲取橢球的半徑。
(readonly) radiiSquared : Cartesian3
獲取橢球的平方半徑。
(readonly) radiiToTheFourth : Cartesian3
求橢球的半徑上升到四次方。
Methods
(static) clone(ellipsoid, result) → {Ellipsoid}
復(fù)制橢球體實(shí)例。
Parameters:
從指定X、Y和Z方向的半徑的笛卡爾坐標(biāo)計(jì)算橢球。
Parameters:
Throws
-
DeveloperError : 所有半徑分量必須大于或等于零。
將提供的實(shí)例存儲(chǔ)到提供的數(shù)組中。
Parameters:
array
(Array.<Number>)
要打包的數(shù)組。
startingIndex
(Number)
(default 0
)
數(shù)組中開(kāi)始打包元素的索引。
從壓縮數(shù)組中檢索實(shí)例。
Parameters:
array
(Array.<Number>)
壓縮數(shù)組。
startingIndex
(Number)
(default 0
)
要解包的元素的起始索引。
將提供的cartesian數(shù)組轉(zhuǎn)換為一組制圖。
Parameters:
Example
//Create an array of Cartesians and determine their Cartographic representation on a WGS84 ellipsoid.
var positions = [new bmgl.Cartesian3(17832.12, 83234.52, 952313.73),
new bmgl.Cartesian3(17832.13, 83234.53, 952313.73),
new bmgl.Cartesian3(17832.14, 83234.54, 952313.73)]
var cartographicPositions = bmgl.Ellipsoid.WGS84.cartesianArrayToCartographicArray(positions);
將提供的笛卡爾坐標(biāo)轉(zhuǎn)換為地圖表示。笛卡爾坐標(biāo)系在橢球的中心沒(méi)有定義。
Parameters:
Example
//Create a Cartesian and determine it's Cartographic representation on a WGS84 ellipsoid.
var position = new bmgl.Cartesian3(17832.12, 83234.52, 952313.73);
var cartographicPosition = bmgl.Ellipsoid.WGS84.cartesianToCartographic(position);
將提供的制圖數(shù)組轉(zhuǎn)換為笛卡爾數(shù)組。
Parameters:
Example
//Convert an array of Cartographics and determine their Cartesian representation on a WGS84 ellipsoid.
var positions = [new bmgl.Cartographic(bmgl.Math.toRadians(21), bmgl.Math.toRadians(78), 0),
new bmgl.Cartographic(bmgl.Math.toRadians(21.321), bmgl.Math.toRadians(78.123), 100),
new bmgl.Cartographic(bmgl.Math.toRadians(21.645), bmgl.Math.toRadians(78.456), 250)];
var cartesianPositions = bmgl.Ellipsoid.WGS84.cartographicArrayToCartesianArray(positions);
將提供的地圖轉(zhuǎn)換為笛卡爾表示。
Parameters:
Example
//Create a Cartographic and determine it's Cartesian representation on a WGS84 ellipsoid.
var position = new bmgl.Cartographic(bmgl.Math.toRadians(21), bmgl.Math.toRadians(78), 5000);
var cartesianPosition = bmgl.Ellipsoid.WGS84.cartographicToCartesian(position);
復(fù)制橢球體實(shí)例。
Parameters:
將此橢球體與提供的橢球體組件進(jìn)行比較,如果相等,則返回
true
,否則返回false
。
Parameters:
計(jì)算從該橢球體中心指向給定笛卡爾位置的單位向量。
Parameters:
計(jì)算在給定位置與橢球表面相切的平面的法向。
Parameters:
計(jì)算在給定位置與橢球表面相切的平面的法向。
Parameters:
計(jì)算曲面法向與Z軸相交的點(diǎn)。
Parameters:
buffer
(Number)
(default 0.0
)
在檢查點(diǎn)是否在橢球體中時(shí),從橢球體大小中減去的緩沖區(qū)。在地球情況下,由于交叉點(diǎn)總是(相對(duì)地)非常靠近中心,因此對(duì)于普通的地球基準(zhǔn),不需要這種緩沖器。在WGS84基準(zhǔn)面中,交叉點(diǎn)位于最大Z=+-42841.3115131382處(Z軸的0.673%)。如果長(zhǎng)軸/軸旋轉(zhuǎn)比大于2的平方根,則交點(diǎn)可能在橢球體之外。
Throws
-
DeveloperError : 職位是必需的。
-
DeveloperError : 橢球必須是旋轉(zhuǎn)橢球(radii.x==radii.y)。
-
DeveloperError : 橢球體.radii.z必須大于0。
沿地心面法向縮放提供的笛卡爾坐標(biāo)位置,使其位于該橢球的表面上。
Parameters:
沿大地測(cè)量面法向縮放提供的笛卡爾坐標(biāo)位置,使其位于該橢球的表面上。如果位置在橢球體的中心,則此函數(shù)返回UNDEFINED。
Parameters:
創(chuàng)建一個(gè)字符串,以“radii.x,radii.y,radii.z”格式表示此橢球體。
通過(guò)將其分量乘以
Ellipsoid#radii
的結(jié)果,從橢球縮放空間轉(zhuǎn)換笛卡爾X、Y、Z位置。
Parameters:
將笛卡爾X、Y、Z位置轉(zhuǎn)換為橢球縮放空間,方法是將其分量乘以
Ellipsoid#oneOverRadii
的結(jié)果。