OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022

#include <VcstMapDataSet.h>

Inheritance diagram for VcstMapDataSet:
[legend]

Public Member Functions

 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
 
virtual int latLonToGrid (double rlat, double rlon, double *row, double *column)=0
 
virtual int gridToLatLon (double row, double column, double *rlat, double *rlon)=0
 

Protected Member Functions

int checkLat (double &rlat)
 
int checkLon (double &rlon)
 

Protected Attributes

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 encapsulates a Map Data Set (MDS), which consists of an area of interest defined on a map of the earth. An MDS does not contain any particular data plotted on a map-it is simply a defined region. The map on which the MDS is defined may have any projection, although the two most commonly used are a mercator projection (flat-earth) and a polar-stereographic projection (either northern or southern hemisphere).

Definition at line 67 of file VcstMapDataSet.h.

Constructor & Destructor Documentation

◆ VcstMapDataSet()

VcstMapDataSet ( Hemisphere  theHemisphere)

Constructor

Parameters
theHemispherethe hemisphere for the map dataset

◆ ~VcstMapDataSet()

virtual ~VcstMapDataSet ( )
virtual

Virtual Destructor

Member Function Documentation

◆ checkLat()

int checkLat ( double &  rlat)
protected

Checks the given latitude against PI/2. If the magnitude is greater than PI/2, but is within a given epsilon of PI/2, then the lat value is truncated at +-PI/2 (to allow for float- to-double conversion errors). If its value lies outside the epsilon range, then an error is returned.

Parameters
rlatLatitude in radians
Returns
PRO_FAIL if rlat is outside the allowable range or PRO_SUCCESS if the value is within the allowable range.

◆ checkLon()

int checkLon ( double &  rlon)
protected

Checks the given longitude PI. If the magnitude is greater than PI, but is within a given epsilon PI, then the long value is truncated at +-PI (to allow for float-to-double conversion errors). If its values lies outside the epsilon range, then an error is returned.

Parameters
rlonLongitude in radians
Returns
PRO_FAIL if rlon is outside the allowable range or PRO_SUCCESS if the value is within the allowable range.

◆ fillMds()

void fillMds ( mds_type *const  anMds) const

fills anMds with the values from this instance

This method will not change where anMds points, but it will change the values inside the mds_type struct. If anMds == 0, this method is a no-op.

Parameters
anMdsPtr to mds_type (map dataset struct)

◆ getBiggestLatitude()

double getBiggestLatitude ( ) const
inline

Method returns largest latitude value

Definition at line 362 of file VcstMapDataSet.h.

◆ getBiggestLongitude()

double getBiggestLongitude ( ) const
inline

Method returns largest longitude value

Definition at line 376 of file VcstMapDataSet.h.

◆ getGridType()

int getGridType ( ) const
inline

Method returns GridType enum value

Definition at line 405 of file VcstMapDataSet.h.

◆ getHemisphere()

Hemisphere getHemisphere ( ) const
inline

Method returns Hemisphere enum value

Definition at line 398 of file VcstMapDataSet.h.

◆ getLowerRightLatitude()

double getLowerRightLatitude ( ) const
inline

Method returns lower right latitude value

Definition at line 348 of file VcstMapDataSet.h.

◆ getLowerRightLongitude()

double getLowerRightLongitude ( ) const
inline

Method returns lower right longitude value

Definition at line 355 of file VcstMapDataSet.h.

◆ getSmallestLatitude()

double getSmallestLatitude ( ) const
inline

Method returns smallest latitude value

Definition at line 369 of file VcstMapDataSet.h.

◆ getSmallestLongitude()

double getSmallestLongitude ( ) const
inline

Method returns smallest longitude value

Definition at line 387 of file VcstMapDataSet.h.

◆ getUpperLeftLatitude()

double getUpperLeftLatitude ( ) const
inline

Method returns upper left latitude value

Definition at line 334 of file VcstMapDataSet.h.

◆ getUpperLeftLongitude()

double getUpperLeftLongitude ( ) const
inline

Method returns upper left longitude value

Definition at line 341 of file VcstMapDataSet.h.

◆ gridToLatLon()

virtual int gridToLatLon ( double  row,
double  column,
double *  rlat,
double *  rlon 
)
pure virtual

Converts the input grid position to a latitude and longitude.

Parameters
rowGrid row
columnGrid column
rlatLatitude of row/col
rlonLongitude of row/col
Returns
PRO_SUCCESS or PRO_FAIL

Implemented in VcstPolarStereographicDataSet.

◆ latLonToGrid()

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

Converts the input latitude and longitude to a grid position

Parameters
rlatLatitude
rlonLongitude
rowGrid row of latitude/longitude (rlat/rlon)
columnGrid column of latitude/longitude (rlat/rlon)
Returns
PRO_SUCCESS or PRO_FAIL

Implemented in VcstPolarStereographicDataSet.

Member Data Documentation

◆ baseLongitude_

double baseLongitude_
protected

base longitude

Definition at line 219 of file VcstMapDataSet.h.

◆ biggestLatitude_

double biggestLatitude_
protected

largest latitude value

Definition at line 284 of file VcstMapDataSet.h.

◆ biggestLongitude_

double biggestLongitude_[2]
protected

largest longitude value

Definition at line 294 of file VcstMapDataSet.h.

◆ gridIncConstant_

double gridIncConstant_
protected

grid incremental constant

Definition at line 224 of file VcstMapDataSet.h.

◆ gridType_

GridType gridType_
protected

GridType value

Definition at line 189 of file VcstMapDataSet.h.

◆ hemisphere_

Hemisphere hemisphere_
protected

Hemisphere value

Definition at line 194 of file VcstMapDataSet.h.

◆ lowerRightLatitude_

double lowerRightLatitude_
protected

lower right latitude

Definition at line 249 of file VcstMapDataSet.h.

◆ lowerRightLongitude_

double lowerRightLongitude_
protected

lower right longitude

Definition at line 254 of file VcstMapDataSet.h.

◆ lowerRightX_

double lowerRightX_
protected

lower right X coordinate

Definition at line 269 of file VcstMapDataSet.h.

◆ lowerRightY_

double lowerRightY_
protected

lower right Y coordinate

Definition at line 274 of file VcstMapDataSet.h.

◆ maxCol_

double maxCol_
protected

max number of columns

Definition at line 234 of file VcstMapDataSet.h.

◆ maxRow_

double maxRow_
protected

max number of rows

Definition at line 229 of file VcstMapDataSet.h.

◆ mdsNum_

int mdsNum_
protected

Mds number

Definition at line 204 of file VcstMapDataSet.h.

◆ numberOfRanges_

short numberOfRanges_
protected

number of range values

Definition at line 299 of file VcstMapDataSet.h.

◆ smallestLatitude_

double smallestLatitude_
protected

smallest latitude value

Definition at line 279 of file VcstMapDataSet.h.

◆ smallestLongitude_

double smallestLongitude_[2]
protected

smallest longitude value

Definition at line 289 of file VcstMapDataSet.h.

◆ stanLat1_

double stanLat1_
protected

standard latitude1

Definition at line 209 of file VcstMapDataSet.h.

◆ stanLat2_

double stanLat2_
protected

standard latitude2

Definition at line 214 of file VcstMapDataSet.h.

◆ upperLeftLatitude_

double upperLeftLatitude_
protected

upper left latitude

Definition at line 239 of file VcstMapDataSet.h.

◆ upperLeftLongitude_

double upperLeftLongitude_
protected

upper left longitude

Definition at line 244 of file VcstMapDataSet.h.

◆ upperLeftX_

double upperLeftX_
protected

upper left X coordinate

Definition at line 259 of file VcstMapDataSet.h.

◆ upperLeftY_

double upperLeftY_
protected

upper left Y coordinate

Definition at line 264 of file VcstMapDataSet.h.

◆ wedgeRotation_

short wedgeRotation_
protected

wedge rotation

Definition at line 199 of file VcstMapDataSet.h.


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