Go to the documentation of this file.
52 SatPassIterator::SatPassIterator(std::vector<SatPass>& splist,
bool rev,
54 : SPList(splist), timeReverse(rev),
debug(dbug)
68 vector<string> otlist;
69 for (i = 0; i <
SPList[0].labelForIndex.size(); i++)
71 otlist.push_back(
SPList[0].labelForIndex[i]);
87 for (i = 0; i <
SPList.size(); i++)
92 Exception e(
"Inconsistent time intervals: " +
153 LOG(
DEBUG4) <<
"reset - define map " << i <<
" for sat "
154 <<
SPList[i].sat <<
" at time "
155 <<
SPList[i].firstTime.printf(
"%4F %10.3g")
161 LOG(
DEBUG4) <<
"reset - turn off pass " << i <<
" for sat "
162 <<
SPList[i].sat <<
" at time "
163 <<
SPList[i].firstTime.printf(
"%4F %10.3g");
201 LOG(
INFO) <<
"SPIterator::next(map) - time "
203 <<
" size of listIndex " <<
listIndex.size();
212 LOG(
INFO) <<
"Return 0 from next()";
218 map<RinexSatID, int>::iterator kt;
225 LOG(
INFO) <<
" listIndex: " << kt->first <<
" " << kt->second;
236 LOG(
INFO) <<
"Loop over listIndex: " << sat <<
" " << i <<
" "
247 <<
" Erase this pass for bad status: index " << i
248 <<
" sat " << sat <<
" size is now " <<
listIndex.size();
260 LOG(
INFO) <<
"SPIterator::next(map) found sat " << sat
261 <<
" at index " << i;
271 <<
" This pass for sat " << sat <<
" is done ...";
283 LOG(
INFO) <<
" ... consider next pass " << k <<
" "
285 <<
SPList[k].firstTime.printf(
"%4F %10.3g");
332 <<
" at index " << i <<
" and time "
333 <<
SPList[i].firstTime.printf(
"%4F %10.3g");
351 LOG(
INFO) <<
" Erase this pass: index " << i <<
" sat " << sat
363 LOG(
INFO) <<
"End while loop over active SatPasses";
381 LOG(
INFO) <<
"Return 1 from next()";
403 map<unsigned int, unsigned int> indexMap;
404 map<unsigned int, unsigned int>::const_iterator kt;
405 int iret =
next(indexMap);
420 kt = indexMap.begin();
421 robs.
time =
SPList[kt->first].time(kt->second);
424 for (kt = indexMap.begin(); kt != indexMap.end(); kt++)
434 for (
int k = 0; k <
SPList[i].labelForIndex.size(); k++)
452 robs.
obs[sat][ot].data =
SPList[i].spdvector[j].data[k];
453 robs.
obs[sat][ot].lli =
SPList[i].spdvector[j].lli[k];
454 robs.
obs[sat][ot].ssi =
SPList[i].spdvector[j].ssi[k];
std::map< RinexSatID, int > listIndex
index of the current object in the list for this satellite
int currentN
count of the current epoch, = 0,1,...
RinexSatMap obs
the map of observations
std::string asString(IonexStoreStrategy e)
Convert a IonexStoreStrategy to a whitespace-free string name.
static const GNSSTK_EXPORT unsigned short BAD
flag indicating bad data
std::map< unsigned int, unsigned int > nextIndexMap
std::map< RinexSatID, int > countOffset
offset in count of the current object in the list for this satellite
std::vector< int > indexStatus
Epoch getFirstTime()
Get the first (earliest) time found in the SatPass list.
double clockOffset
optional clock offset
int next(std::map< unsigned int, unsigned int > &indexMap)
#define LOG(level)
define the macro that is used to write to the log stream
std::vector< SatPass > & SPList
reference to the vector of passes being processed
Epoch getLastTime()
Get the last (latest) time found in the SatPass list.
bool debug
if true, print debug info in nex()
bool timeReverse
if true, iterate in reverse time order
#define GNSSTK_THROW(exc)
std::map< RinexSatID, int > dataIndex
void reset(bool rev=false, bool dbug=false)
Restart the iteration, i.e. return to the initial time.
gnsstk::CommonTime time
the time corresponding to the observations
gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:41