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, 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 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.static Stereographicfactory(double latt, double lont, double latTrue)Construct a Stereographic Projection using latitude of true scale and calculating scale factor.doublegetEarthRadius()doublegetFalseEasting()Get the false easting, in km.doublegetFalseNorthing()Get the false northing, in km.doublegetNaturalOriginLat()Get the latitude at natural origin in degreesdoublegetScale()Get the scaledoublegetTangentLat()Get the tangent latitude in degreesdoublegetTangentLon()Get the tangent longitude in degreesinthashCode()booleanisNorth()booleanisPolar()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.voidsetCentralMeridian(double lont)Deprecated.voidsetFalseEasting(double falseEasting)Deprecated.voidsetFalseNorthing(double falseNorthing)Deprecated.voidsetScale(double scale)Deprecated.voidsetTangentLat(double latt)Deprecated.voidsetTangentLon(double lont)Deprecated.StringtoString()Get a String representation of this projection.-
Methods inherited from class ucar.unidata.geoloc.ProjectionImpl
addParameter, addParameter, addParameter, findProjectionParameter, getClassName, getDefaultMapArea, getDefaultMapAreaLL, 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:ProjectionImplcopy constructor - avoid clone !!- Specified by:
constructCopyin 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:
paramsToStringin interfaceProjection- Specified by:
paramsToStringin classProjectionImpl- Returns:
- the parameters as a String
-
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)
-
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.
-
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:
latLonToProjin interfaceProjection- Specified by:
latLonToProjin 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:
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
-
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
-
-