This class defines an ellipsoid. More...
#include <ilviews/maps/projection/ellips.h>
Public Member Functions | |
IlvEllipsoid (IlDouble radius, IlDouble eccentricity=0.0, const char *name=0, const char *comment=0) | |
Initializes a new IlvEllipsoid instance, specifying giving the radius and eccentricity. More... | |
IlvEllipsoid * | copy () const |
Returns a copy of the ellipsoid. More... | |
IlvEllipsoid * | createASphere () const |
Returns a sphere whose radius is the arithmetic mean of the principle radii at the specified latitude. More... | |
IlvEllipsoid * | createASphere (IlDouble phi) const |
Returns a sphere whose radius is the arithmetic mean of the principle radii at a specified latitude. More... | |
IlvEllipsoid * | createGSphere () const |
Returns a sphere whose radius is the geometric mean of the minor and major axes. More... | |
IlvEllipsoid * | createGSphere (IlDouble phi) const |
Returns a sphere whose radius is the geometric mean of the principle radii at a specified latitude. More... | |
IlvEllipsoid * | createHSphere () const |
Returns a sphere whose radius is the harmonic mean of the minor and major axes. More... | |
IlvEllipsoid * | createSphereOfSameArea () const |
Returns a sphere whose area is equal to that of the ellipsoid. More... | |
IlvEllipsoid * | createSphereOfSameVolume () const |
Returns a sphere whose volume is equal to that of the ellipsoid. More... | |
IlBoolean | equivalent (const IlvEllipsoid *e) const |
Returns whether this ellipsoid is equivalent to the specified ellipsoid. More... | |
IlDouble | getA () const |
Returns the semi-major axis of the ellipsoid. More... | |
IlDouble | getB () const |
Returns the semi-minor axis of the ellipsoid. More... | |
const char * | getComment () const |
Returns a description of the ellipsoid. More... | |
IlvMapsError | getError () const |
Gets the error status of the ellipsoid. More... | |
IlDouble | getES () const |
Returns the eccentricity squared of the ellipsoid. More... | |
const char * | getName () const |
Returns the name of the ellipsoid. More... | |
IlBoolean | isBad () const |
Checks the status of the ellipsoid. More... | |
IlBoolean | isSphere () const |
Checks if the ellipsoid is a sphere. More... | |
void | save (IlvOutputFile &outputFile) const |
Saves an IlvEllipsoid object. More... | |
Static Public Member Functions | |
static IlvMapsError | ALessThanZero () |
Returned if an ellipsoid has been initialized with a negative semi-major axis. More... | |
static const IlvEllipsoid * | CPM () |
Returns the ellipsoid specified by the French Weights and Measures Commission ("Commission des Poids et Mesures") in 1799. More... | |
static IlDouble | ESFromFlattening (IlDouble f) |
Returns the eccentricity squared, computed from the flattening of the ellipsoid. More... | |
static IlDouble | ESFromPolarRadius (IlDouble a, IlDouble b) |
Returns the eccentricity squared, computed from the semi-major axis and the semi-minor axis of the ellipsoid. More... | |
static IlvMapsError | ESGreaterThanOne () |
Returned if an ellipsoid has been initialized with an eccentricity squared greater than one. More... | |
static IlvMapsError | ESLessThanZero () |
Returned if an ellipsoid has been initialized with a negative eccentricity squared. More... | |
static const IlvEllipsoid * | GetRegisteredEllipsoid (const char *name) |
Returns the registered ellipsoid whose name is passed as argument. More... | |
static const IlvEllipsoid *const * | GetRegisteredEllipsoids (IlUInt &count) |
Returns the array of registered ellipsoids. More... | |
static IlvEllipsoid * | Load (IlvInputFile &, IlvMapsError *=0) |
Loads an IlvEllipsoid object. More... | |
static const IlvEllipsoid * | SGS85 () |
Returns the ellipsoid used in the Soviet Geodetic System 85. More... | |
static const IlvEllipsoid * | SPHERE () |
Returns a spherical ellipsoid representing the earth. More... | |
static const IlvEllipsoid * | WGS60 () |
Returns the WGS 60 ellipsoid. More... | |
static const IlvEllipsoid * | WGS66 () |
Returns the WGS 66 ellipsoid. More... | |
static const IlvEllipsoid * | WGS72 () |
Returns the WGS 72 ellipsoid. More... | |
static const IlvEllipsoid * | WGS84 () |
Returns the WGS 84 ellipsoid. More... | |
This class defines an ellipsoid.
Library: ilvmaps
Ellipsoids are used in map projections to represent the shape of the earth. For many applications, and especially in small-scale mapping, the earth can be represented as a sphere. However, because the earth rotates on its axis and is slightly flattened, it is better approximated by an ellipsoid of rotation around the polar axis.
Ellipsoidal forms of the projections are used for accurate large-scale maps and plane coordinate systems.
IlvProjection
. IlvEllipsoid::IlvEllipsoid | ( | IlDouble | radius, |
IlDouble | eccentricity = 0.0 , |
||
const char * | name = 0 , |
||
const char * | comment = 0 |
||
) |
Initializes a new IlvEllipsoid
instance, specifying giving the radius and eccentricity.
The ellipsoid is initialized with the specified equatorial radius expressed in meters and its eccentricity squared.
The parameter comment lets you add a description of the ellipsoid.
radius | The equatorial radius. |
eccentricity | The squared eccentricity. |
name | An optional name for the ellipsoid. |
comment | An optional comment. |
|
static |
Returned if an ellipsoid has been initialized with a negative semi-major axis.
IlvEllipsoid* IlvEllipsoid::copy | ( | ) | const |
Returns a copy of the ellipsoid.
|
static |
Returns the ellipsoid specified by the French Weights and Measures Commission ("Commission des Poids et Mesures") in 1799.
IlvEllipsoid* IlvEllipsoid::createASphere | ( | ) | const |
Returns a sphere whose radius is the arithmetic mean of the principle radii at the specified latitude.
IlvEllipsoid* IlvEllipsoid::createASphere | ( | IlDouble | phi | ) | const |
Returns a sphere whose radius is the arithmetic mean of the principle radii at a specified latitude.
phi | The specified latitude, expressed in radian. |
IlvEllipsoid* IlvEllipsoid::createGSphere | ( | ) | const |
Returns a sphere whose radius is the geometric mean of the minor and major axes.
IlvEllipsoid* IlvEllipsoid::createGSphere | ( | IlDouble | phi | ) | const |
Returns a sphere whose radius is the geometric mean of the principle radii at a specified latitude.
phi | The specified latitude, expressed in radian. |
IlvEllipsoid* IlvEllipsoid::createHSphere | ( | ) | const |
Returns a sphere whose radius is the harmonic mean of the minor and major axes.
IlvEllipsoid* IlvEllipsoid::createSphereOfSameArea | ( | ) | const |
Returns a sphere whose area is equal to that of the ellipsoid.
IlvEllipsoid* IlvEllipsoid::createSphereOfSameVolume | ( | ) | const |
Returns a sphere whose volume is equal to that of the ellipsoid.
IlBoolean IlvEllipsoid::equivalent | ( | const IlvEllipsoid * | e | ) | const |
Returns whether this ellipsoid is equivalent to the specified ellipsoid.
IlTrue
if the specified ellipsoid e is equivalent to this ellipsoid. Returns the eccentricity squared, computed from the flattening of the ellipsoid.
f | The flattening. |
Returns the eccentricity squared, computed from the semi-major axis and the semi-minor axis of the ellipsoid.
a | The semi-major axis of the ellipsoid or equatorial radius. |
b | The semi-minor axis of the ellipsoid or polar radius. |
|
static |
Returned if an ellipsoid has been initialized with an eccentricity squared greater than one.
|
static |
Returned if an ellipsoid has been initialized with a negative eccentricity squared.
IlDouble IlvEllipsoid::getA | ( | ) | const |
Returns the semi-major axis of the ellipsoid.
It is also known as the equatorial radius of the ellipsoid.
IlDouble IlvEllipsoid::getB | ( | ) | const |
Returns the semi-minor axis of the ellipsoid.
It is also known as the polar radius of the ellipsoid.
const char* IlvEllipsoid::getComment | ( | ) | const |
Returns a description of the ellipsoid.
0
if it has none. This string cannot be modified or deleted. IlvMapsError IlvEllipsoid::getError | ( | ) | const |
Gets the error status of the ellipsoid.
This member function returns the status of an ellipsoid, namely:
IlvMaps::NoError()
if the ellipsoid is valid. See the class IlvMaps
to know how to interpret the error codes returned.
IlvMaps
. IlDouble IlvEllipsoid::getES | ( | ) | const |
Returns the eccentricity squared of the ellipsoid.
const char* IlvEllipsoid::getName | ( | ) | const |
Returns the name of the ellipsoid.
0
if it has none. This string cannot be modified or deleted.
|
static |
Returns the registered ellipsoid whose name is passed as argument.
About 40 common ellipsoids are registered in the class. This function returns 0
if the ellipsoid is of an unknown type.
name | The name of the ellipsoid to be retrieved. |
0
otherwise.
|
static |
Returns the array of registered ellipsoids.
The count argument is set to the number of ellipsoids. About 40 common ellipsoids are registered in the class.
count | The returned number of ellipsoids. |
IlBoolean IlvEllipsoid::isBad | ( | ) | const |
Checks the status of the ellipsoid.
This member function returns IlTrue
if the ellipsoid is in an invalid status, for example if the value of the eccentricity squared is less than zero. See the function getError
below.
IlTrue
if the ellipsoid is invalid, IlFalse
otherwise. IlBoolean IlvEllipsoid::isSphere | ( | ) | const |
Checks if the ellipsoid is a sphere.
This member function returns IlTrue
if the ellipsoid is a sphere.
IlTrue
if the ellipsoid is a sphere, IlFalse
otherwise.
|
static |
Loads an IlvEllipsoid
object.
It can be used, for example, within the read method of a subclass of IlvNamedProperty
.
It returns 0
if an error occurred while reading. If the read operation succeeds, the developer is responsible for deleting the ellipsoid.
void IlvEllipsoid::save | ( | IlvOutputFile & | outputFile | ) | const |
Saves an IlvEllipsoid
object.
It can be used, for example, within the write method of a subclass of IlvNamedProperty
.
outputFile | The output file. |
|
static |
Returns the ellipsoid used in the Soviet Geodetic System 85.
|
static |
Returns a spherical ellipsoid representing the earth.
|
static |
Returns the WGS 60 ellipsoid.
|
static |
Returns the WGS 66 ellipsoid.
|
static |
Returns the WGS 72 ellipsoid.
|
static |
Returns the WGS 84 ellipsoid.