Package ucar.unidata.geoloc.projection
Class UtmProjection
- java.lang.Object
-
- ucar.unidata.geoloc.ProjectionImpl
-
- ucar.unidata.geoloc.projection.UtmProjection
-
- All Implemented Interfaces:
Serializable,Projection
public class UtmProjection extends ProjectionImpl
Universal Transverse Mercator. Ellipsoidal earth. Origin of coordinate system is relative to the point where the central meridian and the equator cross. This point has x,y value = (500, 0) km for north hemisphere. and (500, 10,0000) km for south hemisphere. Increasing values always go north and east. The central meridian = (zone * 6 - 183) degrees, where zone in [1,60].- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static StringGRID_MAPPING_NAMEstatic StringUTM_ZONE1static StringUTM_ZONE2-
Fields inherited from class ucar.unidata.geoloc.ProjectionImpl
atts, defaultMapArea, 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 UtmProjection()Constructor with default parametersUtmProjection(double a, double f, int zone, boolean isNorth)Construct a Universal Transverse Mercator Projection.UtmProjection(int zone, boolean isNorth)Constructor with default WGS 84 ellipsoid.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ProjectionImplconstructCopy()copy constructor - avoid clone !!booleancrossSeam(ProjectionPoint pt1, ProjectionPoint pt2)Does the line between these two points cross the projection "seam".booleanequals(Object o)Returns true if this represents the same Projection as proj.doublegetCentralMeridian()StringgetProjectionTypeLabel()Get the label to be used in the gui for this type of projectionintgetZone()Get the zone number = [1,60]inthashCode()booleanisNorth()Get whether in North or South Hemisphere.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 coordinatesStringparamsToString()Get the parameters as a Stringdouble[][]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 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, findProjectionParameter, getClassName, getDefaultMapArea, getDefaultMapAreaLL, getHeader, getName, getProjectionParameters, isLatLon, latLonToProj, latLonToProj, latLonToProj, latLonToProj, latLonToProj, latLonToProj, latLonToProj, latLonToProjBB, projToLatLon, projToLatLon, projToLatLon, projToLatLonBB, projToLatLonBBold, setDefaultMapArea, setName, toString
-
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
-
-
-
-
Field Detail
-
GRID_MAPPING_NAME
public static final String GRID_MAPPING_NAME
- See Also:
- Constant Field Values
-
UTM_ZONE1
public static final String UTM_ZONE1
- See Also:
- Constant Field Values
-
UTM_ZONE2
public static final String UTM_ZONE2
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
UtmProjection
public UtmProjection()
Constructor with default parameters
-
UtmProjection
public UtmProjection(int zone, boolean isNorth)Constructor with default WGS 84 ellipsoid.- Parameters:
zone- the UTM zone number (1-60)isNorth- true if the UTM coordinate is in the northern hemisphere
-
UtmProjection
public UtmProjection(double a, double f, int zone, boolean isNorth)Construct a Universal Transverse Mercator Projection.- Parameters:
a- the semi-major axis (meters) for the ellipsoidf- the inverse flattening for the ellipsoidzone- the UTM zone number (1-60)isNorth- true if the UTM coordinate is in the northern hemisphere
-
-
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
-
getZone
public int getZone()
Get the zone number = [1,60]- Returns:
- zone number
-
isNorth
public boolean isNorth()
Get whether in North or South Hemisphere.- Returns:
- true if north
-
getProjectionTypeLabel
public String getProjectionTypeLabel()
Get the label to be used in the gui for this type of projection- Overrides:
getProjectionTypeLabelin classProjectionImpl- Returns:
- Type label
-
getCentralMeridian
public double getCentralMeridian()
-
paramsToString
public String paramsToString()
Get the parameters as a String- Specified by:
paramsToStringin interfaceProjection- Specified by:
paramsToStringin classProjectionImpl- Returns:
- the parameters as a String
-
crossSeam
public boolean crossSeam(ProjectionPoint pt1, ProjectionPoint pt2)
Does the line between these two points cross the projection "seam".- Specified by:
crossSeamin interfaceProjection- Specified by:
crossSeamin 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: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.
-
latLonToProj
public ProjectionPoint latLonToProj(LatLonPoint latLon, ProjectionPointImpl result)
Convert a LatLonPoint to projection coordinates- 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
-
latLonToProj
public double[][] latLonToProj(double[][] from, double[][] to, int latIndex, int lonIndex)Description copied from class:ProjectionImplConvert 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
-
latLonToProj
public float[][] latLonToProj(float[][] from, float[][] to, int latIndex, int lonIndex)Description copied from class:ProjectionImplConvert 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 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:
projToLatLonin interfaceProjection- Specified by:
projToLatLonin classProjectionImpl- Parameters:
world- convert from these projection coordinatesresult- the object to write to- Returns:
- LatLonPoint convert to these lat/lon coordinates
-
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
-
projToLatLon
public double[][] projToLatLon(double[][] from, double[][] to)Description copied from class:ProjectionImplConvert 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
-
-