27 #include "../../common/Exception.h" 28 #include "../../dataaccess/dataset/DataSet.h" 29 #include "../../dataaccess/utils/Utils.h" 30 #include "../../datatype/Enums.h" 31 #include "../../datatype/Property.h" 32 #include "../core/Config.h" 33 #include "../core/NumericStatisticalSummary.h" 34 #include "../core/StringStatisticalSummary.h" 35 #include "../core/SummaryFunctions.h" 36 #include "../core/Utils.h" 38 #include "ui_StatisticsDialogForm.h" 42 #include <QListWidget> 43 #include <QMessageBox> 46 #include <boost/lexical_cast.hpp> 50 m_ui(new
Ui::StatisticsDialogForm),
64 QApplication::setOverrideCursor(Qt::WaitCursor);
71 m_ui->m_datasourceTypeTitleLabel->setText(
"Statistics: " + QString(prop.c_str()));
82 m_ui->m_statTableWidget->setRowCount(0);
85 m_ui->m_statTableWidget->insertRow(0);
87 QTableWidgetItem* itemValue =
new QTableWidgetItem(QString(ss.
m_minVal.c_str()));
88 m_ui->m_statTableWidget->setItem(0, 0, itemParameter);
89 m_ui->m_statTableWidget->setItem(0, 1, itemValue);
92 m_ui->m_statTableWidget->insertRow(1);
94 itemValue =
new QTableWidgetItem(QString(ss.
m_maxVal.c_str()));
95 m_ui->m_statTableWidget->setItem(1, 0, itemParameter);
96 m_ui->m_statTableWidget->setItem(1, 1, itemValue);
99 m_ui->m_statTableWidget->insertRow(2);
101 itemValue =
new QTableWidgetItem(QString(QString(boost::lexical_cast<std::string>(
m_dset->
size()).c_str())));
102 m_ui->m_statTableWidget->setItem(2, 0, itemParameter);
103 m_ui->m_statTableWidget->setItem(2, 1, itemValue);
106 m_ui->m_statTableWidget->insertRow(3);
108 itemValue =
new QTableWidgetItem(QString(QString(boost::lexical_cast<std::string>(values.size()).c_str())));
109 m_ui->m_statTableWidget->setItem(3, 0, itemParameter);
110 m_ui->m_statTableWidget->setItem(3, 1, itemValue);
114 QApplication::setOverrideCursor(Qt::ArrowCursor);
129 m_ui->m_statTableWidget->insertRow(0);
131 QTableWidgetItem* itemValue =
new QTableWidgetItem(QString(boost::lexical_cast<std::string>(ss.
m_minVal).c_str()));
132 m_ui->m_statTableWidget->setItem(0, 0, itemParameter);
133 m_ui->m_statTableWidget->setItem(0, 1, itemValue);
136 m_ui->m_statTableWidget->insertRow(1);
138 itemValue =
new QTableWidgetItem(QString(boost::lexical_cast<std::string>(ss.
m_maxVal).c_str()));
139 m_ui->m_statTableWidget->setItem(1, 0, itemParameter);
140 m_ui->m_statTableWidget->setItem(1, 1, itemValue);
143 m_ui->m_statTableWidget->insertRow(2);
145 itemValue =
new QTableWidgetItem(QString(boost::lexical_cast<std::string>(
m_dset->
size()).c_str()));
146 m_ui->m_statTableWidget->setItem(2, 0, itemParameter);
147 m_ui->m_statTableWidget->setItem(2, 1, itemValue);
150 m_ui->m_statTableWidget->insertRow(3);
152 itemValue =
new QTableWidgetItem(QString(boost::lexical_cast<std::string>(values.size()).c_str()));
153 m_ui->m_statTableWidget->setItem(3, 0, itemParameter);
154 m_ui->m_statTableWidget->setItem(3, 1, itemValue);
157 m_ui->m_statTableWidget->insertRow(4);
159 itemValue =
new QTableWidgetItem(QString(boost::lexical_cast<std::string>(ss.
m_mean).c_str()));
160 m_ui->m_statTableWidget->setItem(4, 0, itemParameter);
161 m_ui->m_statTableWidget->setItem(4, 1, itemValue);
164 m_ui->m_statTableWidget->insertRow(5);
166 itemValue =
new QTableWidgetItem(QString(boost::lexical_cast<std::string>(ss.
m_sum).c_str()));
167 m_ui->m_statTableWidget->setItem(5, 0, itemParameter);
168 m_ui->m_statTableWidget->setItem(5, 1, itemValue);
171 m_ui->m_statTableWidget->insertRow(6);
173 itemValue =
new QTableWidgetItem(QString(boost::lexical_cast<std::string>(ss.
m_stdDeviation).c_str()));
174 m_ui->m_statTableWidget->setItem(6, 0, itemParameter);
175 m_ui->m_statTableWidget->setItem(6, 1, itemValue);
178 m_ui->m_statTableWidget->insertRow(7);
180 itemValue =
new QTableWidgetItem(QString(boost::lexical_cast<std::string>(ss.
m_variance).c_str()));
181 m_ui->m_statTableWidget->setItem(7, 0, itemParameter);
182 m_ui->m_statTableWidget->setItem(7, 1, itemValue);
185 m_ui->m_statTableWidget->insertRow(8);
187 itemValue =
new QTableWidgetItem(QString(boost::lexical_cast<std::string>(ss.
m_skewness).c_str()));
188 m_ui->m_statTableWidget->setItem(8, 0, itemParameter);
189 m_ui->m_statTableWidget->setItem(8, 1, itemValue);
192 m_ui->m_statTableWidget->insertRow(9);
194 itemValue =
new QTableWidgetItem(QString(boost::lexical_cast<std::string>(ss.
m_kurtosis).c_str()));
195 m_ui->m_statTableWidget->setItem(9, 0, itemParameter);
196 m_ui->m_statTableWidget->setItem(9, 1, itemValue);
199 m_ui->m_statTableWidget->insertRow(10);
201 itemValue =
new QTableWidgetItem(QString(boost::lexical_cast<std::string>(ss.
m_amplitude).c_str()));
202 m_ui->m_statTableWidget->setItem(10, 0, itemParameter);
203 m_ui->m_statTableWidget->setItem(10, 1, itemValue);
206 m_ui->m_statTableWidget->insertRow(11);
208 itemValue =
new QTableWidgetItem(QString(boost::lexical_cast<std::string>(ss.
m_median).c_str()));
209 m_ui->m_statTableWidget->setItem(11, 0, itemParameter);
210 m_ui->m_statTableWidget->setItem(11, 1, itemValue);
213 m_ui->m_statTableWidget->insertRow(12);
215 itemValue =
new QTableWidgetItem(QString(boost::lexical_cast<std::string>(ss.
m_varCoeff).c_str()));
216 m_ui->m_statTableWidget->setItem(12, 0, itemParameter);
217 m_ui->m_statTableWidget->setItem(12, 1, itemValue);
222 m_ui->m_statTableWidget->insertRow(13);
225 itemValue =
new QTableWidgetItem(QString(
""));
229 for(std::size_t i = 0; i < ss.
m_mode.size(); ++i)
230 value +=
", "+ boost::lexical_cast<std::string>(ss.
m_mode[i]);
233 itemValue =
new QTableWidgetItem(QString(value.c_str()));
235 m_ui->m_statTableWidget->setItem(13, 0, itemParameter);
236 m_ui->m_statTableWidget->setItem(13, 1, itemValue);
241 QApplication::setOverrideCursor(Qt::ArrowCursor);
246 QApplication::setOverrideCursor(Qt::ArrowCursor);
247 m_ui->m_statTableWidget->resizeColumnToContents(0);
A structure to hold the set of statistics from a set of numerical values.
void setStatistics(te::da::DataSet *dataSet, const std::string prop)
std::vector< double > m_mode
void onCancelPushButtonClicked()
TEDATAACCESSEXPORT int GetPropertyIndex(te::da::DataSet *dataSet, const std::string propName)
TESTATEXPORT std::vector< double > GetNumericData(te::da::DataSet *dataSet, const std::string propName)
Returns the values of a numeric type property in a vector of values.
virtual std::size_t size() const =0
It returns the collection size, if it is known.
virtual int getPropertyDataType(std::size_t i) const =0
It returns the underlying data type of the property at position pos.
TESTATEXPORT std::vector< std::string > GetStringData(te::da::DataSet *dataSet, const std::string propName)
Returns the values of a string type property in a vector of values.
std::unique_ptr< Ui::StatisticsDialogForm > m_ui
TESTATEXPORT void GetNumericStatisticalSummary(std::vector< double > &values, te::stat::NumericStatisticalSummary &ss, double nullValue)
TESTATEXPORT std::string GetStatSummaryFullName(const int &e)
Get the statistical parameter full name ffrom its enumerator.
This class is designed to declare objects to be thrown as exceptions by TerraLib. ...
TESTATEXPORT void GetStringStatisticalSummary(std::vector< std::string > &values, te::stat::StringStatisticalSummary &ss, const std::string &nullValue)
A dataset is the unit of information manipulated by the data access module of TerraLib.
A structure to hold the set of statistics from a set of categorical (sample) values.
StatisticsDialog(QWidget *parent=0, Qt::WindowFlags f=0)
void onSavePushButtonClicked()
TESTATEXPORT void Mode(const std::vector< double > &values, te::stat::NumericStatisticalSummary &ss)