![]() |
Earth Observation Mission CFI Software Visibility Software User Manual |
![]() |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.15 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 XV_DECL 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 void setScVisTimeStep(double timeStep) throw (CfiError); // AN-628 00106 00108 VisibilityList multiZonesVisTime( long startOrbit, long stopOrbit, 00109 const vector<string> &zoneId, string zoneDBFile, 00110 const vector<long> &projection, const vector<ZoneRec> &zoneRec, 00111 double minDuration, bool extraInfoFlag ) throw (CfiError); 00112 00114 VisibilityList multiStationsVisTime( long startOrbit,long stopOrbit, 00115 const vector<string> &staId, string staDBFile, 00116 const vector<double> &aosElevation, const vector<double> &losElevation, 00117 const vector<long> &mask, double minDuration, bool extraInfoFlag ) throw (CfiError); 00118 00120 vector<VisibilityList> mapping( long startOrbit, long stopOrbit, 00121 string zoneId, string zoneDBFile, 00122 long projection ) throw (CfiError); 00123 00125 vector<VisibilityList> mapping( long startOrbit, long stopOrbit, 00126 long projection, const ZoneRec &zoneRec ) throw (CfiError); 00127 00129 string genSwath( long requestedOrbit, string dirName, string swathFile, 00130 string fileClass, long versionNumber, string fhSystem ) throw (CfiError); 00131 00133 StfFile* genSwath( long requestedOrbit, const SdfFile &sdfFile ) throw (CfiError); 00134 00136 vector<Geodetic> getPos( const StfFile &stfFile, const ANXTime &anxTime ) throw(CfiError); 00137 00139 string genScf( string instrument, const VisibilityList &visList, const vector<ScfAppear> &scfApp, 00140 string dirName, string scfFileName, string fileClass, long versionNumber, 00141 string fhSystem ) throw(CfiError); 00142 00144 VisibilityList zoneVisTimeCompute(AttitudeDef &attDef, SwathId &swathId, 00145 ZoneInfoList &zoneInfoList, 00146 VisTimeInterval &searchInterval) throw (CfiError); // AN-468 00147 00149 VisibilityList stationVisTimeCompute(AttitudeDef &attDef, SwathId &swathId, 00150 StationInfoList &staInfoList, 00151 VisTimeInterval &searchInterval) throw (CfiError); // AN-468 00152 00154 vector<Geodetic> getPosCompute( SwathId &swathId, VisTime &posTime ) throw(CfiError); // AN-468 00155 00157 vector<VisibilityList> mappingCompute( SwathId &swathId, ZoneInfoList &zoneInfoList, 00158 VisTimeInterval &searchInterval) throw (CfiError); 00159 00160 protected: 00161 00162 private: 00163 00164 OrbitId orbitId; 00165 AtmosId atmosId; 00166 long swathFlag ; 00167 string swathFileName; 00168 00170 VisibilityList zoneVisTime( long startOrbit, long stopOrbit, 00171 long zoneFlag, 00172 string zoneId, string zoneDBFile, 00173 long projection, const ZoneRec &zoneRec, 00174 double minDuration ) throw (CfiError); 00175 00177 vector< VisibilityList> mapping( long startOrbit, long stopOrbit, 00178 bool zoneFlag, 00179 string zoneId, string zoneDBFile, 00180 long projection, const ZoneRec &zoneRec ) throw (CfiError); 00181 }; 00182 00183 } // closing namespace 00184 00185 #endif