Archived
1. be able to calculate the sat pos of BDS & Galileo 2. be able to Single postiting by GPS & Galileo
34 lines
834 B
C
34 lines
834 B
C
#ifndef _2GPST_H_
|
|
#define _2GPST_H_
|
|
|
|
/* -------------------------------------------------------------------------- */
|
|
/// @brief convert UTC to GPS Second of week
|
|
/// @param y year
|
|
/// @param m month
|
|
/// @param d day
|
|
/// @param h hour
|
|
/// @param min minute
|
|
/// @param sec second
|
|
/// @return return GPS Second of week
|
|
/* -------------------------------------------------------------------------- */
|
|
double Time2Weeksec(int y, int m, int d, double h, int min, double sec)
|
|
{
|
|
if (m > 2)
|
|
{
|
|
y = y;
|
|
m = m;
|
|
}
|
|
if (m <= 2)
|
|
{
|
|
y = y - 1;
|
|
m = m + 12;
|
|
}
|
|
h = h + min/60.0 + sec/3600.0;
|
|
double JD = (int)(365.25 * y) + (int)(30.6001 * (m + 1)) + d + h/24.0 + 1720981.5;
|
|
double MJD = JD - 2400000.5;
|
|
int gpsweek = (int)((MJD - 44244) / 7);
|
|
double secofweek = (MJD - 44244.0 - gpsweek * 7.0) * 86400.0;
|
|
return secofweek;
|
|
}
|
|
|
|
#endif |