modis_dataset.h
Go to the documentation of this file.
1 #ifndef __modis_dataset__
2 #define __modis_dataset__
3 
4 // STL
5 #include <map>
6 #include <string>
7 #include <vector>
8 
9 // Boost
10 #include <boost/date_time/gregorian/gregorian_types.hpp>
11 #include <boost/noncopyable.hpp>
12 #include <boost/shared_ptr.hpp>
13 
14 namespace te
15 {
16  namespace rst
17  {
18  class Grid;
19  }
20 }
21 
22 class modis_dataset: public boost::noncopyable
23 {
24  public:
25 
26  modis_dataset(const std::map <std::string, std::map <std::string, std::string > >& tile_idx,
27  const std::string subdataset_prefix,
28  const std::string subdataset_suffix,
29  std::size_t max_pixel_cache_size = 2,
30  std::size_t max_block_cache_size = 1,
31  std::size_t max_raster_cache_size = 1);
32 
33  ~modis_dataset();
34 
35  void query(const double& longitude, const double& latitude,
36  const unsigned char** values,
37  const std::vector<boost::gregorian::date>** times) const;
38 
39  int data_type() const;
40 
41  const te::rst::Grid* grid() const;
42 
43  private:
44 
45  class impl;
46 
47  impl* m_pimpl;
48 };
49 
50 typedef boost::shared_ptr<modis_dataset> modis_dataset_ptr;
51 
52 #endif // __modis_dataset__
53 
URI C++ Library.
Definition: Attributes.h:37
std::complex< double > times(std::complex< double > lhs, std::complex< double > rhs)
A rectified grid is the spatial support for raster data.
Definition: raster/Grid.h:68
boost::shared_ptr< modis_dataset > modis_dataset_ptr
Definition: modis_dataset.h:50