ucar.unidata.geoloc.projection.proj4
Class TransverseMercatorProjection

java.lang.Object
  extended by ucar.unidata.geoloc.ProjectionImpl
      extended by ucar.unidata.geoloc.projection.proj4.TransverseMercatorProjection
All Implemented Interfaces:
Serializable, Cloneable, Projection

public class TransverseMercatorProjection
extends ProjectionImpl

Transverse Mercator Projection algorithm is taken from the USGS PROJ package.

Author:
Heiko.Klein@met.no
See Also:
Serialized Form

Field Summary
 
Fields inherited from class ucar.unidata.geoloc.ProjectionImpl
ATTR_NAME, atts, defaultMapArea, EARTH_RADIUS, INDEX_LAT, INDEX_LON, INDEX_X, INDEX_Y, isLatLon, name, PI, PI_OVER_2, PI_OVER_4, TOLERANCE
 
Constructor Summary
TransverseMercatorProjection()
           
TransverseMercatorProjection(Earth ellipsoid, double lon_0_deg, double lat_0_deg, double k, double falseEast, double falseNorth)
          Set up a projection suitable for State Plane Coordinates.
 
Method Summary
 Object clone()
          Clone this projection
 ProjectionImpl constructCopy()
          copy constructor - avoid clone !!
 boolean crossSeam(ProjectionPoint pt1, ProjectionPoint pt2)
          Does the line between these two points cross the projection "seam".
 boolean equals(Object proj)
          Returns true if this represents the same Projection as proj.
 String getProjectionTypeLabel()
          Get the label to be used in the gui for this type of projection.
 int getRowFromNearestParallel(double latitude)
           
 int getZoneFromNearestMeridian(double longitude)
           
 int hashCode()
           
 boolean hasInverse()
           
 void initialize()
           
 boolean isRectilinear()
           
 ProjectionPoint latLonToProj(LatLonPoint latLon, ProjectionPointImpl destPoint)
          Convert a LatLonPoint to projection coordinates
static void main(String[] args)
           
 String paramsToString()
          Get a string representation of the projection parameters
 Point2D.Double project(double lplam, double lpphi, Point2D.Double xy)
           
 Point2D.Double projectInverse(double x, double y, Point2D.Double out)
           
 LatLonPoint projToLatLon(ProjectionPoint world, LatLonPointImpl result)
          Convert projection coordinates to a LatLonPoint Note: a new object is not created on each call for the return value.
 void setUTMZone(int zone)
           
 
Methods inherited from class ucar.unidata.geoloc.ProjectionImpl
addParameter, addParameter, addParameter, getClassName, getDefaultMapArea, getDefaultMapAreaLL, getHeader, getLatLonBoundingBox, getName, getProjectionParameters, isLatLon, latLonToProj, latLonToProj, latLonToProj, latLonToProj, latLonToProj, latLonToProj, latLonToProj, latLonToProj, latLonToProj, latLonToProj, latLonToProjBB, projToLatLon, projToLatLon, projToLatLon, projToLatLon, projToLatLon, projToLatLon, projToLatLonBB, setDefaultMapArea, setName, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TransverseMercatorProjection

public TransverseMercatorProjection()

TransverseMercatorProjection

public TransverseMercatorProjection(Earth ellipsoid,
                                    double lon_0_deg,
                                    double lat_0_deg,
                                    double k,
                                    double falseEast,
                                    double falseNorth)
Set up a projection suitable for State Plane Coordinates. Best used with earth ellipsoid and false-easting/northing in km

Method Detail

clone

public Object clone()
Description copied from class: ProjectionImpl
Clone this projection

Overrides:
clone in class ProjectionImpl
Returns:
a clone of this.

isRectilinear

public boolean isRectilinear()

initialize

public void initialize()

getRowFromNearestParallel

public int getRowFromNearestParallel(double latitude)

getZoneFromNearestMeridian

public int getZoneFromNearestMeridian(double longitude)

setUTMZone

public void setUTMZone(int zone)

project

public Point2D.Double project(double lplam,
                              double lpphi,
                              Point2D.Double xy)

projectInverse

public Point2D.Double projectInverse(double x,
                                     double y,
                                     Point2D.Double out)

hasInverse

public boolean hasInverse()

getProjectionTypeLabel

public String getProjectionTypeLabel()
Description copied from class: ProjectionImpl
Get the label to be used in the gui for this type of projection. This defaults to call getClassName

Overrides:
getProjectionTypeLabel in class ProjectionImpl
Returns:
Type label

constructCopy

public ProjectionImpl constructCopy()
Description copied from class: ProjectionImpl
copy constructor - avoid clone !!

Specified by:
constructCopy in class ProjectionImpl
Returns:
a copy of this Projection

paramsToString

public String paramsToString()
Description copied from class: ProjectionImpl
Get a string representation of the projection parameters

Specified by:
paramsToString in interface Projection
Specified by:
paramsToString in class ProjectionImpl
Returns:
string representation of the projection parameters

latLonToProj

public ProjectionPoint latLonToProj(LatLonPoint latLon,
                                    ProjectionPointImpl destPoint)
Description copied from class: ProjectionImpl
Convert a LatLonPoint to projection coordinates

Specified by:
latLonToProj in interface Projection
Specified by:
latLonToProj in class ProjectionImpl
Parameters:
latLon - convert from these lat, lon coordinates
destPoint - the object to write to
Returns:
the given destPoint

projToLatLon

public LatLonPoint projToLatLon(ProjectionPoint world,
                                LatLonPointImpl result)
Description copied from class: ProjectionImpl
Convert projection coordinates to a LatLonPoint Note: a new object is not created on each call for the return value.

Specified by:
projToLatLon in interface Projection
Specified by:
projToLatLon in class ProjectionImpl
Parameters:
world - convert from these projection coordinates
result - the object to write to
Returns:
LatLonPoint convert to these lat/lon coordinates

crossSeam

public boolean crossSeam(ProjectionPoint pt1,
                         ProjectionPoint pt2)
Description copied from class: ProjectionImpl
Does the line between these two points cross the projection "seam".

Specified by:
crossSeam in interface Projection
Specified by:
crossSeam in class ProjectionImpl
Parameters:
pt1 - the line goes between these two points
pt2 - the line goes between these two points
Returns:
false if there is no seam

equals

public boolean equals(Object proj)
Description copied from class: ProjectionImpl
Returns true if this represents the same Projection as proj.

Specified by:
equals in interface Projection
Specified by:
equals in class ProjectionImpl
Parameters:
proj - projection in question
Returns:
true if this represents the same Projection as proj.

hashCode

public int hashCode()
Overrides:
hashCode in class Object

main

public static void main(String[] args)


Copyright © 1999-2011 UCAR/Unidata. All Rights Reserved.