Rogue Wave Views 5.6 |
Rogue Wave Views |
Rogue Wave Views Documentation Home |
This class defines the Albers Equal Area Conic projection. More...
#include <ilviews/maps/projection/alberseq.h>
Public Member Functions | |
IlvAlbersEqualAreaProjection (IlDouble lat1=IlvMaps::DegreeToRadian(29.5), IlDouble lat2=IlvMaps::DegreeToRadian(45.5)) | |
This constructor initializes an instance of the class IlvAlbersEqualAreaProjection . | |
virtual IlvProjection * | copy () const |
Returns a copy of the projection. It must be overridden in each subclass. | |
virtual IlvProjectionClassInfo * | getClassInfo () const |
Returns the class information for the projection. | |
virtual IlvMapsError | setEllipsoid (const IlvEllipsoid &ellipsoid) |
Sets the ellipsoid used for the projection. | |
virtual void | setLLCenter (IlDouble lon, IlDouble lat) |
Specifies the central meridian and the central parallel (in radian) associated with the projection. | |
virtual IlvMapsError | setSecantLatitudes (const IlvCoordinate &s) |
Sets the latitudes at which the cone of the projection intersects with the earth. | |
virtual void | write (IlvOutputFile &) const |
Saves the parameters of a projection to the specified output file. | |
Static Public Member Functions | |
static IlvProjectionClassInfo * | ClassInfo () |
Returns the class information of the class. | |
static IlvClassInfo ** | ClassInfoRef () |
Returns the address of the class information of the class. | |
Protected Member Functions | |
virtual IlvMapsError | eForward (IlvCoordinate &ll) const |
Must be redefined in subclasses to implement the projection for a non spherical ellipsoid. | |
virtual IlvMapsError | eInverse (IlvCoordinate &xy) const |
Implements the inverse projection for a non spherical ellipsoid. | |
virtual IlvMapsError | sForward (IlvCoordinate &ll) const |
Must be redefined in subclasses to implement the projection for a sphere. | |
virtual IlvMapsError | sInverse (IlvCoordinate &xy) const |
Must be redefined in subclasses to implement the inverse projection for a sphere. |
This class defines the Albers Equal Area Conic projection.
This conic projection transfers the image of the globe to a cone either secant or tangent to the surface of the earth.
When used to display maps of the conterminous United States, this projection is often used with the first secant latitude set to 29.5DN and the second secant latitude set to 45.5DN.
This projection applies both to spherical and non-spherical ellipsoids and implements an inverse function.
This projection is Equal Area.
Albers Equal Area conic Projection
Library: ilvmaps
IlvAlbersEqualAreaProjection::IlvAlbersEqualAreaProjection | ( | IlDouble | lat1 = IlvMaps::DegreeToRadian(29.5) , |
|
IlDouble | lat2 = IlvMaps::DegreeToRadian(45.5) | |||
) |
This constructor initializes an instance of the class IlvAlbersEqualAreaProjection
.
lat1 | The first secant latitude, in radian. If omitted, the first secant latitude is set to 29.5 degrees. | |
lat2 | The second secant latitude, in radian. If omitted, the second secant latitude is set to 45.5 degrees. |
static IlvProjectionClassInfo* IlvAlbersEqualAreaProjection::ClassInfo | ( | ) | [static] |
Returns the class information of the class.
This static function is also available for the subclasses of IlvProjection
.
IlvProjectionClassInfo
of the class. Reimplemented from IlvConicProjection.
Reimplemented in IlvLambertEqualAreaConicProjection.
static IlvClassInfo** IlvAlbersEqualAreaProjection::ClassInfoRef | ( | ) | [static] |
Returns the address of the class information of the class.
This static function is also available for the subclasses of IlvProjection
.
IlvProjectionClassInfo
of the class. Reimplemented from IlvConicProjection.
Reimplemented in IlvLambertEqualAreaConicProjection.
virtual IlvProjection* IlvAlbersEqualAreaProjection::copy | ( | ) | const [virtual] |
Returns a copy of the projection. It must be overridden in each subclass.
Implements IlvProjection.
Reimplemented in IlvLambertEqualAreaConicProjection.
virtual IlvMapsError IlvAlbersEqualAreaProjection::eForward | ( | IlvCoordinate & | ll | ) | const [protected, virtual] |
Must be redefined in subclasses to implement the projection for a non spherical ellipsoid.
The default implementation returns IlvProjection::UnsupportedFeatureError()
.
ll | Contains the longitude and latitude coordinates in radian (x = longitude, y = latitude). |
Reimplemented from IlvProjection.
virtual IlvMapsError IlvAlbersEqualAreaProjection::eInverse | ( | IlvCoordinate & | xy | ) | const [protected, virtual] |
Implements the inverse projection for a non spherical ellipsoid.
The default implementation returns IlvProjection::UnsupportedFeatureError()
.
xy | Contains the Cartesian coordinates to inverse. |
Reimplemented from IlvProjection.
virtual IlvProjectionClassInfo* IlvAlbersEqualAreaProjection::getClassInfo | ( | ) | const [virtual] |
Returns the class information for the projection.
Reimplemented from IlvConicProjection.
Reimplemented in IlvLambertEqualAreaConicProjection.
virtual IlvMapsError IlvAlbersEqualAreaProjection::setEllipsoid | ( | const IlvEllipsoid & | ellipsoid | ) | [virtual] |
Sets the ellipsoid used for the projection.
This virtual member function sets the ellipsoid used for the projection. Most of the projections are initialized with a spherical ellipsoid with a radius of 6,370,997 meters.
This function returns IlvMaps::NoError()
if the operation is successful or an error status if you specify a non spherical ellipsoid and your type does not support non spherical.
ellipsoid | The ellipsoid used for the projection. |
IlvMapsError
if the ellipsoid does not match the projection. Reimplemented from IlvProjection.
Specifies the central meridian and the central parallel (in radian) associated with the projection.
By default, theses values are set to 0
. This function is virtual because it can be overridden by subclasses of IlvProjection
to update the internal parameters when the center is changed.
lon | The central meridian in radian. | |
lat | The central parallel in radian. |
Reimplemented from IlvProjection.
virtual IlvMapsError IlvAlbersEqualAreaProjection::setSecantLatitudes | ( | const IlvCoordinate & | secant | ) | [virtual] |
Sets the latitudes at which the cone of the projection intersects with the earth.
secant | A vector that contains two values: secant.x represents the first latitude at which the cone intersects with the earth. secant.y represents the second latitude at which the cone intersects with the earth. Both values are expressed in radian. |
Reimplemented from IlvConicProjection.
Reimplemented in IlvLambertEqualAreaConicProjection.
virtual IlvMapsError IlvAlbersEqualAreaProjection::sForward | ( | IlvCoordinate & | ll | ) | const [protected, virtual] |
Must be redefined in subclasses to implement the projection for a sphere.
ll | Contains the longitude and latitude coordinates in radian (x = longitude, y = latitude). |
Implements IlvProjection.
virtual IlvMapsError IlvAlbersEqualAreaProjection::sInverse | ( | IlvCoordinate & | xy | ) | const [protected, virtual] |
Must be redefined in subclasses to implement the inverse projection for a sphere.
The default implementation returns IlvProjection::UnsupportedFeatureError()
.
xy | Contains the Cartesian coordinates to inverse. |
Reimplemented from IlvProjection.
virtual void IlvAlbersEqualAreaProjection::write | ( | IlvOutputFile & | outputFile | ) | const [virtual] |
Saves the parameters of a projection to the specified output file.
It must be overridden by subclasses of IlvProjection
that need to save additional parameters. This function should not be directly called; use the save function instead.
outputFile | The file to write the projection parameters to. |
Reimplemented from IlvConicProjection.
Reimplemented in IlvLambertEqualAreaConicProjection.
© Copyright 2012, Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave is a registered trademark of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.