增加轨道模型模拟

pull/4/head
陈增辉 2025-02-13 12:10:52 +08:00
parent 9585c74111
commit 57ffed3e09
3 changed files with 8 additions and 6 deletions

View File

@ -53,8 +53,8 @@ RasterMainWidget::RasterMainWidget(QWidget *parent)
setupActions();
setRightToolbox();
mUi->panAction->trigger();
mUi->layerList->setCurrentItem(mLayerList.first());
//mUi->panAction->trigger();
//mUi->layerList->setCurrentItem(mLayerList.first());
}
RasterMainWidget::~RasterMainWidget() {

View File

@ -6,6 +6,7 @@
#include <QDate>
#include <QTime>
#include <QDateTime>
#include <BaseTool.h>
OrbitElements::OrbitElements() : semiMajorAxis(0), eccentricity(0), inclination(0),
longitudeOfAscendingNode(0), argumentOfPeriapsis(0), trueAnomaly(0) {}
@ -224,6 +225,7 @@ double OrbitEstimator::solveKeplerEquation(double M, double e) const {
/** ¶àÏîʽ¹ìµÀÄâºÏÄ£ÐÍ************************************************************************************/
void PolynomialOrbitModel::fitPolynomial(const QList<SatellitePos>& nodes, int degree) {
QList<double> times;
QList<double> positionsX;
QList<double> positionsY;
@ -242,7 +244,7 @@ void PolynomialOrbitModel::fitPolynomial(const QList<SatellitePos>& nodes, int d
velocitiesZ.append(node.Vz);
}
qDebug() << "fit degree " << degree;
coefficientsX = leastSquaresFit(times, positionsX, degree);
coefficientsY = leastSquaresFit(times, positionsY, degree);
@ -298,7 +300,7 @@ Eigen::VectorXd PolynomialOrbitModel::leastSquaresFit(const QList<double>& x, co
Eigen::Vector2d coefficients = A.colPivHouseholderQr().solve(b);
Eigen::VectorXd coefficients = A.colPivHouseholderQr().solve(b);
//Eigen::Vector2d coefficientsVector = Eigen::Vector2d::Zero(degree);
//coefficientsVector = coefficients.array();
return coefficients;
@ -616,7 +618,7 @@ QList<SatellitePos> loadNodesFromXml(const QString& filename) {
QDomElement paramElement = gpsParamNodes.at(i).toElement();
SatellitePos node;
node.time = paramElement.firstChildElement("TimeStamp").text().toDouble();
node.time = convertToMilliseconds(paramElement.firstChildElement("TimeStamp").text().toStdString());
node.Px = paramElement.firstChildElement("xPosition").text().toDouble();
node.Py = paramElement.firstChildElement("yPosition").text().toDouble();
node.Pz = paramElement.firstChildElement("zPosition").text().toDouble();

View File

@ -42,7 +42,7 @@ void QSimulationPolynomialSAROrbitModel::onpushButtonOrbitModelClicked(bool)
u8"xml Files (*.xml)"); // 文件类型过滤器
if (!fileName.isEmpty()) {
this->ui->gpsXmlPathEdit->setText(fileName);
this->ui->modelxmlPathEdit->setText(fileName);
}
else {
QMessageBox::information(this, u8"没有选择文件", u8"没有选择任何文件");