25#include "AstUtil/StringView.hpp"
26#include "AstCore/TimePoint.hpp"
58 const std::string&
name()
const {
return name_; }
63 void setNoradId(
int id);
93 void setClassification(
char c);
95 void clearClassification();
104 void setMinInclination(
double v);
106 void setMaxInclination(
double v);
108 void clearMinInclination();
110 void clearMaxInclination();
121 void setMinEccentricity(
double v);
123 void setMaxEccentricity(
double v);
125 void clearMinEccentricity();
127 void clearMaxEccentricity();
138 void setMinMeanMotion(
double v);
140 void setMaxMeanMotion(
double v);
142 void clearMinMeanMotion();
144 void clearMaxMeanMotion();
155 void setMinBstar(
double v);
157 void setMaxBstar(
double v);
159 void clearMinBstar();
161 void clearMaxBstar();
176 bool matches(
const TLE& tle)
const;
179 bool isEmpty()
const;
184 bool hasNoradId_{
false};
185 TimePoint minEpoch_{};
186 TimePoint maxEpoch_{};
187 bool useMinEpoch_{
false};
188 bool useMaxEpoch_{
false};
189 char classification_{
'U'};
190 bool hasClassification_{
false};
191 double minInclination_{0.0};
192 double maxInclination_{0.0};
193 bool useMinInclination_{
false};
194 bool useMaxInclination_{
false};
195 double minEccentricity_{0.0};
196 double maxEccentricity_{0.0};
197 bool useMinEccentricity_{
false};
198 bool useMaxEccentricity_{
false};
199 double minMeanMotion_{0.0};
200 double maxMeanMotion_{0.0};
201 bool useMinMeanMotion_{
false};
202 bool useMaxMeanMotion_{
false};
203 double minBstar_{0.0};
204 double maxBstar_{0.0};
205 bool useMinBstar_{
false};
206 bool useMaxBstar_{
false};
TLE 数据库查询条件
定义 TLEDatabaseQuery.hpp:43
double maxBstar() const
获取最大 B*
定义 TLEDatabaseQuery.hpp:169
TLEDatabaseQuery()
默认构造(匹配所有条目)
bool useMaxEpoch() const
是否启用最晚历元过滤
定义 TLEDatabaseQuery.hpp:84
double maxEccentricity() const
获取最大偏心率
定义 TLEDatabaseQuery.hpp:135
bool useMinBstar() const
是否启用最小 B* 过滤
定义 TLEDatabaseQuery.hpp:163
double minEccentricity() const
获取最小偏心率
定义 TLEDatabaseQuery.hpp:133
double maxMeanMotion() const
获取最大平均运动 [rad/s]
定义 TLEDatabaseQuery.hpp:152
double minBstar() const
获取最小 B*
定义 TLEDatabaseQuery.hpp:167
const TimePoint & maxEpoch() const
获取最晚历元
定义 TLEDatabaseQuery.hpp:88
bool useMinEpoch() const
是否启用最早历元过滤
定义 TLEDatabaseQuery.hpp:82
bool useMinEccentricity() const
是否启用最小偏心率过滤
定义 TLEDatabaseQuery.hpp:129
const std::string & name() const
获取卫星名称过滤模式
定义 TLEDatabaseQuery.hpp:58
double minInclination() const
获取最小倾角 [弧度]
定义 TLEDatabaseQuery.hpp:116
double maxInclination() const
获取最大倾角 [弧度]
定义 TLEDatabaseQuery.hpp:118
int noradId() const
获取 NORAD 编号过滤值
定义 TLEDatabaseQuery.hpp:69
bool useMaxMeanMotion() const
是否启用最大平均运动过滤
定义 TLEDatabaseQuery.hpp:148
bool useMaxInclination() const
是否启用最大倾角过滤
定义 TLEDatabaseQuery.hpp:114
bool useMinMeanMotion() const
是否启用最小平均运动过滤
定义 TLEDatabaseQuery.hpp:146
bool useMaxBstar() const
是否启用最大 B* 过滤
定义 TLEDatabaseQuery.hpp:165
char classification() const
获取密级过滤值
定义 TLEDatabaseQuery.hpp:99
bool hasClassification() const
是否设置了密级过滤
定义 TLEDatabaseQuery.hpp:97
double minMeanMotion() const
获取最小平均运动 [rad/s]
定义 TLEDatabaseQuery.hpp:150
bool hasNoradId() const
是否设置了 NORAD 编号过滤
定义 TLEDatabaseQuery.hpp:67
bool useMaxEccentricity() const
是否启用最大偏心率过滤
定义 TLEDatabaseQuery.hpp:131
const TimePoint & minEpoch() const
获取最早历元
定义 TLEDatabaseQuery.hpp:86
bool useMinInclination() const
是否启用最小倾角过滤
定义 TLEDatabaseQuery.hpp:112
绝对时间点
定义 TimePoint.hpp:108