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< RadialSetLookup > | retrieve (const std::string &dir, const std::string &name) |
Retreive a lookup of this name from this directory. | |
static code::SmartPtr< RadialSetLookup > | getLookup (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< Entry > | entries |
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... |
vol::RadialSetLookup::RadialSetLookup | ( | const VolumeCreator::GridSpecification & | spec, | |
const code::RadialSet & | rs | |||
) |
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.
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.
std::vector< Entry > vol::RadialSetLookup::entries |
Which points of the grid map into this radial set, and therefore ought to be updated?
The identity of this lookup.