rwlogo
Rogue Wave Views 5.6

Rogue Wave Views
Maps Package API Reference Guide

Product Documentation:

Rogue Wave Views
Documentation Home

IlvUniversalTransverseMercatorProjection Class Reference

This class defines Universal Transverse Mercator projections, also known as UTM projections. More...

#include <ilviews/maps/projection/unitmerc.h>

Inheritance diagram for IlvUniversalTransverseMercatorProjection:
IlvTransverseMercatorProjection IlvProjection

List of all members.

Public Member Functions

 IlvUniversalTransverseMercatorProjection (IlDouble lon)
 Creates an instance of the IlvUniverseTransverseMercatorProjection and specifies the central meridian.
 IlvUniversalTransverseMercatorProjection (IlUShort zone=30)
 Initializes an instance of the class IlvUniversalTransverseMercatorProjection and specifies the UTM zone. The ellipsoid is set to the WGS84 ellipsoid.
virtual IlvProjectioncopy () const
 Returns a copy of the projection. It must be overridden in each subclass.
virtual IlvProjectionClassInfogetClassInfo () const
 Returns the class information for the projection.
IlUShort getZone () const
 Returns the UTM zone to which the projection applies.
virtual IlBoolean isSouth () const
 Checks if projection is for applications portraying the southern hemisphere.
virtual void setLLCenter (IlDouble lon, IlDouble lat)
 Specifies the central meridian and the central parallel (in radian) associated with the projection.
virtual void setScaleFactor (IlDouble k0)
 Sets the scale factor k0 applied to the central meridian. By default, the scale factor is 1.
void setSouth (IlBoolean south)
 Sets a false northing for applications portraying the southern hemisphere.
IlBoolean setZone (IlUShort zone)
 Sets the UTM zone to which the projection applies.
virtual void write (IlvOutputFile &) const
 Saves the parameters of a projection to the specified output file.

Static Public Member Functions

static IlvProjectionClassInfoClassInfo ()
 Returns the class information of the class.
static IlvClassInfo ** ClassInfoRef ()
 Returns the address of the class information of the class.

Detailed Description

This class defines Universal Transverse Mercator projections, also known as UTM projections.

A UTM projection is a preconfigured form of the Transverse Mercator projection. It is generally used with non-spherical ellipsoids. UTM projections usually apply to 6-degree longitudinal strips extending from 84S to 80N. These strips are called UTM zones, with Zone 1 starting at 180W and Zone 60 ending at 180E. The central meridian is constrained to 6-degree intervals starting at 3 degrees. The projection automatically adjusts to the value nearest to the user's entry. A false easting of 500,000 meters is automatically added.

UniversalTransverseMercator.jpg


Universal Transverse Mercator Projection

Library: ilvmaps

See also:
IlvUniversalPolarStereographicProjection.

Constructor & Destructor Documentation

IlvUniversalTransverseMercatorProjection::IlvUniversalTransverseMercatorProjection ( IlUShort  zone = 30  ) 

Initializes an instance of the class IlvUniversalTransverseMercatorProjection and specifies the UTM zone. The ellipsoid is set to the WGS84 ellipsoid.

Parameters:
zone The UTM zone.
IlvUniversalTransverseMercatorProjection::IlvUniversalTransverseMercatorProjection ( IlDouble  lon  ) 

Creates an instance of the IlvUniverseTransverseMercatorProjection and specifies the central meridian.

The ellipsoid is set to the WGS84 ellipsoid. The zone specified by the lon parameter is adjusted to the nearest UTM zone at the specified longitude.

Parameters:
lon The longitude.

Member Function Documentation

static IlvProjectionClassInfo* IlvUniversalTransverseMercatorProjection::ClassInfo (  )  [static]

Returns the class information of the class.

This static function is also available for the subclasses of IlvProjection.

Returns:
The IlvProjectionClassInfo of the class.

Reimplemented from IlvTransverseMercatorProjection.

static IlvClassInfo** IlvUniversalTransverseMercatorProjection::ClassInfoRef (  )  [static]

Returns the address of the class information of the class.

This static function is also available for the subclasses of IlvProjection.

Returns:
The address of the IlvProjectionClassInfo of the class.

Reimplemented from IlvTransverseMercatorProjection.

virtual IlvProjection* IlvUniversalTransverseMercatorProjection::copy (  )  const [virtual]

Returns a copy of the projection. It must be overridden in each subclass.

Returns:
The copy of the object.

Reimplemented from IlvTransverseMercatorProjection.

virtual IlvProjectionClassInfo* IlvUniversalTransverseMercatorProjection::getClassInfo (  )  const [virtual]

Returns the class information for the projection.

Returns:
The class information for the projection.

Reimplemented from IlvTransverseMercatorProjection.

IlUShort IlvUniversalTransverseMercatorProjection::getZone (  )  const

Returns the UTM zone to which the projection applies.

Returns:
The UTM zone.
virtual IlBoolean IlvUniversalTransverseMercatorProjection::isSouth (  )  const [virtual]

Checks if projection is for applications portraying the southern hemisphere.

This member function returns IlTrue if the projection is set for applications portraying the southern hemisphere.

Returns:
IlTrue if the projection is set for applications portraying the southern hemisphere IlFalse otherwise.
virtual void IlvUniversalTransverseMercatorProjection::setLLCenter ( IlDouble  lon,
IlDouble  lat 
) [virtual]

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.

Parameters:
lon The central meridian in radian.
lat The central parallel in radian.

Reimplemented from IlvProjection.

virtual void IlvUniversalTransverseMercatorProjection::setScaleFactor ( IlDouble  k0  )  [virtual]

Sets the scale factor k0 applied to the central meridian. By default, the scale factor is 1.

Parameters:
k0 The scale factor applied to the central meridian.

Reimplemented from IlvTransverseMercatorProjection.

void IlvUniversalTransverseMercatorProjection::setSouth ( IlBoolean  south  ) 

Sets a false northing for applications portraying the southern hemisphere.

In applications portraying the southern hemisphere, this member function should be called with the Boolean argument south set to IlTrue, in which case a false northing of 10,000,000 meters is added.

Parameters:
south Specifies if a false northing is to be set.
IlBoolean IlvUniversalTransverseMercatorProjection::setZone ( IlUShort  zone  ) 

Sets the UTM zone to which the projection applies.

The zone index must be included in the range 1 to 60 because there are 60 UTM zones extending from west to east. Zone 1 extends from 180W to 174W. Zone 60 extends from 174E to 180E.
The function returns IlFalse if an invalid UTM zone is specified, and leaves the projection unchanged.

Returns:
IlFalse if the UTM zone is invalid, IlTrue otherwise.
virtual void IlvUniversalTransverseMercatorProjection::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.

Parameters:
outputFile The file to write the projection parameters to.

Reimplemented from IlvTransverseMercatorProjection.

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

© 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.