Я новичок в космической механике и преобразовании координат. Мне нужно преобразовать координаты системы, ориентированной на землю, в координаты, привязанные к земле и Земле (ECEF или ECR). Я нашел библиотеку SConvert.
В функции makeEciToEcrMatrix
, кто создает матрицу Эйлера, мы имеем первый аргумент как время * угловая скорость Земли (рад / с). И мой вопрос: который час? Какова его ценность? Это количество секунд от 1 января 1970 года, или 1 января 2000 года, или что-то еще?
В орбитальной механике решение орбиты генерируется путем интегрирования уравнений движения спутника. Эта интеграция осуществляется в инерциальной системе координат (ECI). Чтобы сделать решение орбиты более полезным и удобным для пользователя, оно обычно преобразуется в фиксированную систему координат Земли (EFEC). Для этого вам нужна информация о возмущении Земли, нутации, вращении Земли и информации о полярном движении. Вся эта информация требует времени в качестве входного параметра. Время обычно основано на атомных часах. Обычно unix time system, основанная на 1 января 1970 года, не используется. Это может быть 1 января 2000 года. (Например, в НАСА J2K широко используется шкала времени.) Но это может быть другой масштаб времени, но в конечном итоге он должен быть преобразован в надлежащий масштаб времени, в котором каждая информация о вращении Земли (Прецессия, Нутация) , Вращение, Полярное движение) сформулировано или сведено в таблицу.
В любом случае, в вашем случае, если у вас уже есть решение орбиты ECI, это означает, что у вас есть ti, Xi, Yi, Zi, Ui, Vi, Wi в каждый момент времени. Вы можете предоставить тот же ti для преобразования системы координат. Надлежащее преобразование времени должно выполняться внутри функции, которую вы вызываете.
Других решений пока нет …