Public Member Functions | |
DARDARFileData (const string &name, const string &mode="r") | |
constructor | |
~DARDARFileData () | |
destructor | |
void | load_geolocation_data () |
read the geolocation data (latitude, longitude and time) This method is used to make the search of the indexes of a (lat,lon,time) point faster. | |
void | free_geolocation_data () |
free eventually loaded geolocation data If the geolocation data are not loaded, doesn't do anything | |
void | load_v_pixel () |
load the list data pixels | |
void | close_data_file () |
closes the file. | |
void | open_data_file () |
opens the file. | |
const int | get_nb_geo_points () |
retrieve the number of (lat,lon) pixels in the file | |
string | get_product () const |
access to the product name | |
string | get_version () const |
access to the version of the product | |
const bool | contain_location (const float &lat, const float &lon, const double &tolerance=0.01) |
check if this file has eventually data coincident with (lat,lon) Actually, it only tests if (lat,lon) is contained in the data's bounding rectangle. | |
const bool | contain_data (const float &lat, const float &lon, const double &time, const double &colocation_tolerance=0.01) |
check if the file has possible (lat,lon) coincidence | |
const float | get_nearest_point_distance (const float &lat, const float &lon, const float coloc_tolerance=DARDARFileData::colocation_tolerance) |
compute the distance to (lat,lon) of the nearest point in the data If coloc_tolerance is given, it will compute only the distance of the points that have a distance to ( lat, lon ) inferior to coloc_tolerance | |
virtual const bool | get_index (const float &lat, const float &lon, int &nearest_pix_idx, const float colocation_tolerance=0.01) |
find the index of the nearest point to (lat,lon) in the data. If (lat,lon) is not found or out of the colocalisation_frame, returned indexes are [-1,-1] | |
void | get_vindex (vector< vector< int > > &v_index, const float &lat, const float &lon, const float colocation_tolerance=0.01) |
build the list of indices of pixels that are in colocation tolerance, sorted by increasing distance to (lat,lon) If (lat,lon) is not found or out of the colocalisation_frame, returns an empty vector | |
void | get_pixel_coord (const vector< int > &ipix, float &lat, float &lon, double &time) |
retrieve the coordinates of a pixel using its index | |
void | get_pixel_coord (const int ipix, float &lat, float &lon, double &time) |
retrieve the coordinates of a pixel using its index | |
Static Public Member Functions | |
static const int16 * | get_dardar_height () |
accessor to the altitudes of the bins | |
Static Public Attributes | |
static const int | nb_dardar_bin = 436 |
static const int16 | dardar_height [] |
DARDARFileData::DARDARFileData | ( | const string & | name, | |
const string & | mode = "r" | |||
) |
constructor
name | the filename | |
mode | opening mode. only "r" at this time |
const bool DARDARFileData::contain_data | ( | const float & | lat, | |
const float & | lon, | |||
const double & | time, | |||
const double & | colocation_tolerance = 0.01 | |||
) | [virtual] |
check if the file has possible (lat,lon) coincidence
lat | latitude | |
lon | longitude | |
time | time | |
colocation_tolerance | the acceptable bias (in km or degrees. Supposed to be in, a plane approximation) between [lat,lon] and the nearest data point. |
Reimplemented from FileData.
References contain_location(), and FileData::contain_time().
const bool DARDARFileData::contain_location | ( | const float & | lat, | |
const float & | lon, | |||
const double & | tolerance = 0.01 | |||
) | [virtual] |
check if this file has eventually data coincident with (lat,lon) Actually, it only tests if (lat,lon) is contained in the data's bounding rectangle.
lat | the latitude of the event | |
lon | the longitude of the event | |
tolerance | acceptable bias between the nearest point in the data and the given (lat,lon) point |
Reimplemented from FileData.
References get_index().
Referenced by contain_data().
static const int16* DARDARFileData::get_dardar_height | ( | ) | [inline, static] |
accessor to the altitudes of the bins
References dardar_height.
const bool DARDARFileData::get_index | ( | const float & | lat, | |
const float & | lon, | |||
int & | nearest_pix_idx, | |||
const float | colocation_tolerance = 0.01 | |||
) | [virtual] |
find the index of the nearest point to (lat,lon) in the data. If (lat,lon) is not found or out of the colocalisation_frame, returned indexes are [-1,-1]
lat | the latitude | |
lon | the longitude | |
nearest_pix_idx | the index of the nearest measure. -1 if no coincidence found. | |
colocation_tolerance | the acceptable bias (in km or degrees. Supposed to be in, a plane approximation) between [lat,lon] and the nearest data point. |
References free_geolocation_data(), SatelliteFileData::is_geolocation_data_loaded(), SatelliteFileData::lat_data, load_geolocation_data(), SatelliteFileData::lon_data, SatelliteFileData::time_data, and SatelliteFileData::v_pixel.
Referenced by contain_location(), and get_nearest_point_distance().
const int DARDARFileData::get_nb_geo_points | ( | ) | [inline] |
retrieve the number of (lat,lon) pixels in the file
const float DARDARFileData::get_nearest_point_distance | ( | const float & | lat, | |
const float & | lon, | |||
const float | coloc_tolerance = DARDARFileData::colocation_tolerance | |||
) |
compute the distance to (lat,lon) of the nearest point in the data If coloc_tolerance is given, it will compute only the distance of the points that have a distance to ( lat, lon ) inferior to coloc_tolerance
lat | the latitude | |
lon | the longitude | |
coloc_tolerance | the -/+ maximal tolerance for 2 points considered as colocated |
References free_geolocation_data(), get_index(), SatelliteFileData::is_geolocation_data_loaded(), SatelliteFileData::lat_data, load_geolocation_data(), and SatelliteFileData::lon_data.
void DARDARFileData::get_pixel_coord | ( | const int | ipix, | |
float & | lat, | |||
float & | lon, | |||
double & | time | |||
) | [inline] |
retrieve the coordinates of a pixel using its index
ipix | [IN] index of the pixel | |
lat | [OUT] latitude of the pixel | |
lon | [OUT] longitude of the pixel | |
time | [OUT] timestamp of the pixel |
References SatelliteFileData::is_geolocation_data_loaded(), SatelliteFileData::lat_data, load_geolocation_data(), SatelliteFileData::lon_data, and SatelliteFileData::time_data.
void DARDARFileData::get_pixel_coord | ( | const vector< int > & | ipix, | |
float & | lat, | |||
float & | lon, | |||
double & | time | |||
) | [inline] |
retrieve the coordinates of a pixel using its index
ipix | [IN] index of the pixel in a unique value vector for interface implementation purpose | |
lat | [OUT] latitude of the pixel | |
lon | [OUT] longitude of the pixel | |
time | [OUT] timestamp of the pixel |
string DARDARFileData::get_product | ( | ) | const [inline] |
access to the product name
string DARDARFileData::get_version | ( | ) | const [inline] |
access to the version of the product
void DARDARFileData::get_vindex | ( | vector< vector< int > > & | v_index, | |
const float & | lat, | |||
const float & | lon, | |||
const float | colocation_tolerance = 0.01 | |||
) | [inline] |
build the list of indices of pixels that are in colocation tolerance, sorted by increasing distance to (lat,lon) If (lat,lon) is not found or out of the colocalisation_frame, returns an empty vector
lat | the latitude | |
lon | the longitude | |
colocation_tolerance | the acceptable bias (in km or degrees. Supposed to be in, a plane approximation) between [lat,lon] and the nearest data point. |
const int16 DARDARFileData::dardar_height [static] |
{ 25080, 25020, 24960, 24900, 24840, 24780, 24720, 24660, 24600, 24540, 24480, 24420, 24360, 24300, 24240, 24180, 24120, 24060, 24000, 23940, 23880, 23820, 23760, 23700, 23640, 23580, 23520, 23460, 23400, 23340, 23280, 23220, 23160, 23100, 23040, 22980, 22920, 22860, 22800, 22740, 22680, 22620, 22560, 22500, 22440, 22380, 22320, 22260, 22200, 22140, 22080, 22020, 21960, 21900, 21840, 21780, 21720, 21660, 21600, 21540, 21480, 21420, 21360, 21300, 21240, 21180, 21120, 21060, 21000, 20940, 20880, 20820, 20760, 20700, 20640, 20580, 20520, 20460, 20400, 20340, 20280, 20220, 20160, 20100, 20040, 19980, 19920, 19860, 19800, 19740, 19680, 19620, 19560, 19500, 19440, 19380, 19320, 19260, 19200, 19140, 19080, 19020, 18960, 18900, 18840, 18780, 18720, 18660, 18600, 18540, 18480, 18420, 18360, 18300, 18240, 18180, 18120, 18060, 18000, 17940, 17880, 17820, 17760, 17700, 17640, 17580, 17520, 17460, 17400, 17340, 17280, 17220, 17160, 17100, 17040, 16980, 16920, 16860, 16800, 16740, 16680, 16620, 16560, 16500, 16440, 16379, 16320, 16260, 16200, 16139, 16080, 16020, 15960, 15900, 15840, 15780, 15720, 15660, 15600, 15540, 15480, 15420, 15360, 15300, 15240, 15180, 15120, 15060, 15000, 14940, 14880, 14820, 14760, 14700, 14640, 14580, 14520, 14460, 14400, 14340, 14280, 14220, 14160, 14100, 14040, 13980, 13920, 13860, 13800, 13740, 13680, 13620, 13560, 13500, 13440, 13380, 13320, 13260, 13200, 13140, 13080, 13020, 12960, 12900, 12840, 12780, 12720, 12660, 12600, 12540, 12480, 12420, 12360, 12300, 12240, 12180, 12120, 12060, 12000, 11940, 11880, 11820, 11760, 11700, 11640, 11580, 11520, 11460, 11400, 11340, 11280, 11220, 11160, 11100, 11040, 10980, 10920, 10860, 10800, 10740, 10680, 10620, 10560, 10500, 10440, 10380, 10320, 10260, 10200, 10140, 10080, 10020, 9960, 9900, 9840, 9780, 9720, 9660, 9600, 9540, 9480, 9420, 9360, 9300, 9240, 9180, 9120, 9060, 9000, 8940, 8880, 8820, 8760, 8700, 8640, 8580, 8520, 8460, 8400, 8340, 8280, 8220, 8160, 8100, 8040, 7980, 7920, 7860, 7800, 7740, 7680, 7620, 7560, 7500, 7440, 7380, 7320, 7260, 7200, 7140, 7080, 7020, 6960, 6900, 6840, 6780, 6720, 6660, 6600, 6540, 6480, 6420, 6360, 6300, 6240, 6180, 6120, 6060, 6000, 5940, 5880, 5820, 5760, 5700, 5640, 5580, 5520, 5460, 5400, 5340, 5280, 5220, 5160, 5100, 5040, 4980, 4920, 4860, 4800, 4740, 4680, 4620, 4560, 4500, 4440, 4380, 4320, 4260, 4200, 4140, 4080, 4020, 3960, 3900, 3840, 3780, 3720, 3660, 3600, 3540, 3480, 3420, 3360, 3300, 3240, 3180, 3120, 3060, 3000, 2940, 2880, 2820, 2760, 2700, 2640, 2580, 2520, 2460, 2400, 2340, 2280, 2220, 2160, 2100, 2040, 1980, 1920, 1860, 1800, 1740, 1680, 1620, 1560, 1500, 1440, 1380, 1320, 1260, 1200, 1140, 1080, 1020, 960, 900, 840, 780, 720, 660, 600, 540, 480, 420, 360, 300, 240, 180, 120, 60, -0, -60, -120, -180, -240, -300, -360, -420, -480, -540, -600, -660, -720, -780, -840, -900, -960, -1020 }
altitudes of the bins (m)
Referenced by get_dardar_height().
const int DARDARFileData::nb_dardar_bin = 436 [static] |
Number of vertical bins of a DARDAR (MASK+CLOUD) profile (fixed)