Package ucar.unidata.geoloc.projection
Class Stereographic
- java.lang.Object
-
- ucar.unidata.geoloc.ProjectionImpl
-
- ucar.unidata.geoloc.projection.Stereographic
-
- All Implemented Interfaces:
Serializable
,Projection
public class Stereographic extends ProjectionImpl
Stereographic projection, spherical earth. Projection plane is a plane tangent to the earth at latt, lont. see John Snyder, Map Projections used by the USGS, Bulletin 1532, 2nd edition (1983), p 153- 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 Stereographic()
Constructor with default parameters = North PolarStereographic(double latt, double lont, double scale)
Construct a Stereographic Projection.Stereographic(double lat_ts_deg, double latt_deg, double lont_deg, boolean north)
Construct a polar Stereographic Projection, from the "natural origin" and the tangent point, calculating the scale factor.Stereographic(double latt, double lont, double scale, double false_easting, double false_northing)
Construct a Stereographic Projection.Stereographic(double latt, double lont, double scale, double false_easting, double false_northing, double radius)
Construct a Stereographic Projection.
-
Method Summary
All Methods Static 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.static Stereographic
factory(double latt, double lont, double latTrue)
Construct a Stereographic Projection using latitude of true scale and calculating scale factor.double
getEarthRadius()
double
getFalseEasting()
Get the false easting, in km.double
getFalseNorthing()
Get the false northing, in km.double
getNaturalOriginLat()
Get the latitude at natural origin in degreesdouble
getScale()
Get the scaledouble
getTangentLat()
Get the tangent latitude in degreesdouble
getTangentLon()
Get the tangent longitude in degreesint
hashCode()
boolean
isNorth()
boolean
isPolar()
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 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 a LatLonPoint Note: a new object is not created on each call for the return value.void
setCentralMeridian(double lont)
Deprecated.void
setFalseEasting(double falseEasting)
Deprecated.void
setFalseNorthing(double falseNorthing)
Deprecated.void
setScale(double scale)
Deprecated.void
setTangentLat(double latt)
Deprecated.void
setTangentLon(double lont)
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, getProjectionTypeLabel, 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
-
Stereographic
public Stereographic()
Constructor with default parameters = North Polar
-
Stereographic
public Stereographic(double latt, double lont, double scale)
Construct a Stereographic Projection.- Parameters:
latt
- tangent point of projection, also origin of projection coord systemlont
- tangent point of projection, also origin of projection coord systemscale
- scale factor at tangent point, "normally 1.0 but may be reduced"
-
Stereographic
public Stereographic(double latt, double lont, double scale, double false_easting, double false_northing)
Construct a Stereographic Projection.- Parameters:
latt
- tangent point of projection, also origin of projection coord systemlont
- tangent point of projection, also origin of projection coord systemscale
- scale factor at tangent point, "normally 1.0 but may be reduced"
-
Stereographic
public Stereographic(double latt, double lont, double scale, double false_easting, double false_northing, double radius)
Construct a Stereographic Projection.- Parameters:
latt
- tangent point of projection, also origin of projection coord systemlont
- tangent point of projection, also origin of projection coord systemscale
- scale factor at tangent point, "normally 1.0 but may be reduced"false_easting
- false easting in units of x coordsfalse_northing
- false northing in units of y coordsradius
- earth radius in km
-
Stereographic
public Stereographic(double lat_ts_deg, double latt_deg, double lont_deg, boolean north)
Construct a polar Stereographic Projection, from the "natural origin" and the tangent point, calculating the scale factor.- Parameters:
lat_ts_deg
- Latitude at natural origin (degrees_north)latt_deg
- tangent point of projection (degrees_north)lont_deg
- tangent point of projection, also origin of projection coord system (degrees_east)north
- true if north pole, false is south pole
-
-
Method Detail
-
factory
public static Stereographic factory(double latt, double lont, double latTrue)
Construct a Stereographic Projection using latitude of true scale and calculating scale factor.Since the scale factor at lat = k = 2*k0/(1+sin(lat)) [Snyder,Working Manual p157] then to make scale = 1 at lat, set k0 = (1+sin(lat))/2
- Parameters:
latt
- tangent point of projection, also origin of projection coord systemlont
- tangent point of projection, also origin of projection coord systemlatTrue
- latitude of true scale in degrees north; latitude where scale factor = 1.0- Returns:
- Stereographic projection
-
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
-
getNaturalOriginLat
public double getNaturalOriginLat()
Get the latitude at natural origin in degrees- Returns:
- latitude at natural origin
-
getTangentLon
public double getTangentLon()
Get the tangent longitude in degrees- Returns:
- the origin longitude in degrees.
-
getTangentLat
public double getTangentLat()
Get the tangent latitude in degrees- Returns:
- the origin latitude in degrees.
-
getEarthRadius
public double getEarthRadius()
-
isNorth
public boolean isNorth()
-
isPolar
public boolean isPolar()
-
setScale
@Deprecated public void setScale(double scale)
Deprecated.
-
setTangentLat
@Deprecated public void setTangentLat(double latt)
Deprecated.
-
setTangentLon
@Deprecated public void setTangentLon(double lont)
Deprecated.
-
setCentralMeridian
@Deprecated public void setCentralMeridian(double lont)
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
-
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.
-
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.
-
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[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
-
-