vol::RadialSetLookup Class Reference

List of all members.

Detailed Description

A look up table for updating a LatLonHeightGrid with a radial set.

Author:
Lakshman
Version:
Id
vol_RadialSetLookup.h,v 1.22 2010/05/04 18:04:01 lakshman Exp


Public Member Functions

std::string save (const std::string &dir) const
 Save this lookup table to this directory.
 RadialSetLookup (const VolumeCreator::GridSpecification &spec, const code::RadialSet &rs)

Static Public Member Functions

static code::SmartPtr< RadialSetLookupretrieve (const std::string &dir, const std::string &name)
 Retreive a lookup of this name from this directory.
static code::SmartPtr< RadialSetLookupgetLookup (const VolumeCreator::GridSpecification &spec, const code::RadialSet &rs, const std::string &cacheDir, const std::string &extractDir="")
 Will look in the cache dir, and if no cached entry exists, try to create a complete object from the extractDir.
static void setRadarRange (const code::Length &newRange)
 Change the maximum radar range from the default of 300km.
static void setTerrainData (code::SmartPtr< code::LatLonGrid > in_terrain)
 set up a terrain file.
static void setInMemoryCacheSize (size_t num_radars, float gigabytes)
 In addition to a disk cache, RadialSetLookup can optionally use an in-memory cache of the most recently used lookup tables.
static void setInterpolationHalfSize (size_t halfSize)
 By default, RadialSetLookup finds the radar gate closest to the lat-lon pixel's center.
static void setZeroElevationIsProjected (bool flag)
 By default zero degree scans are assumed to be mapped to the earth's surface.

Public Attributes

Identity id
 The identity of this lookup.
std::vector< Entryentries
 Which points of the grid map into this radial set, and therefore ought to be updated?

Classes

class  Correction
 To correct an Entry from one cache when it is used to supply data to another cache. More...
class  Entry
 An entry in this look up consists of the point on the LatLonHeight grid and the az-rn it maps to. More...
class  Identity
 Unique identification of this lookup. More...


Constructor & Destructor Documentation

vol::RadialSetLookup::RadialSetLookup ( const VolumeCreator::GridSpecification spec,
const code::RadialSet &  rs 
)


Member Function Documentation

static code::SmartPtr<RadialSetLookup> vol::RadialSetLookup::getLookup ( const VolumeCreator::GridSpecification spec,
const code::RadialSet &  rs,
const std::string &  cacheDir,
const std::string &  extractDir = "" 
) [static]

Will look in the cache dir, and if no cached entry exists, try to create a complete object from the extractDir.

If that is not possible, create a new object, save it to the cache dir, and return the object.

static code::SmartPtr<RadialSetLookup> vol::RadialSetLookup::retrieve ( const std::string &  dir,
const std::string &  name 
) [static]

Retreive a lookup of this name from this directory.

Returns:
null if no such cached lookup exists.

std::string vol::RadialSetLookup::save ( const std::string &  dir  )  const

Save this lookup table to this directory.

The file name is determined by the unique name of the id and is returned.

static void vol::RadialSetLookup::setInMemoryCacheSize ( size_t  num_radars,
float  gigabytes 
) [static]

In addition to a disk cache, RadialSetLookup can optionally use an in-memory cache of the most recently used lookup tables.

By default, this size is zero. A good rule of thumb is to use between 1/4 and 1/2 of your total RAM.

static void vol::RadialSetLookup::setInterpolationHalfSize ( size_t  halfSize  )  [static]

By default, RadialSetLookup finds the radar gate closest to the lat-lon pixel's center.

You can specify a center-weighted i.e. interpolation among the radar range gates by passing in a larger interpolation grid length. The meaning is as follows:

               HalfSize    Number-of-weighting points
                   0                 1  (nearest neighbor)
                   1                 9  (2*1 + 1)^2
                   2                25  (2*2 + 1)^2
                   3                49  etc.
       
Note that memory usage by w2merger would be 9-times the nearest neighbor case if halfSize=1

static void vol::RadialSetLookup::setRadarRange ( const code::Length &  newRange  )  [static]

Change the maximum radar range from the default of 300km.

static void vol::RadialSetLookup::setTerrainData ( code::SmartPtr< code::LatLonGrid >  in_terrain  )  [inline, static]

set up a terrain file.

It will be used for all the radars in this process.

static void vol::RadialSetLookup::setZeroElevationIsProjected ( bool  flag  )  [static]

By default zero degree scans are assumed to be mapped to the earth's surface.

Can turn this feature off.


Member Data Documentation

std::vector< Entry > vol::RadialSetLookup::entries

Which points of the grid map into this radial set, and therefore ought to be updated?

Identity vol::RadialSetLookup::id

The identity of this lookup.


Generated on Fri May 4 13:40:23 2012 for WDSS-IIw2algs by  doxygen 1.4.7