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 ProjectionImplconstructCopy()copy constructor - avoid clone !!booleancrossSeam(ProjectionPoint pt1, ProjectionPoint pt2)This returns true when the line between pt1 and pt2 crosses the seam.booleanequals(Object o)Returns true if this represents the same Projection as proj.doublegetFalseEasting()Get the false easting, in km.doublegetFalseNorthing()Get the false northing, in km.doublegetOriginLat()Get the origin latitude in degreesdoublegetOriginLon()Get the origin longitude in degreesdoublegetParallelOne()Get the first standard paralleldoublegetParallelTwo()Get the second standard parallelStringgetProjectionTypeLabel()Get the label to be used in the gui for this type of projectiondoublegetScale(double lat)Get the scale at the given lat.inthashCode()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.ProjectionPointlatLonToProj(LatLonPoint latLon, ProjectionPointImpl result)Convert a LatLonPoint to projection coordinates in kmStringparamsToString()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.LatLonPointprojToLatLon(ProjectionPoint world, LatLonPointImpl result)Convert projection coordinates to latitude and longitudevoidsetFalseEasting(double falseEasting)Deprecated.voidsetFalseNorthing(double falseNorthing)Deprecated.voidsetOriginLat(double lat0)Deprecated.voidsetOriginLon(double lon0)Deprecated.voidsetParallelOne(double par1)Deprecated.voidsetParallelTwo(double par2)Deprecated.voidsetParellelOne(double par1)Deprecated.voidsetParellelTwo(double par2)Deprecated.StringtoString()Get a String representation of this projection.StringtoWKS()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:ProjectionImplcopy constructor - avoid clone !!- Specified by:
constructCopyin classProjectionImpl- Returns:
- a copy of this Projection. TODO return Projection in ver6
-
equals
public boolean equals(Object o)
Description copied from class:ProjectionImplReturns true if this represents the same Projection as proj.- Specified by:
equalsin interfaceProjection- Specified by:
equalsin 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:
getProjectionTypeLabelin classProjectionImpl- Returns:
- Type label
-
paramsToString
public String paramsToString()
Create a String of the parameters.- Specified by:
paramsToStringin interfaceProjection- Specified by:
paramsToStringin classProjectionImpl- Returns:
- a String of the parameters
-
toString
public String toString()
Description copied from class:ProjectionImplGet a String representation of this projection.- Overrides:
toStringin 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:
crossSeamin interfaceProjection- Specified by:
crossSeamin 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:
latLonToProjin interfaceProjection- Specified by:
latLonToProjin 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:
projToLatLonin interfaceProjection- Specified by:
projToLatLonin 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:
latLonToProjin 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:
projToLatLonin 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:
latLonToProjin 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:
projToLatLonin 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
-
-