Ellipsoid

new SuperMap3D.Ellipsoid(x, y, z)

Name Type Default Description
x Number 0 optional X方向的半径值。
y Number 0 optional Y方向的半径值。
z Number 0 optional Z方向的半径值。
Throws:
See:

Members

staticconstantSuperMap3D.Ellipsoid.CGCS2000 : Ellipsoid

CGCS2000椭球体,其x,y,z方向的半径分别为6378137.0, 6378137.0, 6356752.31。

staticconstantSuperMap3D.Ellipsoid.MOON : Ellipsoid

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

staticSuperMap3D.Ellipsoid.packedLength : Number

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

staticconstantSuperMap3D.Ellipsoid.UNIT_SPHERE : Ellipsoid

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

staticconstantSuperMap3D.Ellipsoid.WGS84 : Ellipsoid

球的实例,默认是椭球模式,即x,y,z方向的半径分别设为6378137, 6378137, 6356752.3142451793。
Example:
SuperMap3D.Ellipsoid.WGS84 = SuperMap3D.freezeObject(new SuperMap3D.Ellipsoid(6378137.0, 6378137.0, 6356752.3142451793));

staticconstantSuperMap3D.Ellipsoid.XIAN80 : Ellipsoid

西安80椭球体,其x,y,z方向的半径分别为6378140.0, 6378140.0, 6356755.29。
Example:
var ellipsoid = SuperMap3D.Ellipsoid.XIAN80;

readonlymaximumRadius : Number

获取椭球体的最大半径。

readonlyminimumRadius : Number

获取椭球体的最小半径。

readonlyoneOverRadii : Cartesian3

得到1/椭球的半径。

readonlyoneOverRadiiSquared : Cartesian3

得到1/椭球半径的平方。

readonlyradii : Cartesian3

获取椭球体的半径。

readonlyradiiSquared : Cartesian3

获取椭球的半径平方。

readonlyradiiToTheFourth : Cartesian3

获取椭球半径的四次方。

Methods

staticSuperMap3D.Ellipsoid.clone(ellipsoid, result)Ellipsoid

复制一个椭球实例。
Name Type Description
ellipsoid Ellipsoid 要复制的椭球。
result Ellipsoid optional 要在其上存储结果的对象,如果是new,则未定义实例应该被创建。
Returns:
克隆椭球体。(如果椭球未定义则返回未定义)

staticSuperMap3D.Ellipsoid.fromCartesian3(cartesian, result)Ellipsoid

从指定x、y和z方向半径的笛卡尔坐标系计算椭球体。
Name Type Default Description
cartesian Cartesian3 Cartesian3.ZERO optional 椭球体在x, y, z方向上的半径。
result Ellipsoid optional 要在其上存储结果的对象,如果是new,则未定义实例应该被创建。
Returns:
一个新的椭球实例。
Throws:
See:

staticSuperMap3D.Ellipsoid.pack(value, array, startingIndex)Array.<Number>

将提供的实例存储到提供的数组中。
Name Type Default Description
value Ellipsoid 要打包的值。
array Array.<Number> 要装入的数组。
startingIndex Number 0 optional 开始打包元素的数组的索引。
Returns:
被装入的数组。

staticSuperMap3D.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:
修改后的结果参数,如果没有提供,则为新的Array实例。
Example:
//Create an array of Cartesians and determine their Cartographic representation on a WGS84 ellipsoid.
var positions = [new SuperMap3D.Cartesian3(17832.12, 83234.52, 952313.73),
                 new SuperMap3D.Cartesian3(17832.13, 83234.53, 952313.73),
                 new SuperMap3D.Cartesian3(17832.14, 83234.54, 952313.73)]
var cartographicPositions = SuperMap3D.Ellipsoid.WGS84.cartesianArrayToCartographicArray(positions);

cartesianToCartographic(cartesian, result)Cartographic

将提供的笛卡尔表示转换为地图表示。椭球中心的笛卡尔坐标没有定义。
Name Type Description
cartesian Cartesian3 要转换为地图表示法的笛卡尔位置。
result Cartographic optional 要在其上存储结果的对象。
Returns:
修改后的结果参数,如果没有提供则为新Cartographic实例,如果笛卡尔坐标位于椭球体的中心则为未定义。
Example:
//创建一个笛卡尔坐标系并确定它在WGS84椭球上的制图表示。
var position = new SuperMap3D.Cartesian3(17832.12, 83234.52, 952313.73);
var cartographicPosition = SuperMap3D.Ellipsoid.WGS84.cartesianToCartographic(position);

cartographicArrayToCartesianArray(cartographics, result)Array.<Cartesian3>

将提供的制图数组转换为笛卡尔坐标数组。
Name Type Description
cartographics Array.<Cartographic> 一组制图位置。
result Array.<Cartesian3> optional 存储结果的对象。
Returns:
修改后的结果参数,如果没有提供,则为新的Array实例。
Example:
//转换一组地图并确定它们在WGS84椭球上的笛卡尔表示。
var positions = [new SuperMap3D.Cartographic(SuperMap3D.Math.toRadians(21), SuperMap3D.Math.toRadians(78), 0),
                 new SuperMap3D.Cartographic(SuperMap3D.Math.toRadians(21.321), SuperMap3D.Math.toRadians(78.123), 100),
                 new SuperMap3D.Cartographic(SuperMap3D.Math.toRadians(21.645), SuperMap3D.Math.toRadians(78.456), 250)];
var cartesianPositions = SuperMap3D.Ellipsoid.WGS84.cartographicArrayToCartesianArray(positions);

cartographicToCartesian(cartographic, result)Cartesian3

将提供的地图转换为笛卡尔表示。
Name Type Description
cartographic Cartographic 地图上的位置。
result Cartesian3 optional 要在其上存储结果的对象。
Returns:
修改后的结果参数,如果没有提供,则为新的Cartesian3实例。
Example:
//创建一个地图并确定它在WGS84椭球上的笛卡尔表示。
var position = new SuperMap3D.Cartographic(SuperMap3D.Math.toRadians(21), SuperMap3D.Math.toRadians(78), 5000);
var cartesianPosition = SuperMap3D.Ellipsoid.WGS84.cartographicToCartesian(position);

clone(result)Ellipsoid

复制一个椭球实例。
Name Type Description
result Ellipsoid optional 要在其上存储结果的对象,如果是new,则未定义实例应该被创建。
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实例。

geodeticSurfaceNormalCartographic(cartographic, result)Cartesian3

计算在给定位置与椭球表面相切的平面的法线。
Name Type Description
cartographic Cartographic 地图学上的位置,用来确定大地法线。
result Cartesian3 optional 要在其上存储结果的对象。
Returns:
修改后的结果参数,如果没有提供,则为新的Cartesian3实例。

getSurfaceNormalIntersectionWithZAxis(position, buffer, result)Cartesian|undefined

计算曲面法线与z轴的交点。
Name Type Default Description
position Cartesian3 位置必须位于椭球表面上。
buffer Number 0.0 optional 当检查点是否在椭球体内部时,从椭球体大小中减去的缓冲区。 在地球的情况下,对于普通地球基准面,不需要这个缓冲,因为交点总是(相对)非常靠近中心。 在WGS84基准中,交点最大为z = +-42841.31151331382 (z轴的0.673%)。 当MajorAxis / axisofroation的比值大于根号2时,交点可以在椭球体外。
result Cartesian optional 将结果复制到其中的笛卡尔坐标系,或未定义以创建和返回一个新实例。
Returns:
如果交点在椭球内,则为交点,否则未定义。
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实例,如果位置在中心则为未定义。

toString()String

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

transformPositionFromScaledSpace(position, result)Cartesian3

通过乘以从椭球尺度空间变换笛卡尔X, Y, Z位置Ellipsoid#radii
Name Type Description
position Cartesian3 要变换的位置。
result Cartesian3 optional 将复制结果到的位置,或未定义以创建和返回一个新实例。
Returns:
在未缩放空间中表示的位置。如果它不是未定义的,则返回的实例是作为结果参数传递的实例,或者它的新实例。

transformPositionToScaledSpace(position, result)Cartesian3

将笛卡尔X, Y, Z位置通过乘法变换为椭球尺度空间Ellipsoid#oneOverRadii
Name Type Description
position Cartesian3 要变换的位置。
result Cartesian3 optional 要将结果复制到的位置,或未定义以创建和返回一个新实例。
Returns:
在缩放空间中表示的位置。如果它不是未定义的,则返回的实例是作为结果参数传递的实例,或者它的新实例。