Я пытаюсь написать программное обеспечение на C ++, которое преобразует ECI-координаты спутника в определенное время в точку на 2D-карте Земли. Я знаю, что координаты ECI легко доступны из данных TLE. Но это ничего не говорит о том, какая конкретная точка широты и долготы на земле находится над спутником.
Мой вопрос: как узнать ориентацию Земли в конкретное время (время, когда был получен TLE, или в будущем после распространения по орбите)? А также, как вы учитываете эффекты прецессии и нутации при расчете будущих точек, чтобы достичь более высокой степени точности? Спасибо.
Это удивительно сложная проблема. Обычно это решается в два этапа:
Или, если вы хотите, вы можете просто использовать SConvert Library, который управляет всеми такими преобразованиями для вас. Он написан на родном C ++, так что это должно работать для вас.
Некоторые ресурсы:
В общем, преобразования координат не очень хорошо документированы в Интернете для такого рода вещей, поэтому вам может потребоваться найти книгу с указанными преобразованиями.
Других решений пока нет …