Skip to content

Commit

Permalink
Merge commit 'b901005a9195ac191e5ef513946d9881adf5cdea'
Browse files Browse the repository at this point in the history
  • Loading branch information
ftomei committed Jul 12, 2024
2 parents 8b7273d + b901005 commit dea7281
Show file tree
Hide file tree
Showing 18 changed files with 763 additions and 489 deletions.
72 changes: 69 additions & 3 deletions agrolib/gis/gis.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -287,8 +287,7 @@ namespace gis

bool Crit3DRasterGrid::initializeParameters(const Crit3DRasterHeader& initHeader)
{
if (!parametersCell.empty())
parametersCell.clear();
parametersCell.clear();
parametersCell.resize(initHeader.nrRows*initHeader.nrCols);
for (int i = 0; i < int(parametersCell.size()); i++)
{
Expand Down Expand Up @@ -517,7 +516,74 @@ namespace gis
return true;
}

std::vector<std::vector<double>> Crit3DRasterGrid::prepareParameters(int row, int col, unsigned int activeProxyNr)
std::vector<std::vector<double>> Crit3DRasterGrid::prepareParameters(int row, int col, std::vector<bool> activeList)
{
std::vector<std::vector<double>> tempProxyVector;
tempProxyVector.clear();
tempProxyVector.resize(activeList.size());
int l, m, k, p;
l = 0;
m = 0;
std::vector<double> avg;
int counter, index;
bool findFirst = 0;

if (isOutOfGrid(row, col))
return tempProxyVector;

for (unsigned int i = 0; i < activeList.size(); i++)
{
findFirst = 0;
if (activeList[i])
{
//look for the first cell that has data for that proxy. if there isn't any, return empty vector
for (l = row-1; l < row+2; l++)
{
for (m = col-1; m < col+2; m++)
{
index = l * header->nrCols + m;
if (index >= 0 && index < int(parametersCell.size()) && (parametersCell[index].fittingParameters.size() > i && !parametersCell[index].fittingParameters[i].empty()) && (l != row || m !=col)) {
findFirst = 1;
}
if (findFirst==1) break;
}
if (findFirst==1) break;
}

if (findFirst == 0)
continue;

//you're on a specific proxy rn. cycle through the cells, calculate the avg
avg.clear();
avg.resize(parametersCell[index].fittingParameters[i].size());
counter = 0;

for (k = l; k < row+2; k++)
{
for (p = m; p < col+2; p++)
{
index = k * header->nrCols + p;
if (index >= 0 && index < int(parametersCell.size()) && parametersCell[index].fittingParameters.size() > i && !parametersCell[index].fittingParameters[i].empty()) {
for (unsigned int o = 0; o < avg.size(); o++)
{
avg[o] += parametersCell[index].fittingParameters[i][o];

}
counter++;
}
}
}
for (unsigned int o = 0; o < avg.size(); o++)
avg[o] /= counter;

tempProxyVector[i] = avg;
}
}

return tempProxyVector;
}

std::vector<std::vector<double>> Crit3DRasterGrid::prepareParametersOld(int row, int col, unsigned int activeProxyNr)
{
std::vector<std::vector<double>> tempProxyVector;
std::vector<double> tempParVector;
Expand Down
3 changes: 2 additions & 1 deletion agrolib/gis/gis.h
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,8 @@
float getValueFromXY(double x, double y) const;
std::vector<std::vector<double>> getParametersFromRowCol(int row, int col);
bool setParametersForRowCol(int row, int col, std::vector<std::vector<double>> parameters);
std::vector<std::vector<double>> prepareParameters(int row, int col, unsigned int activeProxyNr);
std::vector<std::vector<double>> prepareParameters(int row, int col, std::vector<bool> activeList);
std::vector<std::vector<double>> prepareParametersOld(int row, int col, unsigned int activeProxyNr);

Crit3DTime getMapTime() const;
void setMapTime(const Crit3DTime &value);
Expand Down
2 changes: 1 addition & 1 deletion agrolib/graphics/mapGraphicsRasterUtm.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,7 @@ bool RasterUtmObject::drawRaster(QPainter* painter)
// check outliers (transparent)
if (_rasterPointer->colorScale->isHideOutliers())
{
if (value < _rasterPointer->colorScale->minimum() || value > _rasterPointer->colorScale->maximum())
if (value <= _rasterPointer->colorScale->minimum() || value >= _rasterPointer->colorScale->maximum())
continue;
}

Expand Down
Loading

0 comments on commit dea7281

Please sign in to comment.