ucar.unidata.geoloc.projection
Class Mercator

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

public class Mercator
extends ProjectionImpl

Mercator projection, spherical earth. Projection plane is a cylinder tangent to the earth at tangentLon. See John Snyder, Map Projections used by the USGS, Bulletin 1532, 2nd edition (1983), p 43-47

Author:
John Caron
See Also:
Projection, ProjectionImpl, 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
Mercator()
          Constructor with default parameteres
Mercator(double lon0, double par)
          Construct a Mercator Projection.
Mercator(double lat0, double lon0, double par)
          Deprecated. use Mercator(double lon0, double par)
Mercator(double lon0, double par, double false_easting, double false_northing)
          Construct a Mercator Projection.
 
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.
 double getFalseEasting()
          Get the false easting, in km.
 double getFalseNorthing()
          Get the false northing, in km.
 double getOriginLon()
          Get the origin longitude.
 double getParallel()
          Get the first standard parallel
 ProjectionPoint latLonToProj(LatLonPoint latLon, ProjectionPointImpl result)
          Convert a LatLonPoint to projection coordinates
 String paramsToString()
          Get the parameters as a String
 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 setFalseEasting(double falseEasting)
          Set the false_easting, in km.
 void setFalseNorthing(double falseNorthing)
          Set the false northing, in km.
 void setOriginLat(double lat)
          Deprecated. not used, only here for XML Persistence
 void setOriginLon(double lon)
          Set the origin longitude.
 void setParallel(double par)
          Set the first standard parallel
 
Methods inherited from class ucar.unidata.geoloc.ProjectionImpl
addParameter, addParameter, addParameter, getClassName, getDefaultMapArea, getDefaultMapAreaLL, getHeader, getLatLonBoundingBox, getName, getProjectionParameters, getProjectionTypeLabel, 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, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Mercator

public Mercator()
Constructor with default parameteres


Mercator

public Mercator(double lat0,
                double lon0,
                double par)
Deprecated. use Mercator(double lon0, double par)

Construct a Mercator Projection.

Parameters:
lat0 - latitude of origin (degrees) NOT USED
lon0 - longitude of origin (degrees)
par - standard parallel (degrees). cylinder cuts earth at this latitude.

Mercator

public Mercator(double lon0,
                double par)
Construct a Mercator Projection.

Parameters:
lon0 - longitude of origin (degrees)
par - standard parallel (degrees). cylinder cuts earth at this latitude.

Mercator

public Mercator(double lon0,
                double par,
                double false_easting,
                double false_northing)
Construct a Mercator Projection.

Parameters:
lon0 - longitude of origin (degrees)
par - standard parallel (degrees). cylinder cuts earth at this latitude.
false_easting - false_easting in km
false_northing - false_northing in km
Method Detail

constructCopy

public ProjectionImpl constructCopy()
copy constructor - avoid clone !!

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

getParallel

public double getParallel()
Get the first standard parallel

Returns:
the first standard parallel

setParallel

public void setParallel(double par)
Set the first standard parallel

Parameters:
par - the first standard parallel

getOriginLon

public double getOriginLon()
Get the origin longitude.

Returns:
the origin longitude.

setOriginLon

public void setOriginLon(double lon)
Set the origin longitude.

Parameters:
lon - the origin longitude.

setOriginLat

public void setOriginLat(double lat)
Deprecated. not used, only here for XML Persistence

Set the origin latitude, has not effect.

Parameters:
lat - the origin latitude.

getFalseEasting

public double getFalseEasting()
Get the false easting, in km.

Returns:
the false easting.

setFalseEasting

public void setFalseEasting(double falseEasting)
Set the false_easting, in km. natural_x_coordinate + false_easting = x coordinate

Parameters:
falseEasting - x offset

getFalseNorthing

public double getFalseNorthing()
Get the false northing, in km.

Returns:
the false northing.

setFalseNorthing

public void setFalseNorthing(double falseNorthing)
Set the false northing, in km. natural_y_coordinate + false_northing = y coordinate

Parameters:
falseNorthing - y offset

paramsToString

public String paramsToString()
Get the parameters as a String

Specified by:
paramsToString in interface Projection
Specified by:
paramsToString in class ProjectionImpl
Returns:
the parameters as a String

crossSeam

public boolean crossSeam(ProjectionPoint pt1,
                         ProjectionPoint pt2)
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

clone

public Object clone()
Clone this projection

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

equals

public boolean equals(Object proj)
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.

latLonToProj

public ProjectionPoint latLonToProj(LatLonPoint latLon,
                                    ProjectionPointImpl result)
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
result - the object to write to
Returns:
the given result

projToLatLon

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

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


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