Skip to content

Commit

Permalink
aggiunte statistical summary
Browse files Browse the repository at this point in the history
  • Loading branch information
AtenaNiaziNasihati committed Jan 16, 2025
1 parent 6706c4f commit 30fe11a
Show file tree
Hide file tree
Showing 3 changed files with 96 additions and 2 deletions.
8 changes: 7 additions & 1 deletion agrolib/commonDialogs/formSelectionSource.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,12 @@ FormSelectionSource::FormSelectionSource()

gridButton = new QRadioButton(tr("Meteo Grid"));
pointButton =new QRadioButton(tr("Meteo Points"));
interpolationButton =new QRadioButton(tr("Interpolation Raster"));

QHBoxLayout *sourceLayout = new QHBoxLayout;
sourceLayout->addWidget(gridButton);
sourceLayout->addWidget(pointButton);
sourceLayout->addWidget(interpolationButton);

QGroupBox *sourceGroupBox = new QGroupBox("Source");
sourceGroupBox->setLayout(sourceLayout);
Expand All @@ -39,7 +41,7 @@ void FormSelectionSource::done(int res)
{
if (res == QDialog::Accepted) // ok
{
if (!pointButton->isChecked() && !gridButton->isChecked())
if (!pointButton->isChecked() && !gridButton->isChecked() && !interpolationButton->isChecked())
{
QMessageBox::information(nullptr, "Missing source selection.", "Please choose a data source.");
return;
Expand All @@ -65,6 +67,10 @@ int FormSelectionSource::getSourceSelectionId()
{
return 2;
}
else if (interpolationButton->isChecked())
{
return 3;
}
else
{
return NODATA;
Expand Down
1 change: 1 addition & 0 deletions agrolib/commonDialogs/formSelectionSource.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
private:
QRadioButton* pointButton;
QRadioButton* gridButton;
QRadioButton* interpolationButton;

void done(int res);
};
Expand Down
89 changes: 88 additions & 1 deletion src/mainWindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5891,7 +5891,7 @@ void MainWindow::on_actionClimateMeteoGrid_triggered()

void MainWindow::on_actionStatistical_Summary_triggered()
{
if (! myProject.meteoPointsLoaded && ! myProject.meteoGridLoaded)
if (! myProject.meteoPointsLoaded && ! myProject.meteoGridLoaded && ! myProject.dataRaster.isLoaded)
{
myProject.logError(ERROR_STR_MISSING_POINT_GRID);
return;
Expand Down Expand Up @@ -6051,7 +6051,94 @@ void MainWindow::on_actionStatistical_Summary_triggered()
}
break;
}
/*
case 3: //interpolationRaster
{
if (myProject.dataRaster.isLoaded && currentGridVisualization != notShown)
{
for (int row = 0; row < myProject.dataRaster.header->nrRows ; row++)
for (int col = 0; col < myProject.dataRaster.header->nrCols; col++)
{
if (myProject.dataRaster.getValueFromRowCol(row, col) != NODATA)
{
validValues.push_back(myProject.dataRaster.getValueFromRowCol(row, col));
}
if (myProject.meteoGridDbHandler->meteoGrid()->meteoPoints()[row][col]->active)
{
switch(currentGridVisualization)
{
case showCurrentVariable:
{
if (myProject.dataRaster.getValueFromRowCol(row, col) != NODATA)
{
validValues.push_back(myProject.dataRaster.getValueFromRowCol(row, col));
}
break;
}
case showElaboration:
{
if (myProject.meteoGridDbHandler->meteoGrid()->meteoPoints()[row][col]->elaboration != NODATA)
{
validValues.push_back(myProject.meteoGridDbHandler->meteoGrid()->meteoPoints()[row][col]->elaboration);
}
break;
}
case showAnomalyAbsolute:
{
if (myProject.meteoGridDbHandler->meteoGrid()->meteoPoints()[row][col]->anomaly != NODATA)
{
validValues.push_back(myProject.meteoGridDbHandler->meteoGrid()->meteoPoints()[row][col]->anomaly);
}
break;
}
case showAnomalyPercentage:
{
if (myProject.meteoGridDbHandler->meteoGrid()->meteoPoints()[row][col]->anomalyPercentage != NODATA)
{
validValues.push_back(myProject.meteoGridDbHandler->meteoGrid()->meteoPoints()[row][col]->anomalyPercentage);
}
break;
}
case showClimate:
{
if (myProject.meteoGridDbHandler->meteoGrid()->meteoPoints()[row][col]->climate != NODATA)
{
validValues.push_back(myProject.meteoGridDbHandler->meteoGrid()->meteoPoints()[row][col]->climate);
}
break;
}
default:
{
break;
}
}
if (validValues.size() != 0)
{
if (statistics::minList(validValues, int(validValues.size())) == validValues[validValues.size() - 1])
{
idMin = myProject.meteoGridDbHandler->meteoGrid()->meteoPoints()[row][col]->id;
nameMin = myProject.meteoGridDbHandler->meteoGrid()->meteoPoints()[row][col]->name;
}
if (statistics::maxList(validValues, int(validValues.size())) == validValues[validValues.size() - 1])
{
idMax = myProject.meteoGridDbHandler->meteoGrid()->meteoPoints()[row][col]->id;
nameMax = myProject.meteoGridDbHandler->meteoGrid()->meteoPoints()[row][col]->name;
}
}
}
}
}
else
{
myProject.errorString = "No dataRaster loaded";
myProject.logError();
return;
}
break;
}
*/
case NODATA:
{
return;
Expand Down

0 comments on commit 30fe11a

Please sign in to comment.