Rogue Wave Views 5.6 |
Rogue Wave Views |
Rogue Wave Views Documentation Home |
This class defines the Transverse Mercator projection. More...
#include <ilviews/maps/projection/tranmerc.h>
Public Member Functions | |
IlvTransverseMercatorProjection (IlDouble latitudeOfTrueScale=0.) | |
This constructor initializes an instance of the class IlvTransverseMercatorProjection and sets the latitude of the true scale. | |
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. | |
IlDouble | getScaleFactor () const |
Returns the scale factor applied to the central meridian. | |
virtual IlvMapsError | setEllipsoid (const IlvEllipsoid &ellipsoid) |
Sets the ellipsoid used for the projection. | |
virtual void | setScaleFactor (IlDouble k0) |
Sets the scale factor k0 applied to the central meridian. By default, the scale factor is 1 . | |
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 Transverse Mercator projection.
Library: ilvmaps
This type of projection is generally used for large scale maps of predominantly north-south extension. The Transverse Mercator projection is the projection of a sphere on a cylinder that is tangent to a meridian. This projection is also known as:
This class implements the forward and inverse functions and is available for spheres and ellipsoids.
The projection is Conformal.
Transverse Mercator Projection
IlvTransverseMercatorProjection::IlvTransverseMercatorProjection | ( | IlDouble | latitudeOfTrueScale = 0. |
) |
This constructor initializes an instance of the class IlvTransverseMercatorProjection
and sets the latitude of the true scale.
latitudeOfTrueScale | The latitude of the true scale. |
static IlvProjectionClassInfo* IlvTransverseMercatorProjection::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 IlvProjection.
Reimplemented in IlvUniversalTransverseMercatorProjection.
static IlvClassInfo** IlvTransverseMercatorProjection::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 IlvProjection.
Reimplemented in IlvUniversalTransverseMercatorProjection.
virtual IlvProjection* IlvTransverseMercatorProjection::copy | ( | ) | const [virtual] |
Returns a copy of the projection. It must be overridden in each subclass.
Implements IlvProjection.
Reimplemented in IlvUniversalTransverseMercatorProjection.
virtual IlvMapsError IlvTransverseMercatorProjection::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 IlvTransverseMercatorProjection::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* IlvTransverseMercatorProjection::getClassInfo | ( | ) | const [virtual] |
Returns the class information for the projection.
Reimplemented from IlvProjection.
Reimplemented in IlvUniversalTransverseMercatorProjection.
IlDouble IlvTransverseMercatorProjection::getScaleFactor | ( | ) | const |
Returns the scale factor applied to the central meridian.
virtual IlvMapsError IlvTransverseMercatorProjection::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.
virtual void IlvTransverseMercatorProjection::setScaleFactor | ( | IlDouble | k0 | ) | [virtual] |
Sets the scale factor k0 applied to the central meridian. By default, the scale factor is 1
.
k0 | The scale factor applied to the central meridian. |
Reimplemented in IlvUniversalTransverseMercatorProjection.
virtual IlvMapsError IlvTransverseMercatorProjection::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 IlvTransverseMercatorProjection::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 IlvTransverseMercatorProjection::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 IlvProjection.
Reimplemented in IlvUniversalTransverseMercatorProjection.
© 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.