![]() |
Earth Observation Mission CFI Software Visibility Software User Manual |
![]() |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.17 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 00107 00110 VisibilityList celestialBodyVisTime( const SatNomTransId &satNomTransId1, 00111 const SatTransId &satTransId1, const InstrTransId &instrTransId1, 00112 long startOrbit,long stopOrbit, 00113 long celestialBody_type, // XVTypeCelestialBodyEnum 00114 LinkData &linkData, double minDuration ) throw (CfiError); // AN-677 00115 00116 00118 VisibilityList multiZonesVisTime( long startOrbit, long stopOrbit, 00119 const vector<string> &zoneId, string zoneDBFile, 00120 const vector<long> &projection, const vector<ZoneRec> &zoneRec, 00121 double minDuration, bool extraInfoFlag ) throw (CfiError); 00122 00124 VisibilityList multiStationsVisTime( long startOrbit,long stopOrbit, 00125 const vector<string> &staId, string staDBFile, 00126 const vector<double> &aosElevation, const vector<double> &losElevation, 00127 const vector<long> &mask, double minDuration, bool extraInfoFlag ) throw (CfiError); 00128 00130 vector<VisibilityList> mapping( long startOrbit, long stopOrbit, 00131 string zoneId, string zoneDBFile, 00132 long projection ) throw (CfiError); 00133 00135 vector<VisibilityList> mapping( long startOrbit, long stopOrbit, 00136 long projection, const ZoneRec &zoneRec ) throw (CfiError); 00137 00139 string genSwath( long requestedOrbit, string dirName, string swathFile, 00140 string fileClass, long versionNumber, string fhSystem ) throw (CfiError); 00141 00143 StfFile* genSwath( long requestedOrbit, const SdfFile &sdfFile ) throw (CfiError); 00144 00146 vector<Geodetic> getPos( const StfFile &stfFile, const ANXTime &anxTime ) throw(CfiError); 00147 00149 string genScf( string instrument, const VisibilityList &visList, const vector<ScfAppear> &scfApp, 00150 string dirName, string scfFileName, string fileClass, long versionNumber, 00151 string fhSystem ) throw(CfiError); 00152 00154 VisibilityList zoneVisTimeCompute(AttitudeDef &attDef, SwathId &swathId, 00155 ZoneInfoList &zoneInfoList, 00156 VisTimeInterval &searchInterval) throw (CfiError); // AN-468 00157 00159 VisibilityList stationVisTimeCompute(AttitudeDef &attDef, SwathId &swathId, 00160 StationInfoList &staInfoList, 00161 VisTimeInterval &searchInterval) throw (CfiError); // AN-468 00162 00164 vector<Geodetic> getPosCompute( SwathId &swathId, VisTime &posTime ) throw(CfiError); // AN-468 00165 00167 vector<VisibilityList> mappingCompute( SwathId &swathId, ZoneInfoList &zoneInfoList, 00168 VisTimeInterval &searchInterval) throw (CfiError); 00169 00170 protected: 00171 00172 private: 00173 00174 OrbitId orbitId; 00175 AtmosId atmosId; 00176 long swathFlag ; 00177 string swathFileName; 00178 00180 VisibilityList zoneVisTime( long startOrbit, long stopOrbit, 00181 long zoneFlag, 00182 string zoneId, string zoneDBFile, 00183 long projection, const ZoneRec &zoneRec, 00184 double minDuration ) throw (CfiError); 00185 00187 vector< VisibilityList> mapping( long startOrbit, long stopOrbit, 00188 bool zoneFlag, 00189 string zoneId, string zoneDBFile, 00190 long projection, const ZoneRec &zoneRec ) throw (CfiError); 00191 }; 00192 00193 } // closing namespace 00194 00195 #endif