ilog.views.maps.projection
Class IlvUniversalTransverseMercatorProjection

java.lang.Object
  extended by ilog.views.maps.projection.IlvProjection
      extended by ilog.views.maps.projection.IlvTransverseMercatorProjection
          extended by ilog.views.maps.projection.IlvUniversalTransverseMercatorProjection
All Implemented Interfaces:
IlvPersistentObject, Serializable

public class IlvUniversalTransverseMercatorProjection
extends IlvTransverseMercatorProjection

This class defines Universal Transverse Mercator projections, also known as the UTM projection. The UTM projection is a pre-configured form of the Transverse Mercator projection. It is usually 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 which is nearest to the user's entry. A false easting of 500 000 meters is automatically added.

See Also:
IlvUniversalPolarStereographicProjection, Serialized Form

Field Summary
 
Fields inherited from class ilog.views.maps.projection.IlvProjection
CONFORMAL, EQUAL_AREA, NONE
 
Constructor Summary
IlvUniversalTransverseMercatorProjection()
          Creates an instance of the class IlvUniversalTransverseMercatorProjection.
IlvUniversalTransverseMercatorProjection(double lon)
          Creates an instance of the IlvUniverseTransverseMercatorProjection and specifies the central meridian.
IlvUniversalTransverseMercatorProjection(IlvInputStream stream)
          Reads the object from an IlvInputStream.
IlvUniversalTransverseMercatorProjection(IlvUniversalTransverseMercatorProjection source)
          Creates a new IlvUniversalTransverseMercatorProjection by copying an existing one.
IlvUniversalTransverseMercatorProjection(int zone)
          Creates an instance of the class IlvUniversalTransverseMercatorProjection and specifies the UTM zone.
 
Method Summary
 IlvProjection copy()
          Copies the projection.
 int getZone()
          Returns the UTM zone to which the projection applies.
 boolean isSouth()
          Returns true if the projection is set for applications portraying the southern hemisphere.
 void setLLCenter(double lon, double lat)
          Specifies the central meridian of the projection.
 void setScaleFactor(double k0)
          Does nothing.
 void setSouth(boolean south)
          In applications portraying the southern hemisphere, this function should be called with a true argument.
 void setZone(int zone)
          Sets the UTM zone to which the projection applies.
 String toString()
          Converts the projection to a string with Evenden's format.
 void write(IlvOutputStream stream)
          Writes the object to an IlvOutputStream.
 
Methods inherited from class ilog.views.maps.projection.IlvTransverseMercatorProjection
eForward, eInverse, getScaleFactor, setEllipsoid, sForward, sInverse
 
Methods inherited from class ilog.views.maps.projection.IlvProjection
addDescription, adjustLongitude, equals, forward, forward, getCentralMeridian, getCentralParallel, getDatum, getEllipsoid, getFalseEasting, getFalseNorthing, GetProjection, getProperty, getUnit, getXYOffset, inverse, inverse, inverse, isEllipsoidEnabled, isGeocentric, isInverseEnabled, isUsingLongitudeReduction, setCentralMeridian, setCentralParallel, setDatum, setFalseEasting, setFalseNorthing, setGeocentric, setUnit, setUsingLongitudeReduction, setXYOffset
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IlvUniversalTransverseMercatorProjection

public IlvUniversalTransverseMercatorProjection()
Creates an instance of the class IlvUniversalTransverseMercatorProjection. The UTM zone is set to 30. The ellipsoid is set to the WGS84 ellipsoid.


IlvUniversalTransverseMercatorProjection

public IlvUniversalTransverseMercatorProjection(int zone)
                                         throws IlvBadProjectionParameter
Creates an instance of the class IlvUniversalTransverseMercatorProjection and specifies the UTM zone. The ellipsoid is set to the WGS84 ellipsoid.

Parameters:
zone - the UTM zone to which the projection applies.
Throws:
IlvBadProjectionParameter - if an invalid UTM zone is specified.

IlvUniversalTransverseMercatorProjection

public IlvUniversalTransverseMercatorProjection(double lon)
Creates an instance of the IlvUniverseTransverseMercatorProjection and specifies the central meridian. The ellipsoid is set to the WGS84 ellipsoid.

Parameters:
lon - the zone will be adjusted to the nearest UTM zone at the specified longitude.

IlvUniversalTransverseMercatorProjection

public IlvUniversalTransverseMercatorProjection(IlvInputStream stream)
                                         throws IlvReadFileException
Reads the object from an IlvInputStream.

Parameters:
stream - the input stream.
Throws:
IlvReadFileException - if the format is not correct.
Since:
JViews 3.0

IlvUniversalTransverseMercatorProjection

public IlvUniversalTransverseMercatorProjection(IlvUniversalTransverseMercatorProjection source)
Creates a new IlvUniversalTransverseMercatorProjection by copying an existing one.

Parameters:
source - the projection that is copied.
Since:
JViews 3.0
Method Detail

copy

public IlvProjection copy()
Copies the projection.

Overrides:
copy in class IlvTransverseMercatorProjection
Returns:
a copy of the projection.
Since:
JViews 3.0

setSouth

public void setSouth(boolean south)
In applications portraying the southern hemisphere, this function should be called with a true argument. It adds a false northing of 10 000 000 meters.

Parameters:
south - if true, a false northing of 10 000 000 m is added

isSouth

public final boolean isSouth()
Returns true if the projection is set for applications portraying the southern hemisphere.

See Also:
setSouth(boolean)

setZone

public void setZone(int zone)
             throws IlvBadProjectionParameter
Sets the UTM zone to which the projection applies. There are 60 UTM zones extending from west to east. Zone 1 extends from 180W to 174W. Zone 60 extends from 174E to 180E.

Parameters:
zone - the zone index (between 1 and 60)
Throws:
IlvBadProjectionParameter - if an invalid UTM zone is specified.

setLLCenter

public void setLLCenter(double lon,
                        double lat)
Specifies the central meridian of the projection. The central meridian is modified to correspond to the nearest zone.

Overrides:
setLLCenter in class IlvProjection
Parameters:
lon - the central meridian in radians
lat - ignored. The central latitude of an UTM projection is always 0.
See Also:
IlvProjectionUtil.DegreeToRadian(double), IlvProjectionUtil.DMSToRadian(java.lang.String)

getZone

public int getZone()
Returns the UTM zone to which the projection applies.

See Also:
setZone(int)

setScaleFactor

public void setScaleFactor(double k0)
Does nothing. The UTM projection has a specified scaling factor of 0.9996.

Overrides:
setScaleFactor in class IlvTransverseMercatorProjection
Parameters:
k0 - ignored

write

public void write(IlvOutputStream stream)
           throws IOException
Writes the object to an IlvOutputStream.

Specified by:
write in interface IlvPersistentObject
Overrides:
write in class IlvTransverseMercatorProjection
Parameters:
stream - the output stream.
Throws:
IOException - thrown when an exception occurs during the write operation for this object.

toString

public String toString()
Converts the projection to a string with Evenden's format.

Overrides:
toString in class IlvTransverseMercatorProjection


Copyright © 1996-2007 ILOG S.A. All rights reserved.   Documentation homepage.