OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
VcstPolarStereographicDataSet

#include <VcstPolarStereographicDataSet.h>

Inheritance diagram for VcstPolarStereographicDataSet:
[legend]
Collaboration diagram for VcstPolarStereographicDataSet:
[legend]

Public Member Functions

 VcstPolarStereographicDataSet (Hemisphere theHemisphere, double upperLeftLatitude, double upperLeftLongitude, double lowerRightLatitude, double lowerRightLongitude, int heightInPixels, int widthInPixels)
 
int gridToLatLon (double row, double col, double *rlat, double *rlon)
 
int latLonToGrid (double rlat, double rlon, double *row, double *column)
 
- Public Member Functions inherited from VcstMapDataSet
 VcstMapDataSet (Hemisphere theHemisphere)
 
virtual ~VcstMapDataSet ()
 
void fillMds (mds_type *const anMds) const
 
double getUpperLeftLatitude () const
 
double getUpperLeftLongitude () const
 
double getLowerRightLatitude () const
 
double getLowerRightLongitude () const
 
double getBiggestLatitude () const
 
double getBiggestLongitude () const
 
double getSmallestLatitude () const
 
double getSmallestLongitude () const
 
Hemisphere getHemisphere () const
 
int getGridType () const
 

Additional Inherited Members

- Protected Member Functions inherited from VcstMapDataSet
int checkLat (double &rlat)
 
int checkLon (double &rlon)
 
- Protected Attributes inherited from VcstMapDataSet
GridType gridType_
 
Hemisphere hemisphere_
 
short wedgeRotation_
 
int mdsNum_
 
double stanLat1_
 
double stanLat2_
 
double baseLongitude_
 
double gridIncConstant_
 
double maxRow_
 
double maxCol_
 
double upperLeftLatitude_
 
double upperLeftLongitude_
 
double lowerRightLatitude_
 
double lowerRightLongitude_
 
double upperLeftX_
 
double upperLeftY_
 
double lowerRightX_
 
double lowerRightY_
 
double smallestLatitude_
 
double biggestLatitude_
 
double smallestLongitude_ [2]
 
double biggestLongitude_ [2]
 
short numberOfRanges_
 

Detailed Description

This class extends the MapDataSet base type for a polar- stereographic projection. It encapsulates a rectangular area of interest that can be located anywhere on the X-Y plane of the map. The implementation is based on two coordinante systems. The first is a standard Cartesian coordinate plane. The origin of the X,Y axes represents the north or south pole (depending on the hemisphere used), with the X-axis along the base longitude of the MDS (positive to the right) and the Y-axis completing a right-handed coordinate system (positive upward). Any latitude line forms a circle around the pole (origin), with the equator being the outmost such circle. Any longitude line is a straight line from the pole to a point on the equatorial circle.
Eastward motion is counterclockwise (for the northern hemisphere) or clockwise (for the southern hemisphere) along any cirlce of latitude. The second system consists of the row-column coordinate plane of the MDS rectangle. The center of the upper- left pixel is at the origin (row 0, column 0) for the convenience of other software already in use. WIth row #'s increasing downward and cloumn #'s increasing to the right, this is actually another right-handed Cartesian coordinate system in the map plane. The common relationship between the two coordinate systems is that the X-axis is parallel to the top of the MDS rectangle. Also note that it does not matter whether the long
side of the rectangle is considered left-right or top-down.

Definition at line 44 of file VcstPolarStereographicDataSet.h.

Constructor & Destructor Documentation

◆ VcstPolarStereographicDataSet()

VcstPolarStereographicDataSet ( Hemisphere  theHemisphere,
double  upperLeftLatitude,
double  upperLeftLongitude,
double  lowerRightLatitude,
double  lowerRightLongitude,
int  heightInPixels,
int  widthInPixels 
)

Constructor - This constructs a polar stereographic MDS given the hemisphere for which to construct it, the latitude values of the corners in radians, and the number of pixels in the up-down and left-right directions.

Parameters
theHemispherethe hemisphere of the dataset
upperLeftLatitudethe upper left latitude value
upperLeftLongitudethe upper left longitude value
lowerRightLatitudethe lower right latitude value
lowerRightLongitudethe lower right longitude value
heightInPixelsthe pixal height of the area
widthInPixelsthe pixal width of the area

Member Function Documentation

◆ gridToLatLon()

int gridToLatLon ( double  row,
double  col,
double *  rlat,
double *  rlon 
)
virtual

Converts the input grid position to a latitude and longitude

Parameters
rowGrid row
colGrid column
rlatLatitude of row/col
rlonLongitude of row/col
Return values
PRO_SUCCESSor PRO_FAIL

Implements VcstMapDataSet.

◆ latLonToGrid()

int latLonToGrid ( double  rlat,
double  rlon,
double *  row,
double *  column 
)
virtual

Converts the input latitude and longitude to a grid position

Parameters
rlatLatitude
rlonLongitude
rowGrid row of latitude/longitude (rlat/rlon)
colGrid column of latitude/longitude (rlat/rlon)
Return values
PRO_SUCCESSor PRO_FAIL

Implements VcstMapDataSet.


The documentation for this class was generated from the following file: