bes Updated for version 3.20.10
HDFEOS2ArraySwathGeoDimMapExtraField.h
1
2// 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 <libdap/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.
21class 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