Package ucar.unidata.geoloc.projection
Class TransverseMercator
- java.lang.Object
-
- ucar.unidata.geoloc.ProjectionImpl
-
- ucar.unidata.geoloc.projection.TransverseMercator
-
- All Implemented Interfaces:
Serializable
,Projection
public class TransverseMercator extends ProjectionImpl
Transverse 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 53- See Also:
- 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 TransverseMercator()
Constructor with default parameteresTransverseMercator(double lat0, double tangentLon, double scale)
Construct a TransverseMercator Projection.TransverseMercator(double lat0, double tangentLon, double scale, double east, double north)
Construct a TransverseMercator Projection.TransverseMercator(double lat0, double tangentLon, double scale, double east, double north, double radius)
Construct a TransverseMercator Projection.
-
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)
Does the line between these two points cross the projection "seam".boolean
equals(Object o)
Returns true if this represents the same Projection as proj.double
getEarthRadius()
double
getFalseEasting()
Get the false easting, in units of km.double
getFalseNorthing()
Get the false northing, in units of kmdouble
getOriginLat()
Get the origin latitude in degreesString
getProjectionTypeLabel()
Get the label to be used in the gui for this type of projectiondouble
getScale()
Get the scaledouble
getTangentLon()
Get the tangent longitude in degreesint
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()
Get the parameters as a Stringdouble[][]
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
setScale(double scale)
Deprecated.void
setTangentLon(double lon)
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
-
TransverseMercator
public TransverseMercator()
Constructor with default parameteres
-
TransverseMercator
public TransverseMercator(double lat0, double tangentLon, double scale)
Construct a TransverseMercator Projection.- Parameters:
lat0
- origin of projection coord system is at (lat0, tangentLon)tangentLon
- longitude that the cylinder is tangent at ("central meridian")scale
- scale factor along the central meridian
-
TransverseMercator
public TransverseMercator(double lat0, double tangentLon, double scale, double east, double north)
Construct a TransverseMercator Projection.- Parameters:
lat0
- origin of projection coord system is at (lat0, tangentLon)tangentLon
- longitude that the cylinder is tangent at ("central meridian")scale
- scale factor along the central meridianeast
- false easting in kmnorth
- false northing in km
-
TransverseMercator
public TransverseMercator(double lat0, double tangentLon, double scale, double east, double north, double radius)
Construct a TransverseMercator Projection.- Parameters:
lat0
- origin of projection coord system is at (lat0, tangentLon)tangentLon
- longitude that the cylinder is tangent at ("central meridian")scale
- scale factor along the central meridianeast
- false easting in units of kmnorth
- false northing in units of kmradius
- earth radius in km
-
-
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
-
getScale
public double getScale()
Get the scale- Returns:
- the scale
-
getTangentLon
public double getTangentLon()
Get the tangent 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 units of km.- Returns:
- the false easting.
-
getFalseNorthing
public double getFalseNorthing()
Get the false northing, in units of km- Returns:
- the false northing.
-
getEarthRadius
public double getEarthRadius()
-
setScale
@Deprecated public void setScale(double scale)
Deprecated.Set the scale- Parameters:
scale
- the scale
-
setOriginLat
@Deprecated public void setOriginLat(double lat)
Deprecated.Set the origin latitude- Parameters:
lat
- the origin latitude
-
setTangentLon
@Deprecated public void setTangentLon(double lon)
Deprecated.Set the tangent longitude- Parameters:
lon
- the tangent longitude
-
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()
Get the parameters as a String- Specified by:
paramsToString
in interfaceProjection
- Specified by:
paramsToString
in classProjectionImpl
- Returns:
- the parameters as a String
-
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)
-
crossSeam
public boolean crossSeam(ProjectionPoint pt1, ProjectionPoint pt2)
Does the line between these two points cross the projection "seam".- Specified by:
crossSeam
in interfaceProjection
- Specified by:
crossSeam
in classProjectionImpl
- Parameters:
pt1
- the line goes between these two pointspt2
- the line goes between these two points- Returns:
- false if there is no seam
-
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.
-
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
-
-