53 void SatDataReader::loadData(
void)
63 formattedGetLine(line,
true);
68 FFStreamError e(
"Line too long");
75 formattedGetLine(line,
true);
78 std::string::size_type idx = line.find(
'#');
79 if( !(idx == std::string::npos) )
81 line = line.substr(0, idx);
87 formattedGetLine(line,
true);
118 sat.
system = SatelliteSystem::GPS;
122 if (block.substr(0, 3) ==
"GLO")
124 sat.
system = SatelliteSystem::Glonass;
149 data.launchDate.setTimeSystem(TimeSystem::Any);
150 data.deactivationDate.setTimeSystem(TimeSystem::Any);
178 void SatDataReader::open(
const char*
fn)
185 FFTextStream::open(
fn, std::ios::in);
196 void SatDataReader::open(
const std::string&
fn)
203 FFTextStream::open(
fn.c_str(), std::ios::in);
223 string SatDataReader::getBlock(
const SatID& sat,
228 pair<satDataIt, satDataIt>
range = SatelliteData.equal_range(sat);
240 if( (*iter).second.launchDate >
epoch )
246 while( (*iter).second.deactivationDate <
epoch )
252 if( (*iter).second.launchDate >
epoch )
258 return ((*iter).second.block);
273 int SatDataReader::getGPSNumber(
const SatID& sat,
278 pair<satDataIt, satDataIt>
range = SatelliteData.equal_range(sat);
290 if( (*iter).second.launchDate >
epoch )
296 while( (*iter).second.deactivationDate <
epoch )
302 if( (*iter).second.launchDate >
epoch )
308 return ((*iter).second.gpsNumber);
328 pair<satDataIt, satDataIt>
range = SatelliteData.equal_range(sat);
340 if( (*iter).second.launchDate >
epoch )
346 while( (*iter).second.deactivationDate <
epoch )
352 if( (*iter).second.launchDate >
epoch )
357 return ((*iter).second.launchDate);
378 pair<satDataIt, satDataIt>
range = SatelliteData.equal_range(sat);
390 if( (*iter).second.launchDate >
epoch )
396 while( (*iter).second.deactivationDate <
epoch )
402 if( (*iter).second.launchDate >
epoch )
407 return ((*iter).second.deactivationDate);