Class: Ellipsoid

Ellipsoid

new Ellipsoid(xopt, yopt, zopt)

A quadratic surface defined in Cartesian coordinates by the equation (x / a)^2 + (y / b)^2 + (z / c)^2 = 1. Primarily used by Cesium to represent the shape of planetary bodies. Rather than constructing this object directly, one of the provided constants is normally used.
Parameters:
Name Type Attributes Default Description
x Number <optional>
0 The radius in the x direction.
y Number <optional>
0 The radius in the y direction.
z Number <optional>
0 The radius in the z direction.
Source:
See:
Throws:
All radii components must be greater than or equal to zero.
Type
DeveloperError

Members

(static, constant) MOON :Ellipsoid

An Ellipsoid instance initialized to a sphere with the lunar radius.
Type:
Source:

(static) packedLength :Number

The number of elements used to pack the object into an array.
Type:
  • Number
Source:

(static, constant) UNIT_SPHERE :Ellipsoid

An Ellipsoid instance initialized to radii of (1.0, 1.0, 1.0).
Type:
Source:

(static, constant) WGS84 :Ellipsoid

An Ellipsoid instance initialized to the WGS84 standard.
Type:
Source:

(readonly) maximumRadius :Number

Gets the maximum radius of the ellipsoid.
Type:
  • Number
Source:

(readonly) minimumRadius :Number

Gets the minimum radius of the ellipsoid.
Type:
  • Number
Source:

(readonly) oneOverRadii :Cartesian3

Gets one over the radii of the ellipsoid.
Type:
Source:

(readonly) oneOverRadiiSquared :Cartesian3

Gets one over the squared radii of the ellipsoid.
Type:
Source:

(readonly) radii :Cartesian3

Gets the radii of the ellipsoid.
Type:
Source:

(readonly) radiiSquared :Cartesian3

Gets the squared radii of the ellipsoid.
Type:
Source:

(readonly) radiiToTheFourth :Cartesian3

Gets the radii of the ellipsoid raise to the fourth power.
Type:
Source:

Methods

(static) clone(ellipsoid, resultopt) → {Ellipsoid}

Duplicates an Ellipsoid instance.
Parameters:
Name Type Attributes Description
ellipsoid Ellipsoid The ellipsoid to duplicate.
result Ellipsoid <optional>
The object onto which to store the result, or undefined if a new instance should be created.
Source:
Returns:
The cloned Ellipsoid. (Returns undefined if ellipsoid is undefined)
Type
Ellipsoid

(static) fromCartesian3(radiiopt) → {Ellipsoid}

Computes an Ellipsoid from a Cartesian specifying the radii in x, y, and z directions.
Parameters:
Name Type Attributes Default Description
radii Cartesian3 <optional>
Cartesian3.ZERO The ellipsoid's radius in the x, y, and z directions.
Source:
See:
Throws:
All radii components must be greater than or equal to zero.
Type
DeveloperError
Returns:
A new Ellipsoid instance.
Type
Ellipsoid

(static) pack(value, array, startingIndexopt) → {Array.<Number>}

Stores the provided instance into the provided array.
Parameters:
Name Type Attributes Default Description
value Ellipsoid The value to pack.
array Array.<Number> The array to pack into.
startingIndex Number <optional>
0 The index into the array at which to start packing the elements.
Source:
Returns:
The array that was packed into
Type
Array.<Number>

(static) unpack(array, startingIndexopt, resultopt) → {Ellipsoid}

Retrieves an instance from a packed array.
Parameters:
Name Type Attributes Default Description
array Array.<Number> The packed array.
startingIndex Number <optional>
0 The starting index of the element to be unpacked.
result Ellipsoid <optional>
The object into which to store the result.
Source:
Returns:
The modified result parameter or a new Ellipsoid instance if one was not provided.
Type
Ellipsoid

cartesianArrayToCartographicArray(cartesians, resultopt) → {Array.<Cartographic>}

Converts the provided array of cartesians to an array of cartographics.
Parameters:
Name Type Attributes Description
cartesians Array.<Cartesian3> An array of Cartesian positions.
result Array.<Cartographic> <optional>
The object onto which to store the result.
Source:
Returns:
The modified result parameter or a new Array instance if none was provided.
Type
Array.<Cartographic>
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, resultopt) → {Cartographic}

Converts the provided cartesian to cartographic representation. The cartesian is undefined at the center of the ellipsoid.
Parameters:
Name Type Attributes Description
cartesian Cartesian3 The Cartesian position to convert to cartographic representation.
result Cartographic <optional>
The object onto which to store the result.
Source:
Returns:
The modified result parameter, new Cartographic instance if none was provided, or undefined if the cartesian is at the center of the ellipsoid.
Type
Cartographic
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, resultopt) → {Array.<Cartesian3>}

Converts the provided array of cartographics to an array of Cartesians.
Parameters:
Name Type Attributes Description
cartographics Array.<Cartographic> An array of cartographic positions.
result Array.<Cartesian3> <optional>
The object onto which to store the result.
Source:
Returns:
The modified result parameter or a new Array instance if none was provided.
Type
Array.<Cartesian3>
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, resultopt) → {Cartesian3}

Converts the provided cartographic to Cartesian representation.
Parameters:
Name Type Attributes Description
cartographic Cartographic The cartographic position.
result Cartesian3 <optional>
The object onto which to store the result.
Source:
Returns:
The modified result parameter or a new Cartesian3 instance if none was provided.
Type
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(resultopt) → {Ellipsoid}

Duplicates an Ellipsoid instance.
Parameters:
Name Type Attributes Description
result Ellipsoid <optional>
The object onto which to store the result, or undefined if a new instance should be created.
Source:
Returns:
The cloned Ellipsoid.
Type
Ellipsoid

equals(rightopt) → {Boolean}

Compares this Ellipsoid against the provided Ellipsoid componentwise and returns true if they are equal, false otherwise.
Parameters:
Name Type Attributes Description
right Ellipsoid <optional>
The other Ellipsoid.
Source:
Returns:
true if they are equal, false otherwise.
Type
Boolean

geocentricSurfaceNormal(cartesian, resultopt) → {Cartesian3}

Computes the unit vector directed from the center of this ellipsoid toward the provided Cartesian position.
Parameters:
Name Type Attributes Description
cartesian Cartesian3 The Cartesian for which to to determine the geocentric normal.
result Cartesian3 <optional>
The object onto which to store the result.
Source:
Returns:
The modified result parameter or a new Cartesian3 instance if none was provided.
Type
Cartesian3

geodeticSurfaceNormal(cartesian, resultopt) → {Cartesian3}

Computes the normal of the plane tangent to the surface of the ellipsoid at the provided position.
Parameters:
Name Type Attributes Description
cartesian Cartesian3 The Cartesian position for which to to determine the surface normal.
result Cartesian3 <optional>
The object onto which to store the result.
Source:
Returns:
The modified result parameter or a new Cartesian3 instance if none was provided.
Type
Cartesian3

geodeticSurfaceNormalCartographic(cartographic, resultopt) → {Cartesian3}

Computes the normal of the plane tangent to the surface of the ellipsoid at the provided position.
Parameters:
Name Type Attributes Description
cartographic Cartographic The cartographic position for which to to determine the geodetic normal.
result Cartesian3 <optional>
The object onto which to store the result.
Source:
Returns:
The modified result parameter or a new Cartesian3 instance if none was provided.
Type
Cartesian3

scaleToGeocentricSurface(cartesian, resultopt) → {Cartesian3}

Scales the provided Cartesian position along the geocentric surface normal so that it is on the surface of this ellipsoid.
Parameters:
Name Type Attributes Description
cartesian Cartesian3 The Cartesian position to scale.
result Cartesian3 <optional>
The object onto which to store the result.
Source:
Returns:
The modified result parameter or a new Cartesian3 instance if none was provided.
Type
Cartesian3

scaleToGeodeticSurface(cartesian, resultopt) → {Cartesian3}

Scales the provided Cartesian position along the geodetic surface normal so that it is on the surface of this ellipsoid. If the position is at the center of the ellipsoid, this function returns undefined.
Parameters:
Name Type Attributes Description
cartesian Cartesian3 The Cartesian position to scale.
result Cartesian3 <optional>
The object onto which to store the result.
Source:
Returns:
The modified result parameter, a new Cartesian3 instance if none was provided, or undefined if the position is at the center.
Type
Cartesian3

toString() → {String}

Creates a string representing this Ellipsoid in the format '(radii.x, radii.y, radii.z)'.
Source:
Returns:
A string representing this ellipsoid in the format '(radii.x, radii.y, radii.z)'.
Type
String

transformPositionFromScaledSpace(position, resultopt) → {Cartesian3}

Transforms a Cartesian X, Y, Z position from the ellipsoid-scaled space by multiplying its components by the result of Ellipsoid#radii.
Parameters:
Name Type Attributes Description
position Cartesian3 The position to transform.
result Cartesian3 <optional>
The position to which to copy the result, or undefined to create and return a new instance.
Source:
Returns:
The position expressed in the unscaled space. The returned instance is the one passed as the result parameter if it is not undefined, or a new instance of it is.
Type
Cartesian3

transformPositionToScaledSpace(position, resultopt) → {Cartesian3}

Transforms a Cartesian X, Y, Z position to the ellipsoid-scaled space by multiplying its components by the result of Ellipsoid#oneOverRadii.
Parameters:
Name Type Attributes Description
position Cartesian3 The position to transform.
result Cartesian3 <optional>
The position to which to copy the result, or undefined to create and return a new instance.
Source:
Returns:
The position expressed in the scaled space. The returned instance is the one passed as the result parameter if it is not undefined, or a new instance of it is.
Type
Cartesian3