🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
ast::EOP类 参考

#include <EOP.hpp>

struct  Entry
 

Public 成员函数

errc_t loadDefault ()
 
errc_t load (StringView filepath)
 
void unload ()
 
size_t size () const
 
const EntrygetEntry (int mjd) const
 
errc_t setEntry (int mjd, const Entry &entry)
 
double getUT1MinusUTC (const TimePoint &tp) const
 
double getUT1MinusUTC_UTC (const JulianDate &jdUTC) const
 
double getUT1MinusUTC_UTCMJD (double mjdUTC) const
 
void getPoleMotion (const TimePoint &tp, double &x, double &y) const
 
void getPoleMotionUTC (const JulianDate &jdUTC, double &x, double &y) const
 
void getPoleMotionUTCMJD (double mjdUTC, double &x, double &y) const
 
double getLOD (const TimePoint &tp) const
 
double getLOD_UTC (const JulianDate &jdUTC) const
 
double getLOD_UTCMJD (double mjdUTC) const
 
void getXYCorrection (const TimePoint &tp, array2d &xyCorrection) const
 
void getXYCorrectionUTC (const JulianDate &jdUTC, array2d &xyCorrection) const
 
void getXYCorrectionUTCMJD (double mjdUTC, array2d &xyCorrection) const
 

静态 Public 成员函数

static errc_t load (StringView filepath, std::vector< Entry > &data)
 

Protected 成员函数

template<double Entry::* Member>
A_ALWAYS_INLINE double getValue (size_t index, double frac) const
 
void findEntryIndex (double mjdUTC, int &index, double &frac) const
 

Protected 属性

std::vector< Entrym_data
 
int m_startMJD = 0
 
int m_endMJD = 0
 

详细描述

地球指向参数(Earth Orientation Parameters)

支持加载从Celestrak网站下载的EOP数据文件。 根据当前时间查询MJD、闰秒、极移、ut1-utc、length of day、章动修正、XYS系数修正等参数。 在查询时,会根据当前时间点的MJD值,线性插值获取最近的两个条目

参见
https://celestrak.org/SpaceData/EOP-format.php

成员函数说明

◆ findEntryIndex()

void ast::EOP::findEntryIndex ( double mjdUTC,
int & index,
double & frac ) const
protected

查找时间点对应的索引和插值系数

查找时间点对应的索引和插值系数,用于线性插值。

参数
mjdUTC时间点(UTC)的MJD值
index索引
frac插值系数

◆ getEntry()

const EOP::Entry * ast::EOP::getEntry ( int mjd) const

获取指定MJD的EOP条目

参数
mjd简约儒略日
返回
EOP条目

◆ getLOD()

double ast::EOP::getLOD ( const TimePoint & tp) const

获取LOD值

线性插值获取指定时间点的LOD值。

参数
tp时间点
返回
LOD值

◆ getLOD_UTC()

double ast::EOP::getLOD_UTC ( const JulianDate & jdUTC) const

获取LOD值(UTC)

线性插值获取指定时间点的LOD值(UTC)。

参数
jdUTC时间点(UTC)
返回
LOD值

◆ getLOD_UTCMJD()

double ast::EOP::getLOD_UTCMJD ( double mjdUTC) const

获取LOD值(UTC)

线性插值获取指定时间点的LOD值(UTC)。

参数
mjdUTC时间点(UTC)的MJD值
返回
LOD值

◆ getPoleMotion()

void ast::EOP::getPoleMotion ( const TimePoint & tp,
double & x,
double & y ) const

获取极移

线性插值获取指定时间点的极移。

参数
tp时间点
pm极移

◆ getPoleMotionUTC()

void ast::EOP::getPoleMotionUTC ( const JulianDate & jdUTC,
double & x,
double & y ) const

获取极移(UTC)

线性插值获取指定时间点的极移(UTC)。

参数
jdUTC时间点(UTC)
pm极移

◆ getPoleMotionUTCMJD()

void ast::EOP::getPoleMotionUTCMJD ( double mjdUTC,
double & x,
double & y ) const

获取极移(UTC)

线性插值获取指定时间点的极移(UTC)。

参数
mjdUTC时间点(UTC)的MJD值
pm极移

◆ getUT1MinusUTC()

double ast::EOP::getUT1MinusUTC ( const TimePoint & tp) const

获取ut1-utc值

线性插值获取指定时间点的ut1-utc值。

参数
tp时间点
返回
ut1-utc值

◆ getUT1MinusUTC_UTC()

double ast::EOP::getUT1MinusUTC_UTC ( const JulianDate & jdUTC) const

获取ut1-utc值

线性插值获取指定时间点的ut1-utc值。

参数
jdUTC时间点(UTC)
返回
ut1-utc值

◆ getUT1MinusUTC_UTCMJD()

double ast::EOP::getUT1MinusUTC_UTCMJD ( double mjdUTC) const

获取ut1-utc值

线性插值获取指定时间点的ut1-utc值。

参数
mjdUTC时间点(UTC)的MJD值
返回
ut1-utc值

◆ getValue()

template<double Entry::* Member>
A_ALWAYS_INLINE double ast::EOP::getValue ( size_t index,
double frac ) const
inlineprotected

获取指定索引和插值系数的成员值

获取指定索引和插值系数的成员值,用于线性插值。

参数
index索引
frac插值系数
返回
成员值

◆ getXYCorrection()

void ast::EOP::getXYCorrection ( const TimePoint & tp,
array2d & xyCorrection ) const

获取IAU XY修正项

线性插值获取指定时间点的IAU XY修正项。

参数
tp时间点
xyCorrection修正项

◆ getXYCorrectionUTC()

void ast::EOP::getXYCorrectionUTC ( const JulianDate & jdUTC,
array2d & xyCorrection ) const

获取IAU XY修正项(UTC)

线性插值获取指定时间点的IAU XY修正项(UTC)。

参数
jdUTC时间点(UTC)
xyCorrection修正项

◆ getXYCorrectionUTCMJD()

void ast::EOP::getXYCorrectionUTCMJD ( double mjdUTC,
array2d & xyCorrection ) const

获取IAU XY修正项(UTC)

线性插值获取指定时间点的IAU XY修正项(UTC)。

参数
mjdUTC时间点(UTC)的MJD值
xyCorrection修正项

◆ load() [1/2]

errc_t ast::EOP::load ( StringView filepath)

加载EOP数据

参数
filepath文件路径
返回
错误码

◆ load() [2/2]

errc_t ast::EOP::load ( StringView filepath,
std::vector< Entry > & data )
static

加载EOP数据

参数
filepath文件路径
data数据容器
返回
错误码

◆ loadDefault()

errc_t ast::EOP::loadDefault ( )

加载默认EOP数据

加载默认EOP数据,路径为 /SolarSystem/Earth/EOP-All.txt。

返回
错误码

◆ setEntry()

errc_t ast::EOP::setEntry ( int mjd,
const Entry & entry )

设置指定MJD的EOP条目

参数
mjd简约儒略日
entryEOP条目
返回
错误码

该类的文档由以下文件生成: