增加了DEM重采样工具
parent
9f2eb2d577
commit
00d9fb3162
File diff suppressed because it is too large
Load Diff
|
|
@ -1,42 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<PolyfitSatelliteOribtModel>
|
|
||||||
<oribtStartTime>1.68716940499955272674560546875000000e+09</oribtStartTime>
|
|
||||||
<PolyfitParameters Pxchisq="527.283" Pychisq="1053.58" Pzchisq="1562.09" Vxchisq="0.00172575" Vychisq="0.0029282" Vzchisq="0.00312073">
|
|
||||||
<polyfitPx>
|
|
||||||
<Value>-1.86229e+06</Value>
|
|
||||||
<Value>3495.73</Value>
|
|
||||||
<Value>0.72946</Value>
|
|
||||||
<Value>-0.000779779</Value>
|
|
||||||
</polyfitPx>
|
|
||||||
<polyfitPy>
|
|
||||||
<Value>4.92261e+06</Value>
|
|
||||||
<Value>-3969.57</Value>
|
|
||||||
<Value>-2.9471</Value>
|
|
||||||
<Value>0.000688281</Value>
|
|
||||||
</polyfitPy>
|
|
||||||
<polyfitPz>
|
|
||||||
<Value>4.80358e+06</Value>
|
|
||||||
<Value>5408.93</Value>
|
|
||||||
<Value>-2.64701</Value>
|
|
||||||
<Value>-0.000989861</Value>
|
|
||||||
</polyfitPz>
|
|
||||||
<polyfitVx>
|
|
||||||
<Value>3495.74</Value>
|
|
||||||
<Value>1.45927</Value>
|
|
||||||
<Value>-0.002344</Value>
|
|
||||||
<Value>-1.59885e-07</Value>
|
|
||||||
</polyfitVx>
|
|
||||||
<polyfitVy>
|
|
||||||
<Value>-3969.58</Value>
|
|
||||||
<Value>-5.89791</Value>
|
|
||||||
<Value>0.00207178</Value>
|
|
||||||
<Value>1.18532e-06</Value>
|
|
||||||
</polyfitVy>
|
|
||||||
<polyfitVz>
|
|
||||||
<Value>5408.93</Value>
|
|
||||||
<Value>-5.29707</Value>
|
|
||||||
<Value>-0.00297335</Value>
|
|
||||||
<Value>9.77621e-07</Value>
|
|
||||||
</polyfitVz>
|
|
||||||
</PolyfitParameters>
|
|
||||||
</PolyfitSatelliteOribtModel>
|
|
||||||
|
|
@ -110,6 +110,7 @@
|
||||||
<ClCompile Include="BaseToolbox\GF3PSTNClass.cpp" />
|
<ClCompile Include="BaseToolbox\GF3PSTNClass.cpp" />
|
||||||
<ClCompile Include="BaseToolbox\QClipRasterByRowCols.cpp" />
|
<ClCompile Include="BaseToolbox\QClipRasterByRowCols.cpp" />
|
||||||
<ClCompile Include="BaseToolbox\QComplex2AmpPhase.cpp" />
|
<ClCompile Include="BaseToolbox\QComplex2AmpPhase.cpp" />
|
||||||
|
<ClCompile Include="BaseToolbox\QDEMResampleDialog.cpp" />
|
||||||
<ClCompile Include="BaseToolbox\QImportGF3StripL1ADataset.cpp" />
|
<ClCompile Include="BaseToolbox\QImportGF3StripL1ADataset.cpp" />
|
||||||
<ClCompile Include="BaseToolbox\QMergeRasterProcessDialog.cpp" />
|
<ClCompile Include="BaseToolbox\QMergeRasterProcessDialog.cpp" />
|
||||||
<ClCompile Include="BaseToolbox\QOrthSlrRaster.cpp" />
|
<ClCompile Include="BaseToolbox\QOrthSlrRaster.cpp" />
|
||||||
|
|
@ -127,6 +128,7 @@
|
||||||
<QtMoc Include="BaseToolbox\QOrthSlrRaster.h" />
|
<QtMoc Include="BaseToolbox\QOrthSlrRaster.h" />
|
||||||
<QtMoc Include="BaseToolbox\QRDOrthProcessClass.h" />
|
<QtMoc Include="BaseToolbox\QRDOrthProcessClass.h" />
|
||||||
<QtMoc Include="BaseToolbox\QMergeRasterProcessDialog.h" />
|
<QtMoc Include="BaseToolbox\QMergeRasterProcessDialog.h" />
|
||||||
|
<QtMoc Include="BaseToolbox\QDEMResampleDialog.h" />
|
||||||
<ClInclude Include="BaseToolbox\SatelliteGF3xmlParser.h" />
|
<ClInclude Include="BaseToolbox\SatelliteGF3xmlParser.h" />
|
||||||
<ClInclude Include="BaseToolbox\SateOrbit.h" />
|
<ClInclude Include="BaseToolbox\SateOrbit.h" />
|
||||||
<ClInclude Include="BaseToolbox\simptsn.h" />
|
<ClInclude Include="BaseToolbox\simptsn.h" />
|
||||||
|
|
@ -139,6 +141,7 @@
|
||||||
<QtUic Include="BaseToolbox\DEMLLA2XYZTool.ui" />
|
<QtUic Include="BaseToolbox\DEMLLA2XYZTool.ui" />
|
||||||
<QtUic Include="BaseToolbox\QClipRasterByRowCols.ui" />
|
<QtUic Include="BaseToolbox\QClipRasterByRowCols.ui" />
|
||||||
<QtUic Include="BaseToolbox\QComplex2AmpPhase.ui" />
|
<QtUic Include="BaseToolbox\QComplex2AmpPhase.ui" />
|
||||||
|
<QtUic Include="BaseToolbox\QDEMResampleDialog.ui" />
|
||||||
<QtUic Include="BaseToolbox\QImportGF3StripL1ADataset.ui" />
|
<QtUic Include="BaseToolbox\QImportGF3StripL1ADataset.ui" />
|
||||||
<QtUic Include="BaseToolbox\QMergeRasterProcessDialog.ui" />
|
<QtUic Include="BaseToolbox\QMergeRasterProcessDialog.ui" />
|
||||||
<QtUic Include="BaseToolbox\QOrthSlrRaster.ui" />
|
<QtUic Include="BaseToolbox\QOrthSlrRaster.ui" />
|
||||||
|
|
|
||||||
|
|
@ -91,6 +91,9 @@
|
||||||
<ClCompile Include="BaseToolbox\QMergeRasterProcessDialog.cpp">
|
<ClCompile Include="BaseToolbox\QMergeRasterProcessDialog.cpp">
|
||||||
<Filter>BaseToolbox</Filter>
|
<Filter>BaseToolbox</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="BaseToolbox\QDEMResampleDialog.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<QtMoc Include="BaseToolbox\DEMLLA2XYZTool.h">
|
<QtMoc Include="BaseToolbox\DEMLLA2XYZTool.h">
|
||||||
|
|
@ -117,6 +120,9 @@
|
||||||
<QtMoc Include="BaseToolbox\QMergeRasterProcessDialog.h">
|
<QtMoc Include="BaseToolbox\QMergeRasterProcessDialog.h">
|
||||||
<Filter>BaseToolbox</Filter>
|
<Filter>BaseToolbox</Filter>
|
||||||
</QtMoc>
|
</QtMoc>
|
||||||
|
<QtMoc Include="BaseToolbox\QDEMResampleDialog.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</QtMoc>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<QtUic Include="BaseToolbox\DEMLLA2XYZTool.ui">
|
<QtUic Include="BaseToolbox\DEMLLA2XYZTool.ui">
|
||||||
|
|
@ -140,5 +146,8 @@
|
||||||
<QtUic Include="BaseToolbox\QMergeRasterProcessDialog.ui">
|
<QtUic Include="BaseToolbox\QMergeRasterProcessDialog.ui">
|
||||||
<Filter>BaseToolbox</Filter>
|
<Filter>BaseToolbox</Filter>
|
||||||
</QtUic>
|
</QtUic>
|
||||||
|
<QtUic Include="BaseToolbox\QDEMResampleDialog.ui">
|
||||||
|
<Filter>Form Files</Filter>
|
||||||
|
</QtUic>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
@ -0,0 +1,114 @@
|
||||||
|
#include "QDEMResampleDialog.h"
|
||||||
|
#include "ui_QDEMResampleDialog.h"
|
||||||
|
#include <QFileDialog>
|
||||||
|
#include <QMessageBox>
|
||||||
|
#include <QDebug>
|
||||||
|
#include "ImageOperatorBase.h"
|
||||||
|
|
||||||
|
QDEMResampleDialog::QDEMResampleDialog(QWidget *parent)
|
||||||
|
: QDialog(parent),ui(new Ui::QDEMResampleDialogClass)
|
||||||
|
{
|
||||||
|
ui->setupUi(this);
|
||||||
|
connect(ui->dialogBtn, SIGNAL(accepted()), this, SLOT(onAccepted()));
|
||||||
|
connect(ui->dialogBtn, SIGNAL(rejected()), this, SLOT(onRejected()));
|
||||||
|
|
||||||
|
connect(ui->DEMWSG84SelectBtn, SIGNAL(clicked(bool)), this, SLOT(onDEMWSG84SelectBtnClicked(bool)));
|
||||||
|
connect(ui->outDEMSelectBtn, SIGNAL(clicked(bool)), this, SLOT(onoutDEMSelectBtnClicked(bool)));
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
QDEMResampleDialog::~QDEMResampleDialog()
|
||||||
|
{}
|
||||||
|
|
||||||
|
void QDEMResampleDialog::onDEMWSG84SelectBtnClicked(bool flag)
|
||||||
|
{
|
||||||
|
// 调用文件选择对话框并选择一个 .tif 文件
|
||||||
|
QString fileName = QFileDialog::getOpenFileName(this,
|
||||||
|
u8"DEM Raster Select", // 对话框标题
|
||||||
|
"", // 初始目录,可以设置为路径
|
||||||
|
u8"tiff Files (*.tiff);;tif Files (*.tif);;dat Files (*.dat);;All Files (*.*)"); // 文件类型过滤器
|
||||||
|
|
||||||
|
if (!fileName.isEmpty()) {
|
||||||
|
this->ui->lineEditDEMLLA->setText(fileName);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
QMessageBox::information(this, u8"没有选择文件", u8"没有选择任何文件");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void QDEMResampleDialog::onoutDEMSelectBtnClicked(bool flag)
|
||||||
|
{
|
||||||
|
// 调用文件选择对话框并选择一个 .tif 文件
|
||||||
|
QString fileName = QFileDialog::getSaveFileName(this,
|
||||||
|
u8"DEM Raster Select", // 对话框标题
|
||||||
|
"", // 初始目录,可以设置为路径
|
||||||
|
u8"tiff Files (*.tiff);;tif Files (*.tif);;dat Files (*.dat);;All Files (*.*)"); // 文件类型过滤器
|
||||||
|
|
||||||
|
if (!fileName.isEmpty()) {
|
||||||
|
this->ui->lineEditoutDEM->setText(fileName);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
QMessageBox::information(this, u8"没有选择文件", u8"没有选择任何文件");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void QDEMResampleDialog::onAccepted()
|
||||||
|
{
|
||||||
|
double gridx = ui->doubleSpinBoxGridX->value();
|
||||||
|
double gridy = ui->doubleSpinBoxGridY->value();
|
||||||
|
|
||||||
|
QString inDEMPath = ui->lineEditDEMLLA->text();
|
||||||
|
QString outDEMPath = ui->lineEditoutDEM->text();
|
||||||
|
|
||||||
|
gdalImage demimg(inDEMPath);
|
||||||
|
|
||||||
|
Eigen::MatrixXd srcgt = demimg.gt;
|
||||||
|
//
|
||||||
|
QString srcgtstr= "src gt\n";
|
||||||
|
srcgtstr += "----- src gt ------------------------------------\n";
|
||||||
|
srcgtstr += QString("%1 %2 %3\n").arg(srcgt(0, 0)).arg(srcgt(0, 1)).arg(srcgt(0, 2));
|
||||||
|
srcgtstr += QString("%1 %2 %3\n").arg(srcgt(1, 0)).arg(srcgt(1, 1)).arg(srcgt(1, 2));
|
||||||
|
srcgtstr += "-----------------------------------------\n";
|
||||||
|
|
||||||
|
double Xscale = gridx / srcgt(0, 1);
|
||||||
|
double Yscale = gridy / srcgt(1, 2);
|
||||||
|
|
||||||
|
int new_width = ceil(Xscale * demimg.width) + 1;
|
||||||
|
int new_height = ceil(Yscale * demimg.height) + 1;
|
||||||
|
|
||||||
|
srcgt(0, 1) = gridx;
|
||||||
|
srcgt(1, 2) = gridy;
|
||||||
|
|
||||||
|
|
||||||
|
srcgtstr = "target gt\n";
|
||||||
|
srcgtstr += "----- target gt ------------------------------------\n";
|
||||||
|
srcgtstr += QString("%1 %2 %3\n").arg(srcgt(0, 0)).arg(srcgt(0, 1)).arg(srcgt(0, 2));
|
||||||
|
srcgtstr += QString("%1 %2 %3\n").arg(srcgt(1, 0)).arg(srcgt(1, 1)).arg(srcgt(1, 2));
|
||||||
|
srcgtstr += "-----------------------------------------\n";
|
||||||
|
qDebug() << srcgtstr;
|
||||||
|
std::shared_ptr<double> gt(new double[6]);
|
||||||
|
gt.get()[0] = srcgt(0, 0);
|
||||||
|
gt.get()[1] = srcgt(0, 1);
|
||||||
|
gt.get()[2] = srcgt(0, 2);
|
||||||
|
gt.get()[3] = srcgt(1, 0);
|
||||||
|
gt.get()[4] = srcgt(1, 1);
|
||||||
|
gt.get()[5] = srcgt(1, 2);
|
||||||
|
|
||||||
|
qDebug() << "DEM ReSample start ...";
|
||||||
|
ResampleGDAL(inDEMPath.toLocal8Bit().constData(),
|
||||||
|
outDEMPath.toLocal8Bit().constData(), gt.get(), new_width, new_height, GDALResampleAlg::GRA_Bilinear);
|
||||||
|
|
||||||
|
qDebug() << "DEM ReSample finished!!!";
|
||||||
|
}
|
||||||
|
|
||||||
|
void QDEMResampleDialog::onRejected()
|
||||||
|
{
|
||||||
|
this->close();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <QDialog>
|
||||||
|
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
class QDEMResampleDialogClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class QDEMResampleDialog : public QDialog
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
QDEMResampleDialog(QWidget *parent = nullptr);
|
||||||
|
~QDEMResampleDialog();
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::QDEMResampleDialogClass* ui;
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
void onDEMWSG84SelectBtnClicked(bool flag);
|
||||||
|
void onoutDEMSelectBtnClicked(bool flag);
|
||||||
|
void onAccepted();
|
||||||
|
void onRejected();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
@ -0,0 +1,173 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>QDEMResampleDialogClass</class>
|
||||||
|
<widget class="QDialog" name="QDEMResampleDialogClass">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>600</width>
|
||||||
|
<height>252</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>QDEMResampleDialog</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QLineEdit" name="lineEditoutDEM">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QLineEdit" name="lineEditDEMLLA">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>输入DEM(WGS84):</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="2">
|
||||||
|
<widget class="QPushButton" name="DEMWSG84SelectBtn">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>选择</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="2">
|
||||||
|
<widget class="QPushButton" name="outDEMSelectBtn">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>选择</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>输出重采样DEM:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>参数</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_2">
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QDoubleSpinBox" name="doubleSpinBoxGridX">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>120</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QDoubleSpinBox" name="doubleSpinBoxGridY">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>120</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0" rowspan="2">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>GridX(度)</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>GridY(度)</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="2">
|
||||||
|
<spacer name="horizontalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QDialogButtonBox" name="dialogBtn">
|
||||||
|
<property name="standardButtons">
|
||||||
|
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<layoutdefault spacing="6" margin="11"/>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
#include "LookTableComputerClass.h"
|
||||||
|
#include "SatelliteOribtModel.h"
|
||||||
|
#include "SARSimulationTaskSetting.h"
|
||||||
|
|
||||||
|
#include <QDebug>
|
||||||
|
|
||||||
|
|
||||||
|
// dingy
|
||||||
|
|
||||||
|
|
||||||
|
namespace LookTableSimualtionMainProcessSpace {
|
||||||
|
void LookTableSimualtionMainProcess(QString orbitpath, QString SatePath, QString DEMPath, QString outDirPath,
|
||||||
|
double gridX, double gridY, bool gpuflag, bool looktableflag, bool checkBoxIncAngle, bool BoxDopplerFlag)
|
||||||
|
{
|
||||||
|
// 读取轨道模型
|
||||||
|
qDebug() << "load orbit model params from xml :" << orbitpath;
|
||||||
|
PolyfitSatelliteOribtModel orbitmodel;
|
||||||
|
orbitmodel.loadFromXml(orbitpath);
|
||||||
|
|
||||||
|
// 轨道参数
|
||||||
|
long double OribtStartTime = orbitmodel.getOribtStartTime();
|
||||||
|
std::vector<double> PolyfitPx = orbitmodel.getPolyfitPx();
|
||||||
|
std::vector<double> PolyfitPy = orbitmodel.getPolyfitPy();
|
||||||
|
std::vector<double> PolyfitPz = orbitmodel.getPolyfitPz();
|
||||||
|
std::vector<double> PolyfitVx = orbitmodel.getPolyfitVx();
|
||||||
|
std::vector<double> PolyfitVy = orbitmodel.getPolyfitVy();
|
||||||
|
std::vector<double> PolyfitVz = orbitmodel.getPolyfitVz();
|
||||||
|
|
||||||
|
|
||||||
|
// 参数模型
|
||||||
|
qDebug() << "load simulation setting params from xml :" << orbitpath;
|
||||||
|
std::shared_ptr<AbstractSARSatelliteModel> SARSetting = ReadSimulationSettingsXML(SatePath);
|
||||||
|
|
||||||
|
// 多普勒参数
|
||||||
|
double dopplerRefrenceTime = SARSetting->getDopplerParametersReferenceTime();
|
||||||
|
std::vector<double> DopplerCentroidCoefficients = SARSetting->getDopplerCentroidCoefficients();
|
||||||
|
std::vector<double> DopplerRateValuesCoefficient = SARSetting->getDopplerRateValuesCoefficients();
|
||||||
|
|
||||||
|
// 数据处理
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1,3 +1,29 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
#include <QString>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* QString orbitpath = this->ui->OrbitModelPathLineEdit->text();
|
||||||
|
QString SatePath = this->ui->SateSettingLineEdit->text();
|
||||||
|
QString DEMPath = this->ui->DEMLineEdit->text();
|
||||||
|
QString outDirPath = this->ui->outDirLineEdit->text();
|
||||||
|
|
||||||
|
double gridX = this->ui->doubleSpinBoxGridX->value();
|
||||||
|
double gridY = this->ui->doubleSpinBoxGridY->value();
|
||||||
|
|
||||||
|
bool gpuflag = this->ui->radioButtonGPU->isChecked();
|
||||||
|
bool looktableflag = this->ui->LookTableCheck->checkState();
|
||||||
|
bool checkBoxIncAngle = this->ui->checkBoxIncAngle->checkState();
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
namespace LookTableSimualtionMainProcessSpace {
|
||||||
|
void LookTableSimualtionMainProcess(QString orbitpath, QString SatePath, QString DEMPath, QString outDirPath
|
||||||
|
, double gridX, double gridY, bool gpuflag, bool looktableflag, bool checkBoxIncAngle, bool BoxDopplerFlag
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
#include "ui_QSimulationLookTableDialog.h"
|
#include "ui_QSimulationLookTableDialog.h"
|
||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
#include "LookTableComputerClass.h"
|
||||||
|
|
||||||
QSimulationLookTableDialog::QSimulationLookTableDialog(QWidget *parent)
|
QSimulationLookTableDialog::QSimulationLookTableDialog(QWidget *parent)
|
||||||
: QDialog(parent),ui(new Ui::QSimulationLookTableDialogClass)
|
: QDialog(parent),ui(new Ui::QSimulationLookTableDialogClass)
|
||||||
|
|
@ -93,11 +94,14 @@ void QSimulationLookTableDialog::onaccepted()
|
||||||
double gridY = this->ui->doubleSpinBoxGridY->value();
|
double gridY = this->ui->doubleSpinBoxGridY->value();
|
||||||
|
|
||||||
bool gpuflag = this->ui->radioButtonGPU->isChecked();
|
bool gpuflag = this->ui->radioButtonGPU->isChecked();
|
||||||
bool looktableflag = this->ui->LookTableCheck->checkState();
|
bool looktableflag = this->ui->LookTableCheck->isChecked();
|
||||||
bool checkBoxIncAngle = this->ui->checkBoxIncAngle->checkState();
|
bool checkBoxIncAngle = this->ui->checkBoxIncAngle->isChecked();
|
||||||
|
bool BoxDopplerFlag = this->ui->checkBoxDoppler->isChecked();
|
||||||
|
|
||||||
|
|
||||||
|
LookTableSimualtionMainProcessSpace::LookTableSimualtionMainProcess(
|
||||||
|
orbitpath, SatePath, DEMPath, outDirPath
|
||||||
|
, gridX, gridY, gpuflag, looktableflag, checkBoxIncAngle, BoxDopplerFlag
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,71 +14,7 @@
|
||||||
<string>QSimulationLookTableDialog</string>
|
<string>QSimulationLookTableDialog</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
<item row="4" column="1">
|
<item row="3" column="0">
|
||||||
<widget class="QGroupBox" name="groupBox">
|
|
||||||
<property name="title">
|
|
||||||
<string>产品参数设置</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QGridLayout" name="gridLayout_2">
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QLabel" name="label">
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>0</width>
|
|
||||||
<height>30</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>50</width>
|
|
||||||
<height>30</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Grid X</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0">
|
|
||||||
<widget class="QLabel" name="label_2">
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>0</width>
|
|
||||||
<height>30</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Grid Y</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QDoubleSpinBox" name="doubleSpinBoxGridX">
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>0</width>
|
|
||||||
<height>30</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="maximum">
|
|
||||||
<double>999999999.000000000000000</double>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="1">
|
|
||||||
<widget class="QDoubleSpinBox" name="doubleSpinBoxGridY">
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>0</width>
|
|
||||||
<height>30</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0">
|
|
||||||
<widget class="QLabel" name="label_3">
|
<widget class="QLabel" name="label_3">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
|
|
@ -91,7 +27,7 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="1">
|
<item row="3" column="1">
|
||||||
<widget class="QLineEdit" name="DEMLineEdit">
|
<widget class="QLineEdit" name="DEMLineEdit">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
|
|
@ -101,7 +37,7 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="1">
|
<item row="4" column="1">
|
||||||
<widget class="QLineEdit" name="outDirLineEdit">
|
<widget class="QLineEdit" name="outDirLineEdit">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
|
|
@ -140,20 +76,7 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="6" column="1">
|
<item row="3" column="2">
|
||||||
<spacer name="verticalSpacer">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Vertical</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>20</width>
|
|
||||||
<height>40</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="2">
|
|
||||||
<widget class="QPushButton" name="pushButtonDEM">
|
<widget class="QPushButton" name="pushButtonDEM">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
|
|
@ -166,6 +89,19 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="7" column="1">
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
<item row="1" column="1">
|
<item row="1" column="1">
|
||||||
<widget class="QLineEdit" name="SateSettingLineEdit">
|
<widget class="QLineEdit" name="SateSettingLineEdit">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
|
|
@ -205,7 +141,7 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="2">
|
<item row="4" column="2">
|
||||||
<widget class="QPushButton" name="pushButtonOutDir">
|
<widget class="QPushButton" name="pushButtonOutDir">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
|
|
@ -218,7 +154,7 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="0" rowspan="2">
|
<item row="5" column="0" rowspan="2">
|
||||||
<widget class="QGroupBox" name="groupBox_3">
|
<widget class="QGroupBox" name="groupBox_3">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>计算资源</string>
|
<string>计算资源</string>
|
||||||
|
|
@ -253,7 +189,7 @@
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="6" column="0">
|
<item row="7" column="0">
|
||||||
<spacer name="verticalSpacer_2">
|
<spacer name="verticalSpacer_2">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
|
|
@ -279,7 +215,7 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="5" column="1">
|
<item row="6" column="1">
|
||||||
<widget class="QGroupBox" name="groupBox_2">
|
<widget class="QGroupBox" name="groupBox_2">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>产品输出类型</string>
|
<string>产品输出类型</string>
|
||||||
|
|
@ -314,14 +250,14 @@
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="7" column="0" colspan="3">
|
<item row="8" column="0" colspan="3">
|
||||||
<widget class="QDialogButtonBox" name="buttonBox">
|
<widget class="QDialogButtonBox" name="buttonBox">
|
||||||
<property name="standardButtons">
|
<property name="standardButtons">
|
||||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="0">
|
<item row="4" column="0">
|
||||||
<widget class="QLabel" name="label_9">
|
<widget class="QLabel" name="label_9">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
|
|
@ -334,6 +270,16 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QCheckBox" name="checkBoxDoppler">
|
||||||
|
<property name="text">
|
||||||
|
<string>采用多普勒参数</string>
|
||||||
|
</property>
|
||||||
|
<property name="checked">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<layoutdefault spacing="6" margin="11"/>
|
<layoutdefault spacing="6" margin="11"/>
|
||||||
|
|
|
||||||
|
|
@ -312,6 +312,33 @@ void AbstractSARSatelliteModel::setGri(double gri)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
double AbstractSARSatelliteModel::getDopplerParametersReferenceTime()
|
||||||
|
{
|
||||||
|
return 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void AbstractSARSatelliteModel::setDopplerParametersReferenceTime(double time)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<double> AbstractSARSatelliteModel::getDopplerCentroidCoefficients()
|
||||||
|
{
|
||||||
|
return std::vector<double>();
|
||||||
|
}
|
||||||
|
|
||||||
|
void AbstractSARSatelliteModel::setDopplerCentroidCoefficients(std::vector<double> DopplerCentroids)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<double> AbstractSARSatelliteModel::getDopplerRateValuesCoefficients()
|
||||||
|
{
|
||||||
|
return std::vector<double>();
|
||||||
|
}
|
||||||
|
|
||||||
|
void AbstractSARSatelliteModel::setDopplerRateValuesCoefficients(std::vector<double> DopplerRateValues)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ErrorCode ReadSateGPSPointsXML(QString xmlPath, std::vector<SatelliteOribtNode>& nodes)
|
ErrorCode ReadSateGPSPointsXML(QString xmlPath, std::vector<SatelliteOribtNode>& nodes)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -209,6 +209,21 @@ public:
|
||||||
virtual double getGri();
|
virtual double getGri();
|
||||||
virtual void setPt(double Pt);
|
virtual void setPt(double Pt);
|
||||||
virtual void setGri(double gri);
|
virtual void setGri(double gri);
|
||||||
|
|
||||||
|
private:
|
||||||
|
double DopplerParametersReferenceTime;
|
||||||
|
std::vector<double> DopplerCentroidCoefficients;
|
||||||
|
std::vector<double> DopplerRateValuesCoefficients;
|
||||||
|
|
||||||
|
public:
|
||||||
|
virtual double getDopplerParametersReferenceTime() ;
|
||||||
|
virtual void setDopplerParametersReferenceTime(double time) ;
|
||||||
|
virtual std::vector<double> getDopplerCentroidCoefficients() ;
|
||||||
|
virtual void setDopplerCentroidCoefficients(std::vector<double> DopplerCentroids) ;
|
||||||
|
virtual std::vector<double> getDopplerRateValuesCoefficients() ;
|
||||||
|
virtual void setDopplerRateValuesCoefficients(std::vector<double> DopplerRateValues) ;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -193,6 +193,36 @@ void SARSimulationTaskSetting::setGri(double Ingri)
|
||||||
this->Gri = Ingri;
|
this->Gri = Ingri;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
double SARSimulationTaskSetting::getDopplerParametersReferenceTime()
|
||||||
|
{
|
||||||
|
return this->DopplerParametersReferenceTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
void SARSimulationTaskSetting::setDopplerParametersReferenceTime(double time)
|
||||||
|
{
|
||||||
|
this->DopplerParametersReferenceTime = time;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<double> SARSimulationTaskSetting::getDopplerCentroidCoefficients()
|
||||||
|
{
|
||||||
|
return this->DopplerCentroidCoefficients;
|
||||||
|
}
|
||||||
|
|
||||||
|
void SARSimulationTaskSetting::setDopplerCentroidCoefficients(std::vector<double> DopplerCentroids)
|
||||||
|
{
|
||||||
|
this->DopplerCentroidCoefficients = DopplerCentroids;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<double> SARSimulationTaskSetting::getDopplerRateValuesCoefficients()
|
||||||
|
{
|
||||||
|
return this->DopplerRateValuesCoefficients;
|
||||||
|
}
|
||||||
|
|
||||||
|
void SARSimulationTaskSetting::setDopplerRateValuesCoefficients(std::vector<double> DopplerRateValues)
|
||||||
|
{
|
||||||
|
this->DopplerRateValuesCoefficients = DopplerRateValues;
|
||||||
|
}
|
||||||
|
|
||||||
std::shared_ptr<AbstractSARSatelliteModel> ReadSimulationSettingsXML(QString xmlPath)
|
std::shared_ptr<AbstractSARSatelliteModel> ReadSimulationSettingsXML(QString xmlPath)
|
||||||
{
|
{
|
||||||
QDomDocument doc;
|
QDomDocument doc;
|
||||||
|
|
@ -238,6 +268,8 @@ std::shared_ptr<AbstractSARSatelliteModel> ReadSimulationSettingsXML(QString xml
|
||||||
QDomElement lookDirection = taskSensor.firstChildElement("lookDirection");
|
QDomElement lookDirection = taskSensor.firstChildElement("lookDirection");
|
||||||
QDomElement ptitem = taskSensor.firstChildElement("Pt");
|
QDomElement ptitem = taskSensor.firstChildElement("Pt");
|
||||||
QDomElement griitem = taskSensor.firstChildElement("Gri");
|
QDomElement griitem = taskSensor.firstChildElement("Gri");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (imagingMode.isNull() || radarCenterFrequency.isNull() || bandWidth.isNull()
|
if (imagingMode.isNull() || radarCenterFrequency.isNull() || bandWidth.isNull()
|
||||||
|| centerLookAngle.isNull() || prf.isNull() || polar.isNull()
|
|| centerLookAngle.isNull() || prf.isNull() || polar.isNull()
|
||||||
|
|
@ -294,6 +326,33 @@ std::shared_ptr<AbstractSARSatelliteModel> ReadSimulationSettingsXML(QString xml
|
||||||
isR = true;
|
isR = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 解析Dopper参数 DopplerParametersReferenceTime
|
||||||
|
QDomElement DopplerParametersReferenceTimeItem = taskSensor.firstChildElement("DopplerParametersReferenceTime");
|
||||||
|
QDomElement DopplerCentroidCoefficientItem = taskSensor.firstChildElement("DopplerCentroidCoefficients");
|
||||||
|
QDomElement DopplerRateValuesCoefficientItem = taskSensor.firstChildElement("DopplerRateValuesCoefficients");
|
||||||
|
|
||||||
|
// 处理多普勒读取
|
||||||
|
|
||||||
|
double dopplerRefrenceTime = DopplerParametersReferenceTimeItem.text().toDouble();
|
||||||
|
std::vector<double> DopplerCentroidCoefficients(5);
|
||||||
|
std::vector<double> DopplerRateValuesCoefficient(5);
|
||||||
|
|
||||||
|
DopplerCentroidCoefficients[0]= DopplerCentroidCoefficientItem.firstChildElement("d0").text().toDouble();
|
||||||
|
DopplerCentroidCoefficients[1]= DopplerCentroidCoefficientItem.firstChildElement("d1").text().toDouble();
|
||||||
|
DopplerCentroidCoefficients[2]= DopplerCentroidCoefficientItem.firstChildElement("d2").text().toDouble();
|
||||||
|
DopplerCentroidCoefficients[3]= DopplerCentroidCoefficientItem.firstChildElement("d3").text().toDouble();
|
||||||
|
DopplerCentroidCoefficients[4]= DopplerCentroidCoefficientItem.firstChildElement("d4").text().toDouble();
|
||||||
|
|
||||||
|
|
||||||
|
DopplerRateValuesCoefficient[0] = DopplerRateValuesCoefficientItem.firstChildElement("r0").text().toDouble();
|
||||||
|
DopplerRateValuesCoefficient[1] = DopplerRateValuesCoefficientItem.firstChildElement("r1").text().toDouble();
|
||||||
|
DopplerRateValuesCoefficient[2] = DopplerRateValuesCoefficientItem.firstChildElement("r2").text().toDouble();
|
||||||
|
DopplerRateValuesCoefficient[3] = DopplerRateValuesCoefficientItem.firstChildElement("r3").text().toDouble();
|
||||||
|
DopplerRateValuesCoefficient[4] = DopplerRateValuesCoefficientItem.firstChildElement("r4").text().toDouble();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
taskSetting->setRefphaseRange(refphaseRange.text().toDouble());
|
taskSetting->setRefphaseRange(refphaseRange.text().toDouble());
|
||||||
taskSetting->setCenterLookAngle(centerLookAngle.text().toDouble());
|
taskSetting->setCenterLookAngle(centerLookAngle.text().toDouble());
|
||||||
taskSetting->setSARImageStartTime(starttimestamp); // ³ÉÏñ¿ªÊ¼Ê±¼ä
|
taskSetting->setSARImageStartTime(starttimestamp); // ³ÉÏñ¿ªÊ¼Ê±¼ä
|
||||||
|
|
@ -307,5 +366,10 @@ std::shared_ptr<AbstractSARSatelliteModel> ReadSimulationSettingsXML(QString xml
|
||||||
taskSetting->setIsRightLook(isR);
|
taskSetting->setIsRightLook(isR);
|
||||||
taskSetting->setPt(ptitem.text().toDouble());
|
taskSetting->setPt(ptitem.text().toDouble());
|
||||||
taskSetting->setGri(griitem.text().toDouble());
|
taskSetting->setGri(griitem.text().toDouble());
|
||||||
|
taskSetting->setDopplerParametersReferenceTime(dopplerRefrenceTime);
|
||||||
|
taskSetting->setDopplerCentroidCoefficients(DopplerCentroidCoefficients);
|
||||||
|
taskSetting->setDopplerRateValuesCoefficients(DopplerRateValuesCoefficient);
|
||||||
|
|
||||||
|
|
||||||
return taskSetting;
|
return taskSetting;
|
||||||
}
|
}
|
||||||
|
|
@ -102,6 +102,23 @@ public:
|
||||||
virtual double getGri() override;
|
virtual double getGri() override;
|
||||||
virtual void setPt(double Pt) override;
|
virtual void setPt(double Pt) override;
|
||||||
virtual void setGri(double gri) override;
|
virtual void setGri(double gri) override;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
double DopplerParametersReferenceTime;
|
||||||
|
std::vector<double> DopplerCentroidCoefficients;
|
||||||
|
std::vector<double> DopplerRateValuesCoefficients;
|
||||||
|
|
||||||
|
public:
|
||||||
|
virtual double getDopplerParametersReferenceTime() override;
|
||||||
|
virtual void setDopplerParametersReferenceTime(double time) override;
|
||||||
|
virtual std::vector<double> getDopplerCentroidCoefficients() override;
|
||||||
|
virtual void setDopplerCentroidCoefficients(std::vector<double> DopplerCentroids) override;
|
||||||
|
virtual std::vector<double> getDopplerRateValuesCoefficients() override;
|
||||||
|
virtual void setDopplerRateValuesCoefficients(std::vector<double> DopplerRateValues) override;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
std::shared_ptr<AbstractSARSatelliteModel> ReadSimulationSettingsXML(QString xmlPath);
|
std::shared_ptr<AbstractSARSatelliteModel> ReadSimulationSettingsXML(QString xmlPath);
|
||||||
|
|
|
||||||
|
|
@ -548,3 +548,38 @@ bool PolyfitSatelliteOribtModel::loadFromXml(const QString& filePath) {
|
||||||
file.close();
|
file.close();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
long double PolyfitSatelliteOribtModel::getOribtStartTime()
|
||||||
|
{
|
||||||
|
return oribtStartTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<double> PolyfitSatelliteOribtModel::getPolyfitPx()
|
||||||
|
{
|
||||||
|
return polyfitPx;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<double> PolyfitSatelliteOribtModel::getPolyfitPy()
|
||||||
|
{
|
||||||
|
return polyfitPy;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<double> PolyfitSatelliteOribtModel::getPolyfitPz()
|
||||||
|
{
|
||||||
|
return polyfitPz;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<double> PolyfitSatelliteOribtModel::getPolyfitVx()
|
||||||
|
{
|
||||||
|
return polyfitVx;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<double> PolyfitSatelliteOribtModel::getPolyfitVy()
|
||||||
|
{
|
||||||
|
return polyfitVy;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<double> PolyfitSatelliteOribtModel::getPolyfitVz()
|
||||||
|
{
|
||||||
|
return polyfitVz;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -90,6 +90,16 @@ private:
|
||||||
double Pt; // 发射电压
|
double Pt; // 发射电压
|
||||||
double Gri;// 系统增益
|
double Gri;// 系统增益
|
||||||
|
|
||||||
|
public:
|
||||||
|
long double getOribtStartTime(); // 卫星模型参考时间
|
||||||
|
std::vector<double> getPolyfitPx(); // 空间坐标
|
||||||
|
std::vector<double> getPolyfitPy();
|
||||||
|
std::vector<double> getPolyfitPz();
|
||||||
|
std::vector<double> getPolyfitVx(); // 速度拟合参数
|
||||||
|
std::vector<double> getPolyfitVy();
|
||||||
|
std::vector<double> getPolyfitVz();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public: // 增加节点
|
public: // 增加节点
|
||||||
void addOribtNode(SatelliteOribtNode node);
|
void addOribtNode(SatelliteOribtNode node);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue