Class Geostationary
- java.lang.Object
-
- ucar.unidata.geoloc.ProjectionImpl
-
- ucar.unidata.geoloc.projection.sat.Geostationary
-
- All Implemented Interfaces:
Serializable
,Projection
public class Geostationary extends ProjectionImpl
Describe: https://cf-pcmdi.llnl.gov/trac/ticket/72 Accepted for CF-1.7 grid_mapping_name = geostationary Map parameters: latitude_of_projection_origin longitude_of_projection_origin perspective_point_height semi_minor_axis semi_major_axis inverse_flattening sweep_angle_axis fixed_angle_axis Map coordinates: The x (abscissa) and y (ordinate) rectangular coordinates are identified by the standard_name attribute value projection_x_coordinate and projection_y_coordinate respectively. In the case of this projection, the projection coordinates in this projection are directly related to the scanning angle of the satellite instrument, and their units are radians. Notes: The algorithm for computing the mapping may be found at http://www.eumetsat.int/idcplg?IdcService=GET_FILE&dDocName=PDF_CGMS_03&RevisionSelectionMethod=LatestReleased. This document assumes the point of observation is directly over the equator, and that the sweep_angle_axis is y. Notes on using the PROJ.4 software packages for computing the mapping may be found at http://trac.osgeo.org/proj/wiki/proj%3Dgeos and http://remotesensing.org/geotiff/proj_list/geos.html . The "perspective_point_height" is the distance to the surface of the ellipsoid. Adding the earth major axis gives the distance from the centre of the earth. The "sweep_angle_axis" attribute indicates which axis the instrument sweeps. The value = "y" corresponds to the spin-stabilized Meteosat satellites, the value = "x" to the GOES-R satellite. The "fixed_angle_axis" attribute indicates which axis the instrument is fixed. The values are opposite to "sweep_angle_axis". Only one of those two attributes are mandatory. latitude_of_projection_origin will be taken as zero (at the Equator). inverse_flattening may be specified independent of the semi_minor/major axes (GRS80). If left unspecified it will be computed from semi_minor/major_axis values.- Since:
- 12/5/13
- 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 Geostationary()
Geostationary(double subLonDegrees)
Geostationary(double subLonDegrees, boolean isSweepX)
Geostationary(double subLonDegrees, double perspective_point_height, double semi_minor_axis, double semi_major_axis, double inv_flattening, boolean isSweepX)
Geostationary(double subLonDegrees, double perspective_point_height, double semi_minor_axis, double semi_major_axis, double inv_flattening, boolean isSweepX, double geoCoordinateScaleFactor)
Deprecated.Remove in v6.x.Geostationary(double subLonDegrees, String sweepAngleAxis, double geoCoordinateScaleFactor)
Deprecated.Remove in v6.x.
-
Method Summary
All Methods Instance Methods Concrete 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.int
hashCode()
ProjectionPoint
latLonToProj(LatLonPoint latlon, ProjectionPointImpl destPoint)
Returns an x/y grid point in projection coordinate matching a lat/lon point.ProjectionRect
latLonToProjBB(LatLonRect rect)
Create a ProjectionRect from the given LatLonRect.String
paramsToString()
Get a string representation of the projection parametersLatLonPoint
projToLatLon(ProjectionPoint ppt, LatLonPointImpl destPoint)
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, getDefaultUnits, getHeader, getName, getProjectionParameters, getProjectionTypeLabel, isLatLon, latLonToProj, latLonToProj, latLonToProj, latLonToProj, latLonToProj, latLonToProj, latLonToProj, latLonToProj, latLonToProj, projToLatLon, projToLatLon, 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
-
-
-
-
Constructor Detail
-
Geostationary
public Geostationary(double subLonDegrees, double perspective_point_height, double semi_minor_axis, double semi_major_axis, double inv_flattening, boolean isSweepX)
-
Geostationary
@Deprecated public Geostationary(double subLonDegrees, double perspective_point_height, double semi_minor_axis, double semi_major_axis, double inv_flattening, boolean isSweepX, double geoCoordinateScaleFactor)
Deprecated.Remove in v6.x. Use constructor without geoCoordinateScaleFactor as units are handled outside of projection classes
-
Geostationary
public Geostationary()
-
Geostationary
public Geostationary(double subLonDegrees)
-
Geostationary
public Geostationary(double subLonDegrees, boolean isSweepX)
-
Geostationary
@Deprecated public Geostationary(double subLonDegrees, String sweepAngleAxis, double geoCoordinateScaleFactor)
Deprecated.Remove in v6.x. Use constructor without geoCoordinateScaleFactor as units are handled outside of projection classes
-
-
Method Detail
-
constructCopy
public ProjectionImpl constructCopy()
copy constructor - avoid clone !!- Specified by:
constructCopy
in classProjectionImpl
- Returns:
- a copy of this Projection. TODO return Projection in ver6
-
paramsToString
public String paramsToString()
Description copied from class:ProjectionImpl
Get a string representation of the projection parameters- Specified by:
paramsToString
in interfaceProjection
- Specified by:
paramsToString
in classProjectionImpl
- Returns:
- string representation of the projection parameters
-
latLonToProj
public ProjectionPoint latLonToProj(LatLonPoint latlon, ProjectionPointImpl destPoint)
Returns an x/y grid point in projection coordinate matching a lat/lon point. The units of the returned result will be in radians unless theGeostationary
object was created using one of the constructors that takes ageoCoordinateScaleFactor
parameter. If that parameter is provided, then the units of x and y are in radians divided by the scaling factor.- Specified by:
latLonToProj
in interfaceProjection
- Specified by:
latLonToProj
in classProjectionImpl
- Parameters:
latlon
- convert from these lat, lon coordinatesdestPoint
- the object to write to- Returns:
- destPoint
-
projToLatLon
public LatLonPoint projToLatLon(ProjectionPoint ppt, LatLonPointImpl destPoint)
Description copied from class:ProjectionImpl
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:
ppt
- convert from these projection coordinatesdestPoint
- the object to write to- Returns:
- LatLonPoint convert to these lat/lon coordinates
-
crossSeam
public boolean crossSeam(ProjectionPoint pt1, ProjectionPoint pt2)
Description copied from class:ProjectionImpl
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.
-
latLonToProjBB
public ProjectionRect latLonToProjBB(LatLonRect rect)
Create a ProjectionRect from the given LatLonRect. Handles lat/lon points that do not intersect the projection panel. LOOK NEEDS OVERRIDDING- Specified by:
latLonToProjBB
in interfaceProjection
- Overrides:
latLonToProjBB
in classProjectionImpl
- Parameters:
rect
- the LatLonRect- Returns:
- ProjectionRect, or null if no part of the LatLonRect intersects the projection plane
-
-