VAPoR  0.1
Static Public Member Functions | List of all members
VAPoR::GeoUtil Class Reference

Misc. utilities for operating on geographic coordinates. More...

#include <GeoUtil.h>

Inheritance diagram for VAPoR::GeoUtil:
VetsUtil::MyBase

Static Public Member Functions

static void ShiftLon (const float *srclon, int nx, float *dstlon)
 
static void ShiftLon (const double *srclon, int nx, double *dstlon)
 
static void ShiftLon (const float *srclon, int nx, int ny, float *dstlon)
 
static void ShiftLon (const double *srclon, int nx, int ny, double *dstlon)
 
static void LonExtents (const float *lon, int nx, int ny, float &lonwest, float &loneast)
 
static void LonExtents (const double *lon, int nx, int ny, double &lonwest, double &loneast)
 
static void LonExtents (const float *lon, int nx, float &lonwest, float &loneast)
 
static void LonExtents (const double *lon, int nx, double &lonwest, double &loneast)
 
static void LatExtents (const float *lon, int nx, int ny, float &latsouth, float &latnorth)
 
static void LatExtents (const double *lon, int nx, int ny, double &latsouth, double &latnorth)
 
static void LatExtents (const float *lon, int ny, float &latsouth, float &latnorth)
 
static void LatExtents (const double *lon, int ny, double &latsouth, double &latnorth)
 
static void ExtractBoundary (const float *a, int nx, int ny, float *bdry)
 
static void ExtractBoundary (const double *a, int nx, int ny, double *bdry)
 
- Static Public Member Functions inherited from VetsUtil::MyBase
static void SetErrMsg (const char *format,...)
 Record a formatted error message. More...
 
static void SetErrMsg (int errcode, const char *format,...)
 Record a formatted error message and an error code. More...
 
static const char * GetErrMsg ()
 
static void SetErrCode (int err_code)
 Record an error code. More...
 
static int GetErrCode ()
 Retrieve the current error code. More...
 
static void SetErrMsgCB (ErrMsgCB_T cb)
 
static ErrMsgCB_T GetErrMsgCB ()
 
static void SetErrMsgFilePtr (FILE *fp)
 
static const FILE * SetErrMsgFilePtr ()
 
static void SetDiagMsg (const char *format,...)
 Record a formatted diagnostic message. More...
 
static const char * GetDiagMsg ()
 
static void SetDiagMsgCB (DiagMsgCB_T cb)
 
static DiagMsgCB_T GetDiagMsgCB ()
 
static void SetDiagMsgFilePtr (FILE *fp)
 
static bool EnableErrMsg (bool enable)
 

Additional Inherited Members

- Public Types inherited from VetsUtil::MyBase
typedef void(* ErrMsgCB_T) (const char *msg, int err_code)
 
typedef void(* DiagMsgCB_T) (const char *msg)
 
- Public Member Functions inherited from VetsUtil::MyBase
 MyBase ()
 
const string & getClassName () const
 
- Static Public Attributes inherited from VetsUtil::MyBase
static char * ErrMsg
 
static int ErrCode
 
static int ErrMsgSize
 
static FILE * ErrMsgFilePtr
 
static ErrMsgCB_T ErrMsgCB
 
static char * DiagMsg
 
static int DiagMsgSize
 
static FILE * DiagMsgFilePtr
 
static DiagMsgCB_T DiagMsgCB
 
static bool Enabled
 
- Protected Member Functions inherited from VetsUtil::MyBase
void SetClassName (const string &name)
 

Detailed Description

Misc. utilities for operating on geographic coordinates.

Author
John Clyne

Definition at line 21 of file GeoUtil.h.

Member Function Documentation

static void VAPoR::GeoUtil::ExtractBoundary ( const float *  a,
int  nx,
int  ny,
float *  bdry 
)
static

Extract boundary points from a 2D grid

This method walks a 2D array, a, in counter-clockwise order, visiting each boundary grid point exactly once, copying the value to the array bdry. A total of 2*nx + 2*ny - 4 grid points are copied.

Parameters
[in]aAn 2D array dimensioned nx by ny
[in]nxdimension of fastest moving coordinate
[in]nydimension of slowest moving coordinate
static void VAPoR::GeoUtil::ExtractBoundary ( const double *  a,
int  nx,
int  ny,
double *  bdry 
)
static
static void VAPoR::GeoUtil::LatExtents ( const float *  lon,
int  nx,
int  ny,
float &  latsouth,
float &  latnorth 
)
static

Calculate south-most and nort-most extents for a grid of latitude values

Note
Assumes valid coordinates are in the range -180 to 180
Parameters
[in]lonA structured 2D grid of latitude coordintes in degrees
[in]nxdimension of fastest moving coordinate
[in]nydimension of slowest moving coordinate
[out]latsouthsouth-most latitude coordinate
[out]latnorthnorth-most latitude coordinate
static void VAPoR::GeoUtil::LatExtents ( const double *  lon,
int  nx,
int  ny,
double &  latsouth,
double &  latnorth 
)
static
static void VAPoR::GeoUtil::LatExtents ( const float *  lon,
int  ny,
float &  latsouth,
float &  latnorth 
)
static
static void VAPoR::GeoUtil::LatExtents ( const double *  lon,
int  ny,
double &  latsouth,
double &  latnorth 
)
static
static void VAPoR::GeoUtil::LonExtents ( const float *  lon,
int  nx,
int  ny,
float &  lonwest,
float &  loneast 
)
static

Calculate west-most and east-most extents for a grid of longitudinal values

Note
If the input values wrap (cross 0 if coordinates run from 0 to 360, or cross 180 if coordinates run from -180 to 180) the returned values may be shifted by 360 degrees such that lonwest < loneast
Parameters
[in]lonA structured 2D grid of longitude coordintes in degrees
[in]nxdimension of fastest moving coordinate
[in]nydimension of slowest moving coordinate
[out]lonwestwest-most longitude coordinate
[out]loneasteast-most longitude coordinate
static void VAPoR::GeoUtil::LonExtents ( const double *  lon,
int  nx,
int  ny,
double &  lonwest,
double &  loneast 
)
static
static void VAPoR::GeoUtil::LonExtents ( const float *  lon,
int  nx,
float &  lonwest,
float &  loneast 
)
static

Calculate west-most and east-most extents for a grid of longitudinal values

Note
If the input values wrap (cross 0 if coordinates run from 0 to 360, or cross 180 if coordinates run from -180 to 180) the returned values may be shifted by 360 degrees such that lonwest < loneast
Parameters
[in]lonA 1D grid of longitude coordintes in degrees
[in]nxdimension of grid
[out]lonwestwest-most longitude coordinate
[out]loneasteast-most longitude coordinate
static void VAPoR::GeoUtil::LonExtents ( const double *  lon,
int  nx,
double &  lonwest,
double &  loneast 
)
static
static void VAPoR::GeoUtil::ShiftLon ( const float *  srclon,
int  nx,
float *  dstlon 
)
static
static void VAPoR::GeoUtil::ShiftLon ( const double *  srclon,
int  nx,
double *  dstlon 
)
static
static void VAPoR::GeoUtil::ShiftLon ( const float *  srclon,
int  nx,
int  ny,
float *  dstlon 
)
static
static void VAPoR::GeoUtil::ShiftLon ( const double *  srclon,
int  nx,
int  ny,
double *  dstlon 
)
static

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