Earth Observation Mission CFI Software Visibility Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.10 00003 //-------------------------------------------------------- 00004 00005 //-------------------------------------------------------------------- 00006 // CVS Info: $Id: Swath.h,v 1.13 2014-02-20 20:02:37 cavm Exp $ 00007 //-------------------------------------------------------------------- 00008 00009 #ifndef _SWATH_H 00010 #define _SWATH_H 00011 00012 //--INCLUDE----------------------------------------------------------- 00013 #include <vector> 00014 #include <string> 00015 00016 #include "VisibilityData.h" 00017 #include "CfiError.h" 00018 #include "OrbitId.h" 00019 #include "AtmosId.h" 00020 #include "ZoneRec.h" 00021 #include "VisibilityList.h" 00022 #include "Geodetic.h" 00023 #include "StfFile.h" 00024 #include "SdfFile.h" 00025 #include "StationRec.h" 00026 #include "SatNomTransId.h" 00027 #include "SatTransId.h" 00028 #include "InstrTransId.h" 00029 #include "AttitudeDef.h" 00030 #include "SwathId.h" 00031 00032 //--NAMESPACES-------------------------------------------------------- 00033 using namespace std; 00034 00035 namespace EECFI 00036 { 00037 00041 class Swath: public CfiClass 00042 { 00043 public: 00044 00046 Swath(); 00047 00049 Swath( const OrbitId &orbitId, string swathFileName ) throw (CfiError); 00050 00052 Swath( const OrbitId &orbitId, long orbitNum, string swathFileName ) throw (CfiError); 00053 00055 ~Swath() throw (CfiError); 00056 00058 void set( const OrbitId &orbitId, string swathFileName ) throw (CfiError); 00059 00061 void set( const OrbitId &orbitId, long orbitNum, string swathFileName ) throw (CfiError); 00062 00064 void set( const AtmosId &atmosId ) throw (CfiError); 00065 00067 VisibilityList zoneVisTime( long startOrbit, long stopOrbit, 00068 string zoneId, string zoneDBFile, 00069 long projection, 00070 double minDuration ) throw (CfiError); 00071 00073 VisibilityList zoneVisTime( long startOrbit, long stopOrbit, 00074 long projection, const ZoneRec &zoneRec, 00075 double minDuration ) throw (CfiError); 00076 00078 VisibilityList zoneVisTime( long startOrbit, long stopOrbit, 00079 long projection, const StfFile &stfFile, 00080 const ZoneRec &zoneRec, 00081 double minDuration ) throw (CfiError); 00082 00084 VisibilityList stationVisTime( long startOrbit,long stopOrbit, 00085 string staId, string staDBFile, 00086 long mask, double aosElevation, double losElevation, 00087 double minDuration ) throw (CfiError); 00088 00090 VisibilityList stationVisTime( long startOrbit,long stopOrbit, 00091 const StfFile &stfFile, const StationRec &staRec, 00092 long mask, double aosElevation, double losElevation, 00093 double minDuration ) throw (CfiError); 00094 00097 VisibilityList scVisTime( const SatNomTransId &satNomTransId1, 00098 const SatTransId &satTransId1, const InstrTransId &instrTransId1, 00099 long startOrbit,long stopOrbit, 00100 const OrbitId &orbitId2, const SatNomTransId &satNomTransId2, 00101 const SatTransId &satTransId2, const InstrTransId &instrTransId2, 00102 LinkData &linkData, double minDuration ) throw (CfiError); // AN-430 00103 00105 VisibilityList multiZonesVisTime( long startOrbit, long stopOrbit, 00106 const vector<string> &zoneId, string zoneDBFile, 00107 const vector<long> &projection, const vector<ZoneRec> &zoneRec, 00108 double minDuration, bool extraInfoFlag ) throw (CfiError); 00109 00111 VisibilityList multiStationsVisTime( long startOrbit,long stopOrbit, 00112 const vector<string> &staId, string staDBFile, 00113 const vector<double> &aosElevation, const vector<double> &losElevation, 00114 const vector<long> &mask, double minDuration, bool extraInfoFlag ) throw (CfiError); 00115 00117 vector<VisibilityList> mapping( long startOrbit, long stopOrbit, 00118 string zoneId, string zoneDBFile, 00119 long projection ) throw (CfiError); 00120 00122 vector<VisibilityList> mapping( long startOrbit, long stopOrbit, 00123 long projection, const ZoneRec &zoneRec ) throw (CfiError); 00124 00126 string genSwath( long requestedOrbit, string dirName, string swathFile, 00127 string fileClass, long versionNumber, string fhSystem ) throw (CfiError); 00128 00130 StfFile* genSwath( long requestedOrbit, const SdfFile &sdfFile ) throw (CfiError); 00131 00133 vector<Geodetic> getPos( const StfFile &stfFile, const ANXTime &anxTime ) throw(CfiError); 00134 00136 string genScf( string instrument, const VisibilityList &visList, const vector<ScfAppear> &scfApp, 00137 string dirName, string scfFileName, string fileClass, long versionNumber, 00138 string fhSystem ) throw(CfiError); 00139 00141 VisibilityList zoneVisTimeCompute(AttitudeDef &attDef, SwathId &swathId, 00142 ZoneInfoList &zoneInfoList, 00143 VisTimeInterval &searchInterval) throw (CfiError); // AN-468 00144 00146 VisibilityList stationVisTimeCompute(AttitudeDef &attDef, SwathId &swathId, 00147 StationInfoList &staInfoList, 00148 VisTimeInterval &searchInterval) throw (CfiError); // AN-468 00149 00151 vector<Geodetic> getPosCompute( SwathId &swathId, VisTime &posTime ) throw(CfiError); // AN-468 00152 00154 vector<VisibilityList> mappingCompute( SwathId &swathId, ZoneInfoList &zoneInfoList, 00155 VisTimeInterval &searchInterval) throw (CfiError); 00156 00157 protected: 00158 00159 private: 00160 00161 OrbitId orbitId; 00162 AtmosId atmosId; 00163 long swathFlag ; 00164 string swathFileName; 00165 00167 VisibilityList zoneVisTime( long startOrbit, long stopOrbit, 00168 long zoneFlag, 00169 string zoneId, string zoneDBFile, 00170 long projection, const ZoneRec &zoneRec, 00171 double minDuration ) throw (CfiError); 00172 00174 vector< VisibilityList> mapping( long startOrbit, long stopOrbit, 00175 bool zoneFlag, 00176 string zoneId, string zoneDBFile, 00177 long projection, const ZoneRec &zoneRec ) throw (CfiError); 00178 }; 00179 00180 } // closing namespace 00181 00182 #endif