Public Member Functions | List of all members
CmdSelect Class Reference

Select parts of hierarchical data using path, quantity, elevation angle and PRF mode as selection criteria. More...

Inheritance diagram for CmdSelect:
Inheritance graph
[legend]
Collaboration diagram for CmdSelect:
Collaboration graph
[legend]

Public Member Functions

 CmdSelect (const CmdSelect &cmd)
 
void exec () const
 Run the command with current parameter values.
 
- Public Member Functions inherited from SimpleCommand< std::string >
 SimpleCommand (const std::string &name, const std::string &description, const std::string &key="value", const std::string &initValue=std::string(), const std::string &unit="")
 
 SimpleCommand (const std::string &name, const std::string &description, const std::string &key, std::initializer_list< S > l, const std::string &unit="")
 Constuctor designer for SimpleCommand<Unituple<> > .
 
 SimpleCommand (const SimpleCommand &cmd)
 
- Public Member Functions inherited from BasicCommand
 BasicCommand (const std::string &name, const std::string &description)
 
 BasicCommand (const BasicCommand &cmd)
 
- Public Member Functions inherited from BeanCommand< BeanLike >
 BeanCommand (const std::string &name, const std::string &description)
 
 BeanCommand (const BeanCommand &cmd)
 
 BeanCommand (BeanLike &b)
 
virtual const bean_tgetBean () const
 
virtual bean_tgetBean ()
 
const std::string & getName () const final
 
const std::string & getDescription () const final
 
virtual const drain::ReferenceMapgetParameters () const final
 
- Public Member Functions inherited from Command
 Command (const Command &cmd)
 
virtual void setParameters (const std::string &args) final
 
template<class T >
void setParameters (const SmartMap< T > &args)
 
template<class T >
void setParameter (const std::string &key, const T &value)
 Set a value to a single parameter. More...
 
CommandaddSection (drain::Flagger::ivalue_t i)
 
virtual void update ()
 Optional method for preparing command to execution. More...
 
bool hasParameters () const
 
virtual const std::string & getType () const
 Description of result, comparable to a return type of a function. ?
 
virtual void run (const std::string &params="")
 Convenience. Sets parameters and executes the command. More...
 
const std::string & getLastParameters () const
 After executing this command run a routine, if defined. More...
 
- Public Member Functions inherited from Contextual
 Contextual ()
 Sets internal contextPtr to NULL.
 
 Contextual (const Contextual &src)
 Copies base context (even null) of the source. Notice that the actual instance may be of derived class.
 
 Contextual (Context &ctx)
 Copies internal contextPtr.
 
template<class C >
void setContext ()
 Sets internal contextPtr to the static source.
 
void setExternalContext (Context &ctx)
 Sets internal contextPtr to outside target.
 
bool contextIsSet () const
 True, if contextPtr has been set.
 
template<class T = Context>
T & getContext () const
 If context has been set, returns it through a cast to base class Context. More...
 

Additional Inherited Members

- Public Types inherited from BeanCommand< BeanLike >
typedef BeanLike bean_t
 
- Static Public Member Functions inherited from Contextual
template<class T >
static Cloner< Context, T > & getCloner ()
 
- Public Attributes inherited from SimpleCommand< std::string >
std::string value
 
- Public Attributes inherited from BeanCommand< BeanLike >
BeanLike bean
 
- Public Attributes inherited from Command
int section = 1
 
- Static Public Attributes inherited from Command
static const SprinterLayout cmdArgLayout = {",", "?", "=", ""}
 
- Protected Member Functions inherited from CmdBaseSelective
 CmdBaseSelective (const std::string &name, const std::string &description)
 
 CmdBaseSelective (const CmdBaseSelective &cmd)
 
- Protected Member Functions inherited from BeanCommand< BeanLike >
virtual drain::ReferenceMapgetParameters () final
 
- Protected Attributes inherited from CmdBaseSelective
DataSelector mySelector
 
- Protected Attributes inherited from Command
std::string lastParameters
 
- Protected Attributes inherited from Contextual
ContextcontextPtr
 

Detailed Description

Select parts of hierarchical data using path, quantity, elevation angle and PRF mode as selection criteria.

This command determines the data to be applied in subsequent input read or product generation commands.

In Rack, many operations implictly select a subset of available data instead of using it all. For example, in computing a Pseudo CAPPI image, DBZH data from single-PRF sweeps is used by default.

Synopsis

--select, -s <selector> (section: general)
Data selector for the next computation
selector=path,quantity,elangle,count,order,prf,timespan

Remarks on the options:

See example sets below!

This option is useful in selecting data for:

The following command lines illustrate usage of –select in product generation and image output.

# For a Pseudo CAPPI product, change default input selection
rack volume.h5 --select 'quantity=^TH$,elangle=1.5:10,count=3' --pCappi 1500 -o pCappi-TH-1500m.h5
# For image output, select DBZH
rack volume.h5 --select elangle=1.5,quantity=DBZH -o volume-DBZH.png
# For image output, select VRAD of the lowest dual-PRF scan
rack volume.h5 --select quantity=VRAD:VRADH,order=ELANGLE:MIN,prf=DOUBLE -o volume-VRAD.png
# For image output, select ZDR of the highest single-PRF scan
rack volume.h5 --select quantity=ZDR,count=1,order=ELANGLE:MAX,prf=SINGLE -o volume-ZDR.png
# For single-image output, select DBZH of the lowest scan (from 90 6.5 2.4 1.8 1.2 0.59)
rack volume.h5 --select quantity=DBZH,order=ELANGLE:MIN -o volume-DBZH2.png
# For single-image output, select dBZ - preferably total dBZ - of the highest scan (from 90 6.5 2.4 1.8 1.2 0.59)
rack volume.h5 --select quantity=TH:TV:T:DBZH:DBZ,order=ELANGLE:MAX -o volume-DBZH3.png
Definition: DataSelector.cpp:44

The following examples are less realistic than those above, but are used in unit testing of the program code.

# Index range: select dataset3, including its subgroups.
rack volume.h5 --select /dataset3 -o volume-select.txt
# Index range: select DATASET groups with index 2...5, including subgroups.
rack volume.h5 --select /dataset2:5 -o volume-select.txt
# Index range test: select DATASET groups with index 3 at least.
rack volume.h5 --select /dataset3: -o volume-select.txt
# Index range test: select DATASET groups with index 3 at largest.
rack volume.h5 --select /dataset:3 -o volume-select.txt
# For text output, select paths ENDING with 'what', 'where', or 'how'.
rack volume.h5 --select 'what|where|how' -o volume-select.txt
# For text output, select paths of elevations of at least 6.0 degrees
rack volume.h5 --select elangle=6.0 -o volume-select.txt
# For text output, select paths of elevations up to 6.0 degrees
rack volume.h5 --select elangle=:6.0 -o volume-select.txt
# For text output, select 'where' groups of 3 lowest elevations from 0.5 degrees upwards
rack volume.h5 --select where,elangle=0.5:90.0,count=3 -o volume-select.txt
# For text output, select 'what' and 'where' groups of elevations from 0.5 to 6.0 degrees
rack volume.h5 --select 'what|where,elangle=0.5:6' -o volume-select.txt
# Select a unique quality field
rack volume.h5 --select quantity=CLASS-ETOP -o volume-select.txt
# Select all QIND fields
rack volume.h5 --select quantity=QIND -o volume-select.txt
# Select global (dataset-level) QIND fields
rack volume.h5 --select quantity=/QIND -o volume-select.txt
# Select quantity-specific (data-level) QIND fields
rack volume.h5 --select quantity=.+/QIND -o volume-select.txt
# Select quantity-specific (data-level) QIND field
rack volume.h5 --select quantity=DBZ-SLOPE-SMOOTH/QIND -o volume-select.txt
# Select non-existing quantity-specific QIND field
rack volume.h5 --select quantity=HGHT/QIND -o volume-select.txt
See also
CmdDelete
CmdKeep
CmdSetODIM
rack::CmdSelect (code)
rack::DataSelector (code)

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