Public Member Functions | |
TerrainBlockage () | |
For STL use only. | |
TerrainBlockage (const code::LatLonGrid &terrain, const code::Location &radarLocation, const code::Length &radarRange, const std::string &radarName) | |
this should be a LatLonGrid such that the data are altitude above mean-sea-level in meters. | |
int | computePercentBlocked (const code::Angle &beamWidth, const code::Angle &beamElevation, const code::Angle &binAzimuth, const code::Length &binRange) const |
returns the percent of the beam that was blocked (to nearest whole integer) The return value is between 0 and 100 (both numbers inclusive) with 100 indicating a fully blocked beam (no radar return) | |
float | computeFractionBlocked (const code::Angle &beamWidth, const code::Angle &beamElevation, const code::Angle &binAzimuth, const code::Length &binRange) const |
returns 0 for non-blocked beams and 1 for fully blocked ones. | |
code::Angle | computeMaximumBlockingElevation (const code::Angle &startAzimuth, const code::Angle &beamWidth, const code::Length &binRange) const |
Find the maximum elevation angle among the terrain points that impact the radar beam until it reaches this gate. | |
code::Length | getHeightAboveTerrain (const code::Angle &elev, const code::Angle &az, const code::Length &rn) const |
Computers and returns the height above the terrain given the elev, az and range from the radar. | |
code::Length | getHeightAboveTerrain (const code::Location &loc) const |
computes and returns height above terrain given a Location (where the height is reported above sea-level). | |
code::Length | getHeightOfTerrain (const code::Location &loc) const |
Direct access to the terrain height. | |
void | addManualOverrides (const std::string &radarName) |
Find the configuration file for manual overrides for this radar and add them to the terrain . | |
Static Public Member Functions | |
static code::SmartPtr< TerrainBlockage > | create (const std::string &fileOrDir, const std::string &radarname, const code::Length &range) |
Will read a netcdf DEM file of the form produced by 'topoBreak'. | |
Classes | |
struct | PointBlockage |
The az,rn,elev blocked by a terrain point. |
vol::TerrainBlockage::TerrainBlockage | ( | ) | [inline] |
For STL use only.
vol::TerrainBlockage::TerrainBlockage | ( | const code::LatLonGrid & | terrain, | |
const code::Location & | radarLocation, | |||
const code::Length & | radarRange, | |||
const std::string & | radarName | |||
) |
this should be a LatLonGrid such that the data are altitude above mean-sea-level in meters.
void vol::TerrainBlockage::addManualOverrides | ( | const std::string & | radarName | ) |
Find the configuration file for manual overrides for this radar and add them to the terrain .
..
float vol::TerrainBlockage::computeFractionBlocked | ( | const code::Angle & | beamWidth, | |
const code::Angle & | beamElevation, | |||
const code::Angle & | binAzimuth, | |||
const code::Length & | binRange | |||
) | const |
returns 0 for non-blocked beams and 1 for fully blocked ones.
The binAzimuth is the *center* azimuth of the radial.
code::Angle vol::TerrainBlockage::computeMaximumBlockingElevation | ( | const code::Angle & | startAzimuth, | |
const code::Angle & | beamWidth, | |||
const code::Length & | binRange | |||
) | const |
Find the maximum elevation angle among the terrain points that impact the radar beam until it reaches this gate.
int vol::TerrainBlockage::computePercentBlocked | ( | const code::Angle & | beamWidth, | |
const code::Angle & | beamElevation, | |||
const code::Angle & | binAzimuth, | |||
const code::Length & | binRange | |||
) | const |
returns the percent of the beam that was blocked (to nearest whole integer) The return value is between 0 and 100 (both numbers inclusive) with 100 indicating a fully blocked beam (no radar return)
static code::SmartPtr<TerrainBlockage> vol::TerrainBlockage::create | ( | const std::string & | fileOrDir, | |
const std::string & | radarname, | |||
const code::Length & | range | |||
) | [static] |
Will read a netcdf DEM file of the form produced by 'topoBreak'.
You can either pass in the full name of the netcdf file or pass in a directory so that the file dirname/KTLX.nc would be read, assuming that the radarname is KTLX.
code::Length vol::TerrainBlockage::getHeightAboveTerrain | ( | const code::Location & | loc | ) | const |
computes and returns height above terrain given a Location (where the height is reported above sea-level).
If the terrain information is not known, the same height is returned.
code::Length vol::TerrainBlockage::getHeightAboveTerrain | ( | const code::Angle & | elev, | |
const code::Angle & | az, | |||
const code::Length & | rn | |||
) | const |
Computers and returns the height above the terrain given the elev, az and range from the radar.
code::Length vol::TerrainBlockage::getHeightOfTerrain | ( | const code::Location & | loc | ) | const |
Direct access to the terrain height.
Can return MissingData if the location specified is outside bounds.