bes  Updated for version 3.20.6
HDFEOS2ArraySwathGeoDimMapExtraField.h
1 // Retrieves the latitude and longitude of the HDF-EOS2 Swath with dimension map
3 // Authors: MuQun Yang <myang6@hdfgroup.org>
4 // Copyright (c) 2010-2012 The HDF Group
6 // SOME MODIS products provide the latitude and longitude files for
7 // swaths using dimension map. The files are still HDF-EOS2 files.
8 // The file name is determined at hdfdesc.cc.
9 #ifdef USE_HDFEOS2_LIB
10 #ifndef HDFEOS2ARRAY_SWATHGEODIMMAPEXTRAFIELD_H
11 #define HDFEOS2ARRAY_SWATHGEODIMMAPEXTRAFIELD_H
12 
13 #include "Array.h"
14 #include "mfhdf.h"
15 #include "hdf.h"
16 #include "HdfEosDef.h"
17 
18 
19 // swathname is not provided because the additional geo-location file uses
20 // a different swath name.
21 class HDFEOS2ArraySwathGeoDimMapExtraField:public libdap::Array
22 {
23  public:
24  HDFEOS2ArraySwathGeoDimMapExtraField (int rank, const std::string & filename, const std::string & fieldname, const string & n = "", libdap::BaseType * v = 0):
25  libdap::Array (n, v), rank (rank), filename (filename), fieldname (fieldname) {
26  }
27  virtual ~ HDFEOS2ArraySwathGeoDimMapExtraField ()
28  {
29  }
30 
31  // Standard way to pass the coordinates of the subsetted region from the client to the handlers
32  int format_constraint (int *cor, int *step, int *edg);
33 
34  libdap::BaseType *ptr_duplicate ()
35  {
36  return new HDFEOS2ArraySwathGeoDimMapExtraField (*this);
37  }
38 
39  // Read the data
40  virtual bool read ();
41 
42  private:
43 
44  // Field array rank
45  int rank;
46 
47  // HDF-EOS2 file name
48  std::string filename;
49 
50  // HDF-EOS2 field name
51  std::string fieldname;
52 };
53 
54 
55 #endif
56 #endif
libdap
Definition: BESDapFunctionResponseCache.h:35