Inheritance diagram for code::LatLonHeightGrid:
The first dimension is height; the second is latitude; and the third is longitude. Height increases with the first dimension, along which the grid spacing may be either uniform or nonuniform. Latitude decreases with the second dimension, and longitude increases with the third. There is uniform grid spacing along the angular dimensions. The origin of the grid is the extreme northwest bottom corner grid point.
A float value may be accessed by a height-lat-lon offset triplet. fooGrid[2][3][0] refers to the third height, fourth latitude, and first longitude.
Time is a constant.
A LatLonHeightGrid inherits from Data3D for its internal structure, and from a Volume for generic access The LatLonHeightGrid is created from a set of LatLonGrid objects, sorted by height.
Public Types | |
typedef T2 | Dim1Type |
typedef T3 | Dim2Type |
typedef T4 | Dim3Type |
typedef X | ValueType |
typedef std::map< std::string, SmartPtr< DataColumn > > | AttrMap |
key-value pairs that describe the data. | |
RadialSet | |
LatLonGrid | |
LatLonHeightGrid | |
CartesianGrid2D | |
Grid2D | |
DataTable | |
WindField | |
WindFieldLLGVolume | |
ElevationVolume | |
ContourData | |
Other | |
enum | Type { RadialSet, LatLonGrid, LatLonHeightGrid, CartesianGrid2D, Grid2D, DataTable, WindField, WindFieldLLGVolume, ElevationVolume, ContourData, Other } |
Public Member Functions | |
LatLonHeightGrid (const SpaceTimeRef &, const LatLonHeightGrid::Coord &, const LatLonHeightGrid::DimType &) | |
Build a LatLonHeightGrid that has uniform spacing along the height dimension. | |
LatLonHeightGrid () | |
Use addLatLonGrid() to add slices later. | |
LatLonHeightGrid (const Time &, const Angle &, const Angle &, size_t, size_t, const Angle &, const Angle &, const std::vector< Length > &) | |
Build a LatLonHeightGrid that has nonuniform spacing along the height dimension. | |
LatLonHeightGrid (const Time &, const Angle &, const Angle &, size_t, size_t, const Angle &, const Angle &, const Length &, const std::vector< Length > &) | |
Build a LatLonHeightGrid that has nonuniform spacing along the height dimension. | |
virtual | ~LatLonHeightGrid () |
Clean up after descendants. | |
void | addLatLonGrid (const code::LatLonGrid &) |
Add a LatLonGrid to a non-uniformly vertically spaced LatLonHeightGrid. | |
code::LatLonGrid | getLatLonGrid (size_t i) const |
Get the LatLonGrid at the ith index (shallow copy). | |
virtual void | invoke (Algorithm &alg) |
Use this to invoke any algorithm. | |
const Location & | getOrigin () const |
Return the Location of the extreme north-west-bottom grid point. | |
virtual short | getType () const |
Get enum type of this class. | |
const Time & | getTime () const |
Return time corresponding to this grid. | |
int | getTotalNumOfLevels () const |
Return total number of levels of this grid. | |
const DimType & | getGridSpacing () const |
Return the spacing of grid points. | |
const std::vector< Length > & | getHeightSpacing () const |
Return the spacing along the height dimension. | |
Length | getHeight (size_t i) const |
get the height of the ith level (i=0,1,2. | |
const std::map< Length, size_t > & | getHeightIndexMap () const |
Return the height spacing index map. | |
const Coord & | size () const |
Return the number of grid points along each direction. | |
virtual SpaceTimeRef | reference (size_t i, size_t j, size_t k) const |
Obtain the reference corresponding to the grid point offset (i,j,k). | |
virtual LatLonHeightGrid::DimType | coord_value (size_t i, size_t j, size_t k) const |
Return the parametric displacement of grid point offset (i,j,k) from the origin (0,0,0). | |
virtual double | getRawValue (const Location &, bool=false) const |
Gets raw value from data set. | |
virtual bool | constructVolume (std::vector< code::SmartPtr< code::DataType > > &dataslices) |
Construct volume object from a datatype set. | |
float | getNearestValue (const Location &) const |
Return the value corresponding to the grid point nearest a particular Location. | |
void | setHeightScale (float) |
Set factor by which heights are multiplied. | |
float | getHeightScale () const |
Return factor by which heights are multiplied. | |
virtual double | rawFunction (const code::Location &loc) const |
Get closest raw value this given location. | |
virtual double | interpolatedValue (const code::Location &loc) const |
Return the value corresponding to a linearly weighted average of the six grid points nearest in lat-lon-hgt space. | |
Data3D | clone () const |
Creates a completely separate copy of the data. | |
const Data2D< T3, T4, X > & | operator[] (size_t i) const |
Data2D< T3, T4, X > & | operator[] (size_t i) |
X & | cell_ref (size_t i, size_t j, size_t k) |
Deprecated alternative to data3d[i][j][k]. | |
const X & | cell_ref (size_t i, size_t j, size_t k) const |
Deprecated alternative to data3d[i][j][k]. | |
void | set_val (size_t i, size_t j, size_t k, const X &value) |
Deprecated alternative to data3d[i][j][k]. | |
void | get_1d_bounds (size_t i, size_t j, const X *setme_begin, const X *setme_end) const |
void | replace_1d (size_t i, size_t j, const X *begin, const X *end) |
Overwrite a 1d of elements. | |
void | replace_1d (size_t i, size_t j, const std::vector< X > &v) |
Overwrite a 1d of elements. | |
void | replace (const X &old_value, const X &new_value) |
Replace any instance of old_value with new_value. | |
void | fill (const X &val) |
void | fill (const X &val, size_t i_begin, size_t i_end, size_t j_begin, size_t j_end, size_t k_begin, size_t k_end) |
Set the values in the table. | |
X | get_val (size_t i, size_t j, size_t k) const |
Return a copy of the specified element. | |
const std::vector< Data2D< T3, T4, X > > & | data () const |
Returns the internal vector of Data2D. | |
std::vector< Data2D< T3, T4, X > > & | data () |
Returns the internal vector of Data2D. | |
Datum< X > | data (size_t i, size_t j, size_t k) const |
Obtain the datum corresponding to the ith element. | |
size_t | size_d () const |
Returns the number of 2Ds in this Data3D. | |
size_t | size_d (size_t i) const |
Returns the number of 1Ds in the 2D in [i]. | |
size_t | size_d (size_t i, size_t j) const |
Returns the number of elements in the 1D in [i][j]. | |
virtual SpaceTimeRef | getSpaceTimeRef () const |
Returns the reference of the first element. | |
std::string | getTypeClassName () const |
returns a string such as RadialSet, LatLonGrid, etc. | |
void | copyDataType (const DataType &dt) |
A convenience function provided for subclasses that implement clone() -- will copy into this data type all the attributes in the type dt. | |
const std::string & | getTypeName () const |
Return the TypeName of this DataType. | |
void | setTypeName (const std::string &) |
Set the TypeName of this DataType. | |
SmartPtr< DataCell > | getAttributeValue (const std::string &key) const |
Return a single value associated with an attribute key corresponding to the function's argument. | |
bool | getAttributeValue (const std::string &key, std::string &setme) const |
Assign `setme' with the attribute corresponding to `key'. | |
bool | getAttributeValue (const std::string &key, double &setme) const |
Assign `setme' with the attribute corresponding to `key'. | |
void | setAttributeValue (const std::string &key, const std::string &value, const std::string &unit="dimensionless") |
Set a single-valued attribute that describes this DataType. | |
void | setAttributeValue (const std::string &key, double value, const std::string &unit="dimensionless", const std::string &format="%g") |
Set a single-valued attribute that describes this DataType. | |
void | setAttribute (const std::string &key, SmartPtr< DataColumn > value) |
Set a multiple-valued attribute that describes this DataType. | |
SmartPtr< DataColumn > | getAttribute (const std::string &key) const |
Get the attribute value for a particular key. | |
const AttrMap & | getAttributes () const |
Get the entire map of attributes available for this data type. | |
virtual TimeInterval | getExpiryInterval () const |
Return 15 minutes as the length of time for which this DataType is valid. | |
bool | hasQuality () const |
const DataType & | getQuality () const |
void | setQuality (SmartPtr< DataType > dt) |
void | clearAttributes () |
virtual double | rawFunction (const code::LocationCPoint &loc) const |
Get closest raw value this given location. | |
virtual double | interpolatedValue (const code::LocationCPoint &loc) const |
Get interpolated value for given location. | |
virtual double | testValue (const code::Location &loc) const |
Get volume test value for given location. | |
virtual double | testValue (const code::LocationCPoint &loc) const |
Get volume test value for given location. | |
Public Attributes | |
InitSmartPtr< std::vector< Data2D< T3, T4, X > > > | vals |
The array of 2D types that is held. | |
Static Public Attributes | |
static const std::string | IsTableData |
static const std::string | Unit |
static const std::string | ColorMap |
static const std::string | ExpiryInterval |
Protected Member Functions | |
virtual void | deep_copy (const DataType &source) |
typedef std::map< std::string, SmartPtr<DataColumn> > code::DataType::AttrMap [inherited] |
key-value pairs that describe the data.
typedef T2 code::Data3D< T2, T3, T4, X >::Dim1Type [inherited] |
typedef T3 code::Data3D< T2, T3, T4, X >::Dim2Type [inherited] |
typedef T4 code::Data3D< T2, T3, T4, X >::Dim3Type [inherited] |
typedef X code::Data3D< T2, T3, T4, X >::ValueType [inherited] |
enum code::DataType::Type [inherited] |
code::LatLonHeightGrid::LatLonHeightGrid | ( | const SpaceTimeRef & | , | |
const LatLonHeightGrid::Coord & | , | |||
const LatLonHeightGrid::DimType & | ||||
) |
Build a LatLonHeightGrid that has uniform spacing along the height dimension.
code::LatLonHeightGrid::LatLonHeightGrid | ( | ) |
Use addLatLonGrid() to add slices later.
code::LatLonHeightGrid::LatLonHeightGrid | ( | const Time & | , | |
const Angle & | , | |||
const Angle & | , | |||
size_t | , | |||
size_t | , | |||
const Angle & | , | |||
const Angle & | , | |||
const std::vector< Length > & | ||||
) |
Build a LatLonHeightGrid that has nonuniform spacing along the height dimension.
const_Time& | Time corresponding to this grid as a whole. | |
const_Angle& | Latitude of extreme north-west-bottom grid point. | |
const_Angle& | Longitude of extreme north-west-bottom grid point. | |
size_t | Number of latitudes in grid. | |
size_t | Number of longitudes in grid. | |
const_Angle& | Grid spacing along latitude dimension. | |
const_Angle& | Grid spacing along longitude dimension. | |
const_vector<Length>& | Grid spacing along height dimension. |
code::LatLonHeightGrid::LatLonHeightGrid | ( | const Time & | , | |
const Angle & | , | |||
const Angle & | , | |||
size_t | , | |||
size_t | , | |||
const Angle & | , | |||
const Angle & | , | |||
const Length & | , | |||
const std::vector< Length > & | ||||
) |
Build a LatLonHeightGrid that has nonuniform spacing along the height dimension.
const_Time& | Time corresponding to this grid as a whole. | |
const_Angle& | Latitude of extreme north-west-bottom grid point. | |
const_Angle& | Longitude of extreme north-west-bottom grid point. | |
size_t | Number of latitudes in grid. | |
size_t | Number of longitudes in grid. | |
const_Angle& | Grid spacing along latitude dimension. | |
const_Angle& | Grid spacing along longitude dimension. | |
const_Length& | Height of the origin. | |
const_vector<Length>& | Grid spacing along height dimension. |
virtual code::LatLonHeightGrid::~LatLonHeightGrid | ( | ) | [virtual] |
Clean up after descendants.
void code::LatLonHeightGrid::addLatLonGrid | ( | const code::LatLonGrid & | ) |
Add a LatLonGrid to a non-uniformly vertically spaced LatLonHeightGrid.
const X& code::Data3D< T2, T3, T4, X >::cell_ref | ( | size_t | i, | |
size_t | j, | |||
size_t | k | |||
) | const [inline, inherited] |
Deprecated alternative to data3d[i][j][k].
X& code::Data3D< T2, T3, T4, X >::cell_ref | ( | size_t | i, | |
size_t | j, | |||
size_t | k | |||
) | [inline, inherited] |
Deprecated alternative to data3d[i][j][k].
void code::DataType::clearAttributes | ( | ) | [inline, inherited] |
Data3D code::Data3D< T2, T3, T4, X >::clone | ( | ) | const [inline, inherited] |
Creates a completely separate copy of the data.
virtual bool code::LatLonHeightGrid::constructVolume | ( | std::vector< code::SmartPtr< code::DataType > > & | dataslices | ) | [virtual] |
Construct volume object from a datatype set.
A volume is a a group of data type
Reimplemented from code::Volume.
Reimplemented in code::WindFieldLLGVolume.
virtual LatLonHeightGrid::DimType code::LatLonHeightGrid::coord_value | ( | size_t | i, | |
size_t | j, | |||
size_t | k | |||
) | const [virtual] |
Return the parametric displacement of grid point offset (i,j,k) from the origin (0,0,0).
Implementation of virtual function in Data3D.
Reimplemented from code::Data3D< T2, T3, T4, X >.
void code::DataType::copyDataType | ( | const DataType & | dt | ) | [inherited] |
A convenience function provided for subclasses that implement clone() -- will copy into this data type all the attributes in the type dt.
Attributes with the same name will be over-written, other attributes will remain unchanged.
Datum<X> code::Data3D< T2, T3, T4, X >::data | ( | size_t | i, | |
size_t | j, | |||
size_t | k | |||
) | const [inline, inherited] |
Obtain the datum corresponding to the ith element.
std::vector< Data2D<T3,T4,X> >& code::Data3D< T2, T3, T4, X >::data | ( | ) | [inline, inherited] |
Returns the internal vector of Data2D.
Avoid using this if possible.
const std::vector< Data2D<T3,T4,X> >& code::Data3D< T2, T3, T4, X >::data | ( | ) | const [inline, inherited] |
Returns the internal vector of Data2D.
Avoid using this if possible.
virtual void code::DataType::deep_copy | ( | const DataType & | source | ) | [inline, protected, virtual, inherited] |
void code::Data3D< T2, T3, T4, X >::fill | ( | const X & | val, | |
size_t | i_begin, | |||
size_t | i_end, | |||
size_t | j_begin, | |||
size_t | j_end, | |||
size_t | k_begin, | |||
size_t | k_end | |||
) | [inline, inherited] |
Set the values in the table.
void code::Data3D< T2, T3, T4, X >::fill | ( | const X & | val | ) | [inline, inherited] |
void code::Data3D< T2, T3, T4, X >::get_1d_bounds | ( | size_t | i, | |
size_t | j, | |||
const X * | setme_begin, | |||
const X * | setme_end | |||
) | const [inline, inherited] |
X code::Data3D< T2, T3, T4, X >::get_val | ( | size_t | i, | |
size_t | j, | |||
size_t | k | |||
) | const [inline, inherited] |
Return a copy of the specified element.
SmartPtr< DataColumn > code::DataType::getAttribute | ( | const std::string & | key | ) | const [inherited] |
Get the attribute value for a particular key.
key | attribute key |
getAttributes() if you don't know the attribute key.
const AttrMap& code::DataType::getAttributes | ( | ) | const [inline, inherited] |
Get the entire map of attributes available for this data type.
getAttributeValue for a convenient get.
bool code::DataType::getAttributeValue | ( | const std::string & | key, | |
double & | setme | |||
) | const [inherited] |
Assign `setme' with the attribute corresponding to `key'.
bool code::DataType::getAttributeValue | ( | const std::string & | key, | |
std::string & | setme | |||
) | const [inherited] |
Assign `setme' with the attribute corresponding to `key'.
SmartPtr< DataCell > code::DataType::getAttributeValue | ( | const std::string & | key | ) | const [inherited] |
Return a single value associated with an attribute key corresponding to the function's argument.
If no such attribute key exists, then return the NULL SmartPtr. In case multiple values are associated with the key, only the first item is returned.
virtual TimeInterval code::DataType::getExpiryInterval | ( | ) | const [virtual, inherited] |
const DimType& code::LatLonHeightGrid::getGridSpacing | ( | ) | const |
Return the spacing of grid points.
If the height spacing is nonuniform, then the first component of the return value will be zero.
Length code::LatLonHeightGrid::getHeight | ( | size_t | i | ) | const |
get the height of the ith level (i=0,1,2.
..) results are undefined if the ith level doesnt exist.
const std::map< Length, size_t >& code::LatLonHeightGrid::getHeightIndexMap | ( | ) | const |
Return the height spacing index map.
float code::LatLonHeightGrid::getHeightScale | ( | ) | const [inline] |
Return factor by which heights are multiplied.
const std::vector< Length >& code::LatLonHeightGrid::getHeightSpacing | ( | ) | const |
Return the spacing along the height dimension.
If the height spacing is uniform, then the return value will be an empty vector.
code::LatLonGrid code::LatLonHeightGrid::getLatLonGrid | ( | size_t | i | ) | const |
Get the LatLonGrid at the ith index (shallow copy).
float code::LatLonHeightGrid::getNearestValue | ( | const Location & | ) | const |
Return the value corresponding to the grid point nearest a particular Location.
const Location& code::LatLonHeightGrid::getOrigin | ( | ) | const |
Return the Location of the extreme north-west-bottom grid point.
const DataType& code::DataType::getQuality | ( | ) | const [inline, inherited] |
virtual double code::LatLonHeightGrid::getRawValue | ( | const Location & | , | |
bool | = false | |||
) | const [virtual] |
Gets raw value from data set.
Overridden from Volume
Reimplemented from code::Volume.
Reimplemented in code::WindFieldLLGVolume.
virtual SpaceTimeRef code::Data3D< T2, T3, T4, X >::getSpaceTimeRef | ( | ) | const [inline, virtual, inherited] |
Returns the reference of the first element.
Implements code::DataType.
Reimplemented in code::CartesianGrid3D.
const Time& code::LatLonHeightGrid::getTime | ( | ) | const |
Return time corresponding to this grid.
int code::LatLonHeightGrid::getTotalNumOfLevels | ( | ) | const |
Return total number of levels of this grid.
virtual short code::LatLonHeightGrid::getType | ( | ) | const [inline, virtual] |
Get enum type of this class.
Reimplemented from code::DataType.
Reimplemented in code::WindFieldLLGVolume.
std::string code::DataType::getTypeClassName | ( | ) | const [inherited] |
returns a string such as RadialSet, LatLonGrid, etc.
See the enum Type for all the possible options. Subclasses need only to over-ride getType()
const std::string& code::DataType::getTypeName | ( | ) | const [inherited] |
bool code::DataType::hasQuality | ( | ) | const [inline, inherited] |
virtual double code::Volume::interpolatedValue | ( | const code::LocationCPoint & | loc | ) | const [inline, virtual, inherited] |
virtual double code::LatLonHeightGrid::interpolatedValue | ( | const code::Location & | loc | ) | const [virtual] |
Return the value corresponding to a linearly weighted average of the six grid points nearest in lat-lon-hgt space.
Reimplemented from code::Volume.
Reimplemented in code::WindFieldLLGVolume.
virtual void code::LatLonHeightGrid::invoke | ( | Algorithm & | alg | ) | [inline, virtual] |
Data2D<T3,T4,X>& code::Data3D< T2, T3, T4, X >::operator[] | ( | size_t | i | ) | [inline, inherited] |
const Data2D<T3,T4,X>& code::Data3D< T2, T3, T4, X >::operator[] | ( | size_t | i | ) | const [inline, inherited] |
virtual double code::Volume::rawFunction | ( | const code::LocationCPoint & | loc | ) | const [inline, virtual, inherited] |
virtual double code::LatLonHeightGrid::rawFunction | ( | const code::Location & | loc | ) | const [virtual] |
virtual SpaceTimeRef code::LatLonHeightGrid::reference | ( | size_t | i, | |
size_t | j, | |||
size_t | k | |||
) | const [virtual] |
Obtain the reference corresponding to the grid point offset (i,j,k).
Implementation of virtual function in Data3D.
Reimplemented from code::Data3D< T2, T3, T4, X >.
void code::Data3D< T2, T3, T4, X >::replace | ( | const X & | old_value, | |
const X & | new_value | |||
) | [inline, inherited] |
Replace any instance of old_value with new_value.
void code::Data3D< T2, T3, T4, X >::replace_1d | ( | size_t | i, | |
size_t | j, | |||
const std::vector< X > & | v | |||
) | [inline, inherited] |
Overwrite a 1d of elements.
The number of old and new elements must match.
void code::Data3D< T2, T3, T4, X >::replace_1d | ( | size_t | i, | |
size_t | j, | |||
const X * | begin, | |||
const X * | end | |||
) | [inline, inherited] |
Overwrite a 1d of elements.
The number of old and new elements must match.
void code::Data3D< T2, T3, T4, X >::set_val | ( | size_t | i, | |
size_t | j, | |||
size_t | k, | |||
const X & | value | |||
) | [inline, inherited] |
Deprecated alternative to data3d[i][j][k].
void code::DataType::setAttribute | ( | const std::string & | key, | |
SmartPtr< DataColumn > | value | |||
) | [inherited] |
Set a multiple-valued attribute that describes this DataType.
If value is 0 (i.e. invalid), this attribute will be removed from the map.
void code::DataType::setAttributeValue | ( | const std::string & | key, | |
double | value, | |||
const std::string & | unit = "dimensionless" , |
|||
const std::string & | format = "%g" | |||
) | [inherited] |
Set a single-valued attribute that describes this DataType.
This is a convenience function that allows you to set a dimensionless number as the value of an attribute.
If the attribute key does not already exist, then it will be constructed.
void code::DataType::setAttributeValue | ( | const std::string & | key, | |
const std::string & | value, | |||
const std::string & | unit = "dimensionless" | |||
) | [inherited] |
Set a single-valued attribute that describes this DataType.
This is a convenience function that allows you to set a text string as the value of an attribute.
If the attribute key does not already exist, then it will be constructed. The empty string may NOT be used as a value for the attribute; this function will return immediately if the value is the empty string.
void code::LatLonHeightGrid::setHeightScale | ( | float | ) |
Set factor by which heights are multiplied.
void code::DataType::setTypeName | ( | const std::string & | ) | [inherited] |
const Coord& code::LatLonHeightGrid::size | ( | ) | const |
Return the number of grid points along each direction.
Reimplemented from code::Data3D< T2, T3, T4, X >.
size_t code::Data3D< T2, T3, T4, X >::size_d | ( | size_t | i, | |
size_t | j | |||
) | const [inline, inherited] |
Returns the number of elements in the 1D in [i][j].
size_t code::Data3D< T2, T3, T4, X >::size_d | ( | size_t | i | ) | const [inline, inherited] |
Returns the number of 1Ds in the 2D in [i].
size_t code::Data3D< T2, T3, T4, X >::size_d | ( | ) | const [inline, inherited] |
Returns the number of 2Ds in this Data3D.
virtual double code::Volume::testValue | ( | const code::LocationCPoint & | loc | ) | const [inline, virtual, inherited] |
virtual double code::Volume::testValue | ( | const code::Location & | loc | ) | const [inline, virtual, inherited] |
const std::string code::DataType::ColorMap [static, inherited] |
const std::string code::DataType::ExpiryInterval [static, inherited] |
const std::string code::DataType::IsTableData [static, inherited] |
const std::string code::DataType::Unit [static, inherited] |
InitSmartPtr< std::vector< Data2D<T3,T4,X> > > code::Data3D< T2, T3, T4, X >::vals [inherited] |
The array of 2D types that is held.
Use [] to dereference ...