Спасибо за ответ. Как понять где критерий истины?
Для расчёта я использовал библиотеку
http://www.zeptomoby.com/satellites/Какую лучше модель (sgp4,sgp8) использовать для расчёта эфемерид геостационаров?
Можете посмотреть свежим взглядом, может я где то ошибся или всё же библиотека глюченая.
cTle tleSGP4(key.toStdString(), mapTLE->value(key)[0].toStdString(),
mapTLE->value(key)[1].toStdString());
cSatellite satSGP4 = cSatellite(_tleSGP4);
// Время использую UTC
cJulian julian(time.date().year(), time.date().month(), time.date().day(),
time.time().hour(), time.time().minute(), time.time().second());
cEciTime eci = satSGP4.PositionEci(julian);
vector<cEci> vecPos;
vecPos.push_back(eci);
double t = julian.ToGmst();
// здесь перевожу ECI в ECEF (в метрах)
ECI2ECEF_POS(vecPos[0].Position().m_x * 1000.0,
vecPos[0].Position().m_y * 1000.0,
vecPos[0].Position().m_z * 1000.0,
t, x, y, z);
void ECI2ECEF_POS(double x, double y, double z,double t,
double &X, double &Y, double &Z)
{
double cos_s = cos(t);
double sin_s = sin(t);
X = x * cos_s + y * sin_s;
Y = -x * sin_s + y * cos_s;
Z = z;
}
В ECI И ECEF одинаковые, вот только они далеки от того что рассчитали вы.