ucar.visad
Class MapProjectionProjection

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

public class MapProjectionProjection
extends ucar.unidata.geoloc.ProjectionImpl

Projection wrapper for a VisAD MapProjection with reference of Lat,Lon or Lon,Lat

Author:
Unidata Development Team
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
MapProjectionProjection()
          Constructor with default parameters
MapProjectionProjection(MapProjection mapProjection)
          Construct a MapProjection Projection.
 
Method Summary
 Object clone()
          Clone this projection.
 ucar.unidata.geoloc.ProjectionImpl constructCopy()
          copy constructor - avoid clone !!
 boolean crossSeam(ucar.unidata.geoloc.ProjectionPoint pt1, ucar.unidata.geoloc.ProjectionPoint pt2)
          This returns true when the line between pt1 and pt2 crosses the seam.
 boolean equals(Object proj)
          Check for equality with the Object in question
 MapProjection getMapProjection()
          Get the underlying map projection
 String getProjectionTypeLabel()
          Get the label to be used in the gui for this type of projection
 double[][] latLonToProj(double[][] from, double[][] to, int latIndex, int lonIndex)
          Convert lat/lon coordinates to projection coordinates.
 float[][] latLonToProj(float[][] from, float[][] to, int latIndex, int lonIndex)
          Convert lat/lon coordinates to projection coordinates.
 ucar.unidata.geoloc.ProjectionPoint latLonToProj(ucar.unidata.geoloc.LatLonPoint latLon, ucar.unidata.geoloc.ProjectionPointImpl result)
          Convert a LatLonPoint to projection coordinates
static void main(String[] args)
          Test
 String paramsToString()
          Create a String of the parameters.
 double[][] projToLatLon(double[][] from, double[][] to)
          Convert lat/lon coordinates to projection coordinates.
 float[][] projToLatLon(float[][] from, float[][] to)
          Convert lat/lon coordinates to projection coordinates.
 ucar.unidata.geoloc.LatLonPoint projToLatLon(ucar.unidata.geoloc.ProjectionPoint world, ucar.unidata.geoloc.LatLonPointImpl result)
          Convert projection coordinates to a LatLonPoint Note: a new object is not created on each call for the return value.
 
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, latLonToProjBB, 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

MapProjectionProjection

public MapProjectionProjection()
Constructor with default parameters


MapProjectionProjection

public MapProjectionProjection(MapProjection mapProjection)
Construct a MapProjection Projection.

Parameters:
mapProjection - the VisAD MapProjection to wrap
Method Detail

constructCopy

public ucar.unidata.geoloc.ProjectionImpl constructCopy()
copy constructor - avoid clone !!

Specified by:
constructCopy in class ucar.unidata.geoloc.ProjectionImpl
Returns:
_more_

clone

public Object clone()
Clone this projection.

Overrides:
clone in class ucar.unidata.geoloc.ProjectionImpl
Returns:
Clone of this

equals

public boolean equals(Object proj)
Check for equality with the Object in question

Specified by:
equals in interface ucar.unidata.geoloc.Projection
Specified by:
equals in class ucar.unidata.geoloc.ProjectionImpl
Parameters:
proj - object to check
Returns:
true if they are equal

getProjectionTypeLabel

public String getProjectionTypeLabel()
Get the label to be used in the gui for this type of projection

Overrides:
getProjectionTypeLabel in class ucar.unidata.geoloc.ProjectionImpl
Returns:
Type label

paramsToString

public String paramsToString()
Create a String of the parameters.

Specified by:
paramsToString in interface ucar.unidata.geoloc.Projection
Specified by:
paramsToString in class ucar.unidata.geoloc.ProjectionImpl
Returns:
a String of the parameters

latLonToProj

public ucar.unidata.geoloc.ProjectionPoint latLonToProj(ucar.unidata.geoloc.LatLonPoint latLon,
                                                        ucar.unidata.geoloc.ProjectionPointImpl result)
Convert a LatLonPoint to projection coordinates

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

projToLatLon

public ucar.unidata.geoloc.LatLonPoint projToLatLon(ucar.unidata.geoloc.ProjectionPoint world,
                                                    ucar.unidata.geoloc.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 ucar.unidata.geoloc.Projection
Specified by:
projToLatLon in class ucar.unidata.geoloc.ProjectionImpl
Parameters:
world - convert from these projection coordinates
result - the object to write to
Returns:
LatLonPoint convert to these lat/lon coordinates

latLonToProj

public float[][] latLonToProj(float[][] from,
                              float[][] to,
                              int latIndex,
                              int lonIndex)
Convert lat/lon coordinates to projection coordinates.

Overrides:
latLonToProj in class ucar.unidata.geoloc.ProjectionImpl
Parameters:
from - array of lat/lon coordinates: from[2][n], where from[0][i], from[1][i] is the (lat,lon) coordinate of the ith point
to - resulting array of projection coordinates, where to[0][i], to[1][i] is the (x,y) coordinate of the ith point
latIndex - index of latitude in "from"
lonIndex - index of longitude in "from"
Returns:
the "to" array.

crossSeam

public boolean crossSeam(ucar.unidata.geoloc.ProjectionPoint pt1,
                         ucar.unidata.geoloc.ProjectionPoint pt2)
This returns true when the line between pt1 and pt2 crosses the seam. When the cone is flattened, the "seam" is lon0 +- 180.

Specified by:
crossSeam in interface ucar.unidata.geoloc.Projection
Specified by:
crossSeam in class ucar.unidata.geoloc.ProjectionImpl
Parameters:
pt1 - point 1
pt2 - point 2
Returns:
true when the line between pt1 and pt2 crosses the seam.

projToLatLon

public float[][] projToLatLon(float[][] from,
                              float[][] to)
Convert lat/lon coordinates to projection coordinates.

Overrides:
projToLatLon in class ucar.unidata.geoloc.ProjectionImpl
Parameters:
from - array of lat/lon coordinates: from[2][n], where (from[0][i], from[1][i]) is the (lat,lon) coordinate of the ith point
to - resulting array of projection coordinates: to[2][n] where (to[0][i], to[1][i]) is the (x,y) coordinate of the ith point
Returns:
the "to" array

latLonToProj

public double[][] latLonToProj(double[][] from,
                               double[][] to,
                               int latIndex,
                               int lonIndex)
Convert lat/lon coordinates to projection coordinates.

Overrides:
latLonToProj in class ucar.unidata.geoloc.ProjectionImpl
Parameters:
from - array of lat/lon coordinates: from[2][n], where from[0][i], from[1][i] is the (lat,lon) coordinate of the ith point
to - resulting array of projection coordinates, where to[0][i], to[1][i] is the (x,y) coordinate of the ith point
latIndex - index of latitude in "from"
lonIndex - index of longitude in "from"
Returns:
the "to" array.

projToLatLon

public double[][] projToLatLon(double[][] from,
                               double[][] to)
Convert lat/lon coordinates to projection coordinates.

Overrides:
projToLatLon in class ucar.unidata.geoloc.ProjectionImpl
Parameters:
from - array of lat/lon coordinates: from[2][n], where (from[0][i], from[1][i]) is the (lat,lon) coordinate of the ith point
to - resulting array of projection coordinates: to[2][n] where (to[0][i], to[1][i]) is the (x,y) coordinate of the ith point
Returns:
the "to" array

getMapProjection

public MapProjection getMapProjection()
Get the underlying map projection

Returns:
the MapProjection

main

public static void main(String[] args)
Test

Parameters:
args - not used