Earth Observation Mission CFI Software Visibility Software User Manual |
00001 //-------------------------------------------------------------------- 00002 // CVS Info: $Id: Swath.h,v 1.5 2009/04/13 13:50:28 expcfi Exp $ 00003 //-------------------------------------------------------------------- 00004 00005 #ifndef _SWATH_H 00006 #define _SWATH_H 00007 00008 //--INCLUDE----------------------------------------------------------- 00009 #include <vector> 00010 #include <string> 00011 00012 #include "VisibilityData.h" 00013 #include "CfiError.h" 00014 #include "OrbitId.h" 00015 #include "AtmosId.h" 00016 #include "ZoneRec.h" 00017 #include "VisibilityList.h" 00018 #include "Geodetic.h" 00019 #include "StfFile.h" 00020 #include "SdfFile.h" 00021 #include "StationRec.h" 00022 00023 //--NAMESPACES-------------------------------------------------------- 00024 using namespace std; 00025 00026 namespace EECFI 00027 { 00028 00032 class Swath: public CfiClass 00033 { 00034 public: 00035 00037 Swath(); 00038 00040 Swath( const OrbitId &orbitId, string swathFileName ) throw (CfiError); 00041 00043 Swath( const OrbitId &orbitId, long orbitNum, string swathFileName ) throw (CfiError); 00044 00046 ~Swath() throw (CfiError); 00047 00049 void set( const OrbitId &orbitId, string swathFileName ) throw (CfiError); 00050 00052 void set( const OrbitId &orbitId, long orbitNum, string swathFileName ) throw (CfiError); 00053 00055 void set( const AtmosId &atmosId ) throw (CfiError); 00056 00058 VisibilityList zoneVisTime( long startOrbit, long stopOrbit, 00059 string zoneId, string zoneDBFile, 00060 long projection, 00061 double minDuration ) throw (CfiError); 00062 00064 VisibilityList zoneVisTime( long startOrbit, long stopOrbit, 00065 long projection, const ZoneRec &zoneRec, 00066 double minDuration ) throw (CfiError); 00067 00069 VisibilityList zoneVisTime( long startOrbit, long stopOrbit, 00070 long projection, const StfFile &stfFile, 00071 const ZoneRec &zoneRec, 00072 double minDuration ) throw (CfiError); 00073 00075 VisibilityList stationVisTime( long startOrbit,long stopOrbit, 00076 string staId, string staDBFile, 00077 long mask, double aosElevation, double losElevation, 00078 double minDuration ) throw (CfiError); 00079 00081 VisibilityList stationVisTime( long startOrbit,long stopOrbit, 00082 const StfFile &stfFile, const StationRec &staRec, 00083 long mask, double aosElevation, double losElevation, 00084 double minDuration ) throw (CfiError); 00085 00087 VisibilityList multiZonesVisTime( long startOrbit, long stopOrbit, 00088 const vector<string> &zoneId, string zoneDBFile, 00089 const vector<long> &projection, const vector<ZoneRec> &zoneRec, 00090 double minDuration, bool extraInfoFlag ) throw (CfiError); 00091 00093 VisibilityList multiStationsVisTime( long startOrbit,long stopOrbit, 00094 const vector<string> &staId, string staDBFile, 00095 const vector<double> &aosElevation, const vector<double> &losElevation, 00096 const vector<long> &mask, double minDuration, bool extraInfoFlag ) throw (CfiError); 00097 00099 vector<VisibilityList> mapping( long startOrbit, long stopOrbit, 00100 string zoneId, string zoneDBFile, 00101 long projection ) throw (CfiError); 00102 00104 vector<VisibilityList> mapping( long startOrbit, long stopOrbit, 00105 long projection, const ZoneRec &zoneRec ) throw (CfiError); 00106 00108 string genSwath( long requestedOrbit, string dirName, string swathFile, 00109 string fileClass, long versionNumber, string fhSystem ) throw (CfiError); 00110 00112 StfFile* genSwath( long requestedOrbit, const SdfFile &sdfFile ) throw (CfiError); 00113 00115 vector<Geodetic> getPos( const StfFile &stfFile, const ANXTime &anxTime ) throw(CfiError); 00116 00118 string genScf( string instrument, const VisibilityList &visList, const vector<ScfAppear> &scfApp, 00119 string dirName, string scfFileName, string fileClass, long versionNumber, 00120 string fhSystem ) throw(CfiError); 00121 00122 protected: 00123 00124 private: 00125 00126 OrbitId orbitId; 00127 AtmosId atmosId; 00128 long swathFlag ; 00129 string swathFileName; 00130 00132 VisibilityList zoneVisTime( long startOrbit, long stopOrbit, 00133 long zoneFlag, 00134 string zoneId, string zoneDBFile, 00135 long projection, const ZoneRec &zoneRec, 00136 double minDuration ) throw (CfiError); 00137 00139 vector< VisibilityList> mapping( long startOrbit, long stopOrbit, 00140 bool zoneFlag, 00141 string zoneId, string zoneDBFile, 00142 long projection, const ZoneRec &zoneRec ) throw (CfiError); 00143 }; 00144 00145 } // closing namespace 00146 00147 #endif