Package ucar.unidata.geoloc.projection
Class AlbersEqualArea
- java.lang.Object
-
- ucar.unidata.geoloc.ProjectionImpl
-
- ucar.unidata.geoloc.projection.AlbersEqualArea
-
- All Implemented Interfaces:
Serializable
,Projection
public class AlbersEqualArea extends ProjectionImpl
Albers Equal Area Conic Projection, one or two standard parallels, spherical earth. See John Snyder, Map Projections used by the USGS, Bulletin 1532, 2nd edition (1983), p 98- See Also:
Projection
,ProjectionImpl
, Serialized Form
-
-
Field Summary
-
Fields inherited from class ucar.unidata.geoloc.ProjectionImpl
atts, defaultMapArea, defaultUnits, EARTH_RADIUS, INDEX_LAT, INDEX_LON, INDEX_X, INDEX_Y, isLatLon, name, PI, PI_OVER_2, PI_OVER_4, TOLERANCE
-
-
Constructor Summary
Constructors Constructor Description AlbersEqualArea()
Constructor with default parametersAlbersEqualArea(double lat0, double lon0, double par1, double par2)
Construct a AlbersEqualArea Projection, two standard parellels.AlbersEqualArea(double lat0, double lon0, double par1, double par2, double falseEasting, double falseNorthing)
Construct a AlbersEqualArea Projection, two standard parellels.AlbersEqualArea(double lat0, double lon0, double par1, double par2, double falseEasting, double falseNorthing, double earth_radius)
Construct a AlbersEqualArea Projection, two standard parellels.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description ProjectionImpl
constructCopy()
copy constructor - avoid clone !!boolean
crossSeam(ProjectionPoint pt1, ProjectionPoint pt2)
This returns true when the line between pt1 and pt2 crosses the seam.boolean
equals(Object o)
Returns true if this represents the same Projection as proj.double
getEarthRadius()
Earth radius in kmdouble
getFalseEasting()
Get the false easting, in km.double
getFalseNorthing()
Get the false northing, in km.double
getOriginLat()
Get the origin latitude in degrees.double
getOriginLon()
Get the origin longitude in degrees.double
getParallelOne()
Get the first standard paralleldouble
getParallelTwo()
Get the second standard parallelString
getProjectionTypeLabel()
Get the label to be used in the gui for this type of projectiondouble
getScale(double lat)
Get the scale at the given lat.int
hashCode()
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.ProjectionPoint
latLonToProj(LatLonPoint latLon, ProjectionPointImpl result)
Convert a LatLonPoint to projection coordinatesString
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.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)
Deprecated.void
setFalseNorthing(double falseNorthing)
Deprecated.void
setOriginLat(double lat)
Deprecated.void
setOriginLon(double lon)
Deprecated.void
setParallelOne(double par)
Deprecated.void
setParallelTwo(double par)
Deprecated.String
toString()
Get a String representation of this projection.-
Methods inherited from class ucar.unidata.geoloc.ProjectionImpl
addParameter, addParameter, addParameter, findProjectionParameter, getClassName, getDefaultMapArea, getDefaultMapAreaLL, getDefaultUnits, getHeader, getName, getProjectionParameters, isLatLon, latLonToProj, latLonToProj, latLonToProj, latLonToProj, latLonToProj, latLonToProj, latLonToProj, latLonToProjBB, projToLatLon, projToLatLon, projToLatLon, projToLatLonBB, projToLatLonBBold, setDefaultMapArea, setName
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface ucar.unidata.geoloc.Projection
latLonToProj, projToLatLon
-
-
-
-
Constructor Detail
-
AlbersEqualArea
public AlbersEqualArea()
Constructor with default parameters
-
AlbersEqualArea
public AlbersEqualArea(double lat0, double lon0, double par1, double par2)
Construct a AlbersEqualArea Projection, two standard parellels. For the one standard parellel case, set them both to the same value.- Parameters:
lat0
- lat origin of the coord. system on the projection planelon0
- lon origin of the coord. system on the projection planepar1
- standard parallel 1par2
- standard parallel 2- Throws:
IllegalArgumentException
- if lat0, par1, par2 = +/-90 deg
-
AlbersEqualArea
public AlbersEqualArea(double lat0, double lon0, double par1, double par2, double falseEasting, double falseNorthing)
Construct a AlbersEqualArea Projection, two standard parellels. For the one standard parellel case, set them both to the same value.- Parameters:
lat0
- lat origin of the coord. system on the projection planelon0
- lon origin of the coord. system on the projection planepar1
- standard parallel 1par2
- standard parallel 2falseEasting
- false easting in kmfalseNorthing
- false easting in km- Throws:
IllegalArgumentException
- if lat0, par1, par2 = +/-90 deg
-
AlbersEqualArea
public AlbersEqualArea(double lat0, double lon0, double par1, double par2, double falseEasting, double falseNorthing, double earth_radius)
Construct a AlbersEqualArea Projection, two standard parellels. For the one standard parellel case, set them both to the same value.- Parameters:
lat0
- lat origin of the coord. system on the projection planelon0
- lon origin of the coord. system on the projection planepar1
- standard parallel 1par2
- standard parallel 2falseEasting
- false easting in kmfalseNorthing
- false easting in kmearth_radius
- radius of the earth in km- Throws:
IllegalArgumentException
- if lat0, par1, par2 = +/-90 deg
-
-
Method Detail
-
constructCopy
public ProjectionImpl constructCopy()
copy constructor - avoid clone !!- Specified by:
constructCopy
in classProjectionImpl
- Returns:
- a copy of this Projection. TODO return Projection in ver6
-
equals
public boolean equals(Object o)
Description copied from class:ProjectionImpl
Returns true if this represents the same Projection as proj.- Specified by:
equals
in interfaceProjection
- Specified by:
equals
in classProjectionImpl
- Parameters:
o
- projection in question- Returns:
- true if this represents the same Projection as proj.
-
getParallelTwo
public double getParallelTwo()
Get the second standard parallel- Returns:
- the second standard parallel
-
getParallelOne
public double getParallelOne()
Get the first standard parallel- Returns:
- the first standard parallel
-
getOriginLon
public double getOriginLon()
Get the origin longitude in degrees.- Returns:
- the origin longitude in degrees.
-
getOriginLat
public double getOriginLat()
Get the origin latitude in degrees.- Returns:
- the origin latitude in degrees.
-
setParallelTwo
@Deprecated public void setParallelTwo(double par)
Deprecated.Set the second standard parallel- Parameters:
par
- the second standard parallel
-
setParallelOne
@Deprecated public void setParallelOne(double par)
Deprecated.Set the first standard parallel- Parameters:
par
- the first standard parallel
-
setOriginLon
@Deprecated public void setOriginLon(double lon)
Deprecated.Set the origin longitude.- Parameters:
lon
- the origin longitude.
-
setOriginLat
@Deprecated public void setOriginLat(double lat)
Deprecated.Set the origin latitude.- Parameters:
lat
- the origin latitude.
-
setFalseEasting
@Deprecated public void setFalseEasting(double falseEasting)
Deprecated.Set the false_easting, in km. natural_x_coordinate + false_easting = x coordinate- Parameters:
falseEasting
- x offset
-
setFalseNorthing
@Deprecated public void setFalseNorthing(double falseNorthing)
Deprecated.Set the false northing, in km. natural_y_coordinate + false_northing = y coordinate- Parameters:
falseNorthing
- y offset
-
getFalseEasting
public double getFalseEasting()
Get the false easting, in km.- Returns:
- the false easting.
-
getFalseNorthing
public double getFalseNorthing()
Get the false northing, in km.- Returns:
- the false northing.
-
getEarthRadius
public double getEarthRadius()
Earth radius in km- Returns:
- Earth radius in km
-
getProjectionTypeLabel
public String getProjectionTypeLabel()
Get the label to be used in the gui for this type of projection- Overrides:
getProjectionTypeLabel
in classProjectionImpl
- Returns:
- Type label
-
paramsToString
public String paramsToString()
Create a String of the parameters.- Specified by:
paramsToString
in interfaceProjection
- Specified by:
paramsToString
in classProjectionImpl
- Returns:
- a String of the parameters
-
toString
public String toString()
Description copied from class:ProjectionImpl
Get a String representation of this projection.- Overrides:
toString
in classProjectionImpl
- Returns:
- the name of the projection. This is what gets displayed when you add the projection object to a UI widget (e.g. label, combobox)
-
getScale
public double getScale(double lat)
Get the scale at the given lat.- Parameters:
lat
- lat to use- Returns:
- scale factor at that latitude
-
crossSeam
public boolean crossSeam(ProjectionPoint pt1, 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 interfaceProjection
- Specified by:
crossSeam
in classProjectionImpl
- Parameters:
pt1
- point 1pt2
- point 2- Returns:
- true when the line between pt1 and pt2 crosses the seam.
-
latLonToProj
public ProjectionPoint latLonToProj(LatLonPoint latLon, ProjectionPointImpl result)
Convert a LatLonPoint to projection coordinates- Specified by:
latLonToProj
in interfaceProjection
- Specified by:
latLonToProj
in classProjectionImpl
- Parameters:
latLon
- convert from these lat, lon coordinatesresult
- 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 interfaceProjection
- Specified by:
projToLatLon
in classProjectionImpl
- Parameters:
world
- convert from these projection coordinatesresult
- 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 classProjectionImpl
- 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 pointto
- resulting array of projection coordinates, where to[0][i], to[1][i] is the (x,y) coordinate of the ith pointlatIndex
- index of latitude in "from"lonIndex
- index of longitude in "from"- Returns:
- the "to" array.
-
projToLatLon
public float[][] projToLatLon(float[][] from, float[][] to)
Convert lat/lon coordinates to projection coordinates.- Overrides:
projToLatLon
in classProjectionImpl
- 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 pointto
- 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 classProjectionImpl
- 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 pointto
- resulting array of projection coordinates, where to[0][i], to[1][i] is the (x,y) coordinate of the ith pointlatIndex
- 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 classProjectionImpl
- 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 pointto
- 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
-
-