Package ucar.unidata.geoloc.projection
Class LambertConformal
- java.lang.Object
-
- ucar.unidata.geoloc.ProjectionImpl
-
- ucar.unidata.geoloc.projection.LambertConformal
-
- All Implemented Interfaces:
Serializable
,Projection
public class LambertConformal extends ProjectionImpl
Lambert Conformal Projection, one or two standard parallels, spherical earth. Projection plane is a cone whose vertex lies on the line of the earth's axis, and intersects the earth at two parellels (par1, par2), or is tangent to the earth at one parellel par1 = par2. The cone is flattened by splitting along the longitude = lon0+180. See John Snyder, Map Projections used by the USGS, Bulletin 1532, 2nd edition (1983), p 104- 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 LambertConformal()
Constructor with default parametersLambertConformal(double lat0, double lon0, double par1, double par2)
Construct a LambertConformal Projection, two standard parellels.LambertConformal(double lat0, double lon0, double par1, double par2, double false_easting, double false_northing)
Construct a LambertConformal Projection, two standard parellels.LambertConformal(double lat0, double lon0, double par1, double par2, double false_easting, double false_northing, double earth_radius)
Construct a LambertConformal 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
getFalseEasting()
Get the false easting, in km.double
getFalseNorthing()
Get the false northing, in km.double
getOriginLat()
Get the origin latitude in degreesdouble
getOriginLon()
Get the origin longitude in degreesdouble
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 coordinates in kmString
paramsToString()
Create a String of the parameters.double[][]
projToLatLon(double[][] from, double[][] to)
Convert projection coordinates to lat/lon coordinate.float[][]
projToLatLon(float[][] from, float[][] to)
Convert projection coordinates to lat/lon coordinate.LatLonPoint
projToLatLon(ProjectionPoint world, LatLonPointImpl result)
Convert projection coordinates to latitude and longitudevoid
setFalseEasting(double falseEasting)
Deprecated.void
setFalseNorthing(double falseNorthing)
Deprecated.void
setOriginLat(double lat0)
Deprecated.void
setOriginLon(double lon0)
Deprecated.void
setParallelOne(double par1)
Deprecated.void
setParallelTwo(double par2)
Deprecated.void
setParellelOne(double par1)
Deprecated.void
setParellelTwo(double par2)
Deprecated.String
toString()
Get a String representation of this projection.String
toWKS()
Create a WKS string-
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
-
LambertConformal
public LambertConformal()
Constructor with default parameters
-
LambertConformal
public LambertConformal(double lat0, double lon0, double par1, double par2)
Construct a LambertConformal 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 > +/-90 or if par1, par2 >= +/-90 deg
-
LambertConformal
public LambertConformal(double lat0, double lon0, double par1, double par2, double false_easting, double false_northing)
Construct a LambertConformal 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 2false_easting
- natural_x_coordinate + false_easting = x coordinate in kmfalse_northing
- natural_y_coordinate + false_northing = y coordinate in km- Throws:
IllegalArgumentException
- if lat0 > +/-90 or if par1, par2 >= +/-90 deg
-
LambertConformal
public LambertConformal(double lat0, double lon0, double par1, double par2, double false_easting, double false_northing, double earth_radius)
Construct a LambertConformal 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 2false_easting
- natural_x_coordinate + false_easting = x coordinate in kmfalse_northing
- natural_y_coordinate + false_northing = y coordinate in kmearth_radius
- radius of the earth in km- Throws:
IllegalArgumentException
- if lat0 > +/-90 or if par1, par2 >= +/-90 deg
-
-
Method Detail
-
constructCopy
public ProjectionImpl constructCopy()
Description copied from class:ProjectionImpl
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.
-
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.
-
setOriginLat
@Deprecated public void setOriginLat(double lat0)
Deprecated.
-
setOriginLon
@Deprecated public void setOriginLon(double lon0)
Deprecated.
-
setParellelOne
@Deprecated public void setParellelOne(double par1)
Deprecated.
-
setParellelTwo
@Deprecated public void setParellelTwo(double par2)
Deprecated.
-
setParallelOne
@Deprecated public void setParallelOne(double par1)
Deprecated.
-
setParallelTwo
@Deprecated public void setParallelTwo(double par2)
Deprecated.
-
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
-
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)
-
toWKS
public String toWKS()
Create a WKS string- Returns:
- WKS string
-
getScale
public double getScale(double lat)
Get the scale at the given lat.- Parameters:
lat
- lat to use- Returns:
- scale factor at this 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 in km- 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 in km
-
projToLatLon
public LatLonPoint projToLatLon(ProjectionPoint world, LatLonPointImpl result)
Convert projection coordinates to latitude and longitude- Specified by:
projToLatLon
in interfaceProjection
- Specified by:
projToLatLon
in classProjectionImpl
- Parameters:
world
- projection coordinates in kmresult
- the object to write to- Returns:
- the resulting latitude and longitude
-
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[latIndex][i], from[lonIndex][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 pointlatIndex
- index of lat coordinate; must be 0 or 1lonIndex
- index of lon coordinate; must be 0 or 1- Returns:
- the "to" array
-
projToLatLon
public float[][] projToLatLon(float[][] from, float[][] to)
Convert projection coordinates to lat/lon coordinate.- Overrides:
projToLatLon
in classProjectionImpl
- Parameters:
from
- array of projection coordinates: from[2][n], where (from[0][i], from[1][i]) is the (x, y) coordinate of the ith pointto
- resulting array of lat/lon coordinates: to[2][n] where (to[0][i], to[1][i]) is the (lat, lon) 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[latIndex][i], from[lonIndex][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 pointlatIndex
- index of lat coordinate; must be 0 or 1lonIndex
- index of lon coordinate; must be 0 or 1- Returns:
- the "to" array
-
projToLatLon
public double[][] projToLatLon(double[][] from, double[][] to)
Convert projection coordinates to lat/lon coordinate.- Overrides:
projToLatLon
in classProjectionImpl
- Parameters:
from
- array of projection coordinates: from[2][n], where (from[0][i], from[1][i]) is the (x, y) coordinate of the ith pointto
- resulting array of lat/lon coordinates: to[2][n] where (to[0][i], to[1][i]) is the (lat, lon) coordinate of the ith point- Returns:
- the "to" array
-
-