本文整理汇总了C++中EngEphemeris::setAccuracy方法的典型用法代码示例。如果您正苦于以下问题:C++ EngEphemeris::setAccuracy方法的具体用法?C++ EngEphemeris::setAccuracy怎么用?C++ EngEphemeris::setAccuracy使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EngEphemeris
的用法示例。
在下文中一共展示了EngEphemeris::setAccuracy方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: EngEphemeris
RinexNavData::operator EngEphemeris() const throw()
{
EngEphemeris ee;
// there's no TLM word in RinexNavData, so it's set to 0.
// likewise, there's no AS alert or tracker.
// Also, in Rinex, the accuracy is in meters, and setSF1 expects
// the accuracy flag. We'll give it zero and pass the accuracy
// separately via the setAccuracy() method.
ee.setSF1(0, HOWtime, 0, weeknum, codeflgs, 0, health,
short(IODC), L2Pdata, Tgd, Toc, af2, af1, af0, 0, PRNID);
ee.setSF2(0, HOWtime, 0, short(IODE), Crs, dn, M0, Cuc, ecc, Cus, Ahalf,
Toe, (fitint > 4) ? 1 : 0);
ee.setSF3(0, HOWtime, 0, Cic, OMEGA0, Cis, i0, Crc, w, OMEGAdot,
idot);
ee.setFIC(false);
ee.setAccuracy(accuracy);
return ee;
}
示例2: EngEphemeris
// Deprecated; use GPSEphemeris.
// Converts this Rinex3NavData to an EngEphemeris object.
Rinex3NavData::operator EngEphemeris() const throw()
{
EngEphemeris ee;
// There's no TLM word in Rinex3NavData, so it's set to 0.
// Likewise, there's no AS alert or tracker.
// Also, in RINEX, the accuracy is in meters, and setSF1 expects
// the accuracy flag. We'll give it zero and pass the accuracy
// separately via the setAccuracy() method.
ee.tlm_message[0] = 0;
ee.tlm_message[1] = 0;
ee.tlm_message[2] = 0;
ee.HOWtime[0] = HOWtime; // RINEX does not actually specify
ee.HOWtime[1] = HOWtime; // how the transmit time is derived. Therefore,
ee.HOWtime[2] = HOWtime; // These values may be misleading.
ee.ASalert[0] = 1; //AS and alert flags set to 1 (default)
ee.ASalert[1] = 1;
ee.ASalert[2] = 1;
ee.weeknum = weeknum;
ee.codeflags = codeflgs;
ee.health = health;
ee.IODC = short(IODC);
ee.L2Pdata = L2Pdata;
ee.Tgd = Tgd;
ee.tracker = 0;
ee.PRNID = PRNID;
ee.satSys = satSys;
bool healthy = false;
if (health == 0) healthy = true;
short accFlag = 0; //will be set later.
//BrcClockCorrection takes a flag, while EngEphemeris takes a double.
double toc = Toc;
double timeDiff =toc - ee.HOWtime[0];
short epochWeek = ee.weeknum;
if (timeDiff < -HALFWEEK) epochWeek++;
else if (timeDiff > HALFWEEK) epochWeek--;
CommonTime tocCT = GPSWeekSecond(epochWeek, Toc, TimeSystem::GPS);
// The observation ID has a type of navigation, but the
// carrier and code types are undefined. They could be
// L1/L2 C/A, P, Y,.....
ObsID obsID(ObsID::otNavMsg, ObsID::cbUndefined, ObsID::tcUndefined);
ee.bcClock.loadData( satSys, obsID, PRNID, tocCT,
accFlag, healthy, af0, af1, af2);
ee.IODE = short(IODE);
ee.fitint = (fitint > 4) ? 1 : 0;
//double toe = Toe; //?????
//Needed for modernized nav quatities
double A = Ahalf * Ahalf;
double dndot = 0.0;
double Adot = 0.0;
short fitHours = getLegacyFitInterval(ee.IODC, ee.fitint);
long beginFitSOW = Toe - (fitHours/2)*3600.0;
long endFitSOW = Toe + (fitHours/2)*3600.0;
short beginFitWk = ee.weeknum;
short endFitWk = ee.weeknum;
if (beginFitSOW < 0)
{
beginFitSOW += FULLWEEK;
beginFitWk--;
}
CommonTime beginFit = GPSWeekSecond(beginFitWk, beginFitSOW, TimeSystem::GPS);
if (endFitSOW >= FULLWEEK)
{
endFitSOW += FULLWEEK;
endFitWk++;
}
CommonTime endFit = GPSWeekSecond(endFitWk, endFitSOW, TimeSystem::GPS);
CommonTime toeCT = GPSWeekSecond(epochWeek, Toe, TimeSystem::GPS);
ee.orbit.loadData( satSys, obsID, PRNID, beginFit, endFit, toeCT,
accFlag, healthy, Cuc, Cus, Crc, Crs, Cic, Cis,
M0, dn, dndot, ecc, A, Ahalf, Adot, OMEGA0, i0,
w, OMEGAdot, idot);
ee.haveSubframe[0] = true; // need to be true to perform certain EngEphemeris functions
ee.haveSubframe[1] = true; // examples: ee.dump(), ee.setAccuracy()
ee.haveSubframe[2] = true;
ee.setAccuracy(accuracy);
return ee;
} // End of 'Rinex3NavData::operator EngEphemeris()'