![]() Rogue Wave Views 5.5.1 |
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.