Public Member Functions | Public Attributes | Protected Member Functions | List of all members
RhiODIM Class Reference
Inheritance diagram for RhiODIM:
Inheritance graph
[legend]
Collaboration diagram for RhiODIM:
Collaboration graph
[legend]

Public Member Functions

 RhiODIM (group_t initialize=ODIMPathElem::ALL_LEVELS)
 
 RhiODIM (const RhiODIM &odim)
 
template<class T >
 RhiODIM (const std::map< std::string, T > &m)
 
 RhiODIM (const drain::image::Image &img, const std::string &quantity="")
 
- Public Member Functions inherited from VerticalCrossSectionODIM
 VerticalCrossSectionODIM (group_t initialize=ODIMPathElem::ALL_LEVELS)
 
 VerticalCrossSectionODIM (const ODIM &odim)
 
void setGeometry (size_t cols, size_t rows)
 Sets number of columns (nbins) and number of rows (nrays). Does not change resolution.
 
- Public Member Functions inherited from ODIM
 ODIM (group_t initialize=ODIMPathElem::ALL_LEVELS)
 
 ODIM (const ODIM &odim)
 
 ODIM (const drain::image::Image &image, const std::string &quantity="")
 
 ODIM (drain::image::Image &image, const std::string &quantity="")
 
virtual void setGeometry (const drain::image::AreaGeometry &g)
 
virtual const drain::image::AreaGeometrygetGeometry () const
 
virtual void adjustGeometry (size_t cols, size_t rows)
 Change geometry and adjust spatial resolution respectively.
 
virtual void updateLenient (const ODIM &odim)
 Updates object, quantity, product and time information. More...
 
bool getTime (drain::Time &t) const
 Retrieves the stored time. Returns true if successful. // consider: throws error if fail.
 
bool getStartTime (drain::Time &t) const
 Retrieves the start time. Returns true if successful. // consider: throws error if fail.
 
bool getEndTime (drain::Time &t) const
 Retrieves the end time. Returns true if successful. // consider: throws error if fail.
 
bool setTime (const drain::Time &t)
 Sets date and time . Returns true if successful, throws error if fail.
 
bool setTime (const std::string &s)
 Sets date and time given a string of Returns true if successful, throws error if fail.
 
virtual const drain::image::CoordinatePolicygetCoordinatePolicy () const
 Returns recommended coordinate policy. Redefined in PolarODIM.
 
bool distinguishNodata (const std::string &quantityPrefix="")
 If nodata==undetect, set nodata=maxValue (hoping its not nodata...) More...
 
- Public Member Functions inherited from EncodingODIM
 EncodingODIM (group_t initialize=ODIMPathElem::ALL_LEVELS)
 Default constructor.
 
 EncodingODIM (const EncodingODIM &odim)
 Copy constructor.
 
 EncodingODIM (char type, double scale=1.0, double offset=0.0, double nodata=NAN, double undetect=NAN, const drain::Range< double > &range={0, 0})
 Scale driven encoding for brace inits. RISK: group_t confusion?
 
 EncodingODIM (char type, const drain::Range< double > &range, double scale=0.0, double offset=0.0, double nodata=NAN, double undetect=NAN)
 Range-driven encoding for brace inits.
 
 EncodingODIM (const drain::image::Image &image)
 
 EncodingODIM (drain::image::Image &image)
 
EncodingODIMoperator= (const EncodingODIM &odim)
 
 operator drain::ValueScaling & ()
 
 operator const drain::ValueScaling & () const
 
EncodingODIMsetScaling (double gain, double offset=NAN)
 
EncodingODIMsetScaling (double gain, double offset, double undetect, double nodata)
 
bool isSet () const
 
void setRange (double min, double max)
 
template<class T >
void setTypeDefaults (const T &type, const std::string &values="")
 Sets gain=1, offset=0, undetect=type_min, nodata=type_max. Note: sets type only if unset.
 
void setTypeDefaults ()
 
bool isValue (double x) const
 Returns true for a valid measurement value, false for undetect and nodata marker values.
 
double scaleForward (double x) const
 Converts a quantity from storage scale: y = offset + gain*y .
 
double scaleInverse (double y) const
 Converts a quantity to storage scale: x = (y-offset)/gain .
 
double getMin () const
 Returns the minimum physical value that can be returned using current storage type, gain and offset.
 
double getMax () const
 Returns the minimum physical value that can be returned using current storage type, gain and offset.
 
double operator() (double y) const
 Functor (why inverse?)
 
void clear ()
 Resets the values. More...
 
virtual void updateLenient (const EncodingODIM &odim)
 Todo: keep the function, but move implementation to (future single-exec) register ? More...
 
void grantShortKeys (drain::ReferenceMap &ref)
 Creates a short alias (attrib) for each (group):(attrib). Example: "gain" => "what:gain".
 
void addShortKeys ()
 Creates a short alias (attrib) for each (group):(attrib). Example: "gain" => "what:gain".
 
void copyFrom (const drain::image::Image &data)
 Copies image attributes and type . Experimental. More...
 
- Public Member Functions inherited from ReferenceMap
 ReferenceMap (char separator=',')
 Default constructor. More...
 
 ReferenceMap (const ReferenceMap &rmap)
 Copy constructor copies only the separators; does not copy the items. More...
 
template<class F >
Referencelink (const std::string &key, Range< F > &x, const std::string &unit=std::string())
 
template<class F >
Referencelink (const std::string &key, F &x, const std::string &unit=std::string())
 Associates a map entry with a variable. More...
 
Referencelink (const std::string &key, Reference &x, const std::string &unit=std::string())
 
Referencelink (const std::string &key, void *ptr, const std::type_info &type, size_t count, const std::string &unit=std::string())
 For arrays.
 
Referencelink (const std::string &key, void *ptr, const std::type_info &type, const std::string &unit=std::string())
 Convenience: create a reference to a scalar. For arrays, use the.
 
template<class F >
ReferencereferenceTop (const std::string &key, F &x, const std::string &unit=std::string())
 Associates a map entry with a variable, adding key in the beginning of key list. More...
 
void append (ReferenceMap &rMap, bool replace=true)
 Adopts the references of r. If replace==false, only new entries are appended.
 
void delink (const std::string &key)
 Removes an entry from the map.
 
void reserve (const std::string &key)
 Adds a null entry, expecting the link later. More...
 
template<class T >
void copyStruct (const ReferenceMap &m, const T &src, T &dst, extLinkPolicy policy=RESERVE)
 Experimental. Copies references and values of a structure to another. More...
 
template<class T >
ReferenceMapoperator= (const SmartMap< T > &v)
 Import map, adopting the element types.
 
virtual mapped_type & operator[] (const std::string &key)
 Return element associated with key.
 
virtual const mapped_type & operator[] (const std::string &key) const
 Calling unreferenced key throws an exception.
 
const unitmap_t & getUnitMap () const
 Returns measurement unit information of the actual map entries.
 
- Public Member Functions inherited from SmartMap< Reference >
 SmartMap (char separator='\0', char arraySeparator=':')
 
 SmartMap (const SmartMap &smap)
 
bool hasKey (const std::string &key) const
 
std::string get (const std::string &key, const std::string &defaultValue) const
 Retrieves a value, or default value if value is unset. More...
 
std::string get (const std::string &key, const char *defaultValue) const
 
T2 get (const std::string &key, const T2 &defaultValue) const
 Retrieves a value, if set, else returns the given default value. More...
 
virtual const keylist_t & getKeyList () const
 Derived versions may produce an ordered set of keys.
 
const map_t & getMap () const
 
void exportMap (std::map< std::string, T2 > &m) const
 Copies the contents to another map.
 
void importEntries (const std::string &entries, char assignmentSymbol='=', char separatorSymbol=0)
 Assigns a value to given key; if the entry does not exist, tries to create it with directly with operator[]. More...
 
void importEntries (const std::list< std::string > &entries, char assignmentSymbol='=')
 
void importMap (const std::map< std::string, S > &m)
 Assign values from a map, overriding existing entries. More...
 
void importCastableMap (const drain::SmartMap< T2 > &m)
 Assign values from a map, possibly extending the map. More...
 
void updateFromMap (const std::map< std::string, T2 > &m)
 Assign values from a map. Updates existing entries only. More...
 
void updateFromCastableMap (const drain::SmartMap< T2 > &m)
 Convenience.
 
void setValues (const std::string &entries, char assignmentSymbol='=', char separatorSymbol=0)
 Sets values. If strictness==STRICTLY_CLOSED, throws exception if tries to assign a non-existing entry.
 
void setValues (const char *entries, char assignmentSymbol='=', char separatorSymbol=0)
 
void setValuesSEQ (const S &sequence)
 
void updateValues (const std::string &entries, char assignmentSymbol='=', char separatorSymbol=0)
 Sets applicable values ie. modifies existing entries only. In ordered maps, skips extra entries silently.
 
void getKeys (std::ostream &ostr) const
 
std::string getKeys () const
 Convenience function for std::string output.
 
void getValues (std::ostream &ostr) const
 Dumps the values.
 
std::string getValues () const
 Convenience function for std::string output.
 
std::ostream & toStream (std::ostream &ostr, char equal='=', char startChar='{', char endChar='}', char separatorChar=',') const
 Note: parameters discarded.
 
std::string toStr (char equal='=', char start=0, char end=0, char separator=0) const
 
void dump (std::ostream &ostr=std::cout) const
 Write map as a JSON code. More...
 

Public Attributes

double lon
 
double lat
 
double az_angle
 
double angles
 
drain::Range< double > range
 
- Public Attributes inherited from VerticalCrossSectionODIM
int64_t xsize
 Number of pixels in horizontal dimension.
 
long ysize
 Number of pixels in vert dimension.
 
double xscale
 Horizontal resolution in m.
 
double yscale
 Vertical resolution in m.
 
drain::Range< double > altitudeRange
 Corresponding to what:height, yet less risky for confusions with tower height or site height (altitude).
 
double NI
 Minimum height in meters above mean sea level. More...
 
- Public Attributes inherited from ODIM
drain::image::AreaGeometry area
 
drain::Point2D< double > resolution
 Spatial resolution in metres. More...
 
std::string object
 
std::string version
 
std::string date
 Nominal time, in dateformat.
 
std::string time
 Nominal time, in timeformat.
 
std::string source
 
std::string quantity
 dataX/what (obligatory)
 
std::string product
 
std::string prodpar
 
std::string startdate
 
std::string starttime
 
std::string enddate
 
std::string endtime
 
std::vector< double > angles
 
long ACCnum = 0
 
double NI
 
- Public Attributes inherited from EncodingODIM
drain::ValueScalingscaling
 
const drain::ValueScalingscalingConst
 
drain::ValueScaling ownScaling
 
int explicitSettings
 
std::string type
 This is non-standard (not in ODIM), but a practical means of handling storage type of datasets. More...
 
double nodata
 data[n]/what (obligatory)
 
double undetect
 
- Public Attributes inherited from SmartMap< Reference >
char separator
 Default character used for splitting input and output. See setValues.
 
char arraySeparator
 Default separator character for array elements (std::vector's)
 

Protected Member Functions

virtual void init (group_t initialize=ODIMPathElem::ALL_LEVELS)
 
- Protected Member Functions inherited from ODIM
void copyTo (const std::list< std::string > &keys, Hi5Tree &dst) const
 
template<class T >
void initFromMap (const std::map< std::string, T > &m)
 
virtual void initFromImage (const drain::image::Image &img)
 
virtual void initFromImage (const drain::image::Image &img, const std::string &quantity)
 

Additional Inherited Members

- Public Types inherited from ODIM
enum  Version {
  KILOMETRES = 1 , RACK_EXTENSIONS = 8 , ODIM_2_2 = 16 | KILOMETRES , ODIM_2_3 = 32 | KILOMETRES ,
  ODIM_2_4 = 64
}
 
typedef drain::EnumFlagger< drain::MultiFlagger< Version > > VersionFlagger
 
typedef std::set< std::string > nameSet
 
- Public Types inherited from EncodingODIM
enum  ExplicitSetting { NONE =0 , SCALING =1 , RANGE =2 }
 
typedef ODIMPathElem::group_t group_t
 
- Public Types inherited from ReferenceMap
enum  extLinkPolicy { LINK , RESERVE , SKIP , ERROR }
 
typedef std::map< std::string, std::string > unitmap_t
 
- Public Types inherited from SmartMap< Reference >
typedef SmartMap< Referencesmap_t
 
typedef std::map< std::string, Referencemap_t
 
typedef map_t::key_type key_t
 
typedef map_t::mapped_type value_t
 
typedef map_t::value_type entry_t
 
typedef std::list< std::string > keylist_t
 
typedef map_t::iterator iterator
 Needed?
 
typedef map_t::const_iterator const_iterator
 
- Static Public Member Functions inherited from ODIM
template<group_t G, class T >
static void updateH5AttributeGroups (const T &odim, Hi5Tree &dst)
 Write ODIM metadata to WHAT, WHERE and HOW groups. More...
 
template<group_t G, class T >
static void updateH5AttributeGroups (const T &odim, const Hi5Tree &dst)
 
static bool getTime (drain::Time &t, const std::string &dateStr, const std::string &timeStr)
 Retrieves the stored time. Returns true if successful, throws error if fail.
 
- Static Public Member Functions inherited from EncodingODIM
static bool haveSimilarEncoding (const EncodingODIM &odim1, const EncodingODIM &odim2)
 Checks if data encoding is similar (storage type, gain, offset, undetect and nodata are the same).
 
static void checkType (Hi5Tree &dst)
 Traverses recursively subtrees and checks the types of PolarODIM variables. More...
 
- Static Public Attributes inherited from ODIM
static VersionFlagger versionFlagger
 
static const nameSet timeKeys = {"what:time", "what:starttime", "what:endtime"}
 
static const nameSet dateKeys = {"what:date", "what:startdate", "what:enddate"}
 
static const nameSet locationKeys = {"where:site", "where:src", "where:lat", "where:lon", "PLC", "NOD", "WMO"}
 
static const std::string dateformat
 Applied 8-digit date format, "%Y%m%d".
 
static const std::string timeformat
 Applied 6-digit date format, "%H%M%S".
 
- Static Public Attributes inherited from EncodingODIM
static const drain::FlagResolver::dict_t settingDict
 
static const ODIMPathElemSeq & attributeGroups
 Copies contents of this to a h5 group. More...
 
- Static Protected Member Functions inherited from EncodingODIM
static void checkType (Hi5Tree &dst, EncodingODIM &odim)
 
static const ODIMPathElemSeq & getAttributeGroups ()
 
- Protected Attributes inherited from ReferenceMap
unitmap_t unitMap
 Creating a common segment for. More...
 
- Protected Attributes inherited from SmartMap< Reference >
std::list< std::string > keyList
 Assigns values from std::string of type "value,value2,...valueN". More...
 

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