27 #include "../../../dataaccess/dataset/DataSet.h"
28 #include "../../../dataaccess/utils/Utils.h"
29 #include "../../../raster/Raster.h"
30 #include "../../../rp/Classifier.h"
31 #include "../../../rp/Module.h"
45 #include <QtGui/QMessageBox>
52 this->setWizardStyle(QWizard::ModernStyle);
53 this->setWindowTitle(tr(
"Classifier"));
66 if(currentPage() == m_layerSearchPage.get())
68 std::list<te::map::AbstractLayerPtr> list = m_layerSearchPage->getSearchWidget()->getSelecteds();
70 if(list.empty() ==
false)
74 m_classifierPage->set(l);
75 m_navigatorPage->set(l);
78 return m_layerSearchPage->isComplete();
80 else if(currentPage() == m_classifierPage.get())
82 return m_classifierPage->isComplete();
84 else if(currentPage() == m_navigatorPage.get())
86 return m_navigatorPage->isComplete();
88 else if(currentPage() == m_rasterInfoPage.get())
98 m_layerSearchPage->getSearchWidget()->setList(layerList);
108 addPage(m_layerSearchPage.get());
109 addPage(m_classifierPage.get());
110 addPage(m_navigatorPage.get());
111 addPage(m_rasterInfoPage.get());
114 m_layerSearchPage->getSearchWidget()->enableMultiSelection(
false);
117 m_navigatorPage->getWidget()->hidePickerTool(
true);
120 connect(m_navigatorPage->getWidget(), SIGNAL(mapDisplayExtentChanged()), m_classifierPage.get(), SLOT(onMapDisplayExtentChanged()));
128 std::list<te::map::AbstractLayerPtr> list = m_layerSearchPage->getSearchWidget()->getSelecteds();
130 std::auto_ptr<te::da::DataSet> ds = l->getData();
134 std::auto_ptr<te::rst::Raster> inputRst = ds->getRaster(rpos);
143 algoOutputParams.
m_rInfo = m_rasterInfoPage->getWidget()->getInfo();
144 algoOutputParams.
m_rType = m_rasterInfoPage->getWidget()->getType();
147 if(algorithmInstance.
initialize(algoInputParams))
149 if(algorithmInstance.
execute(algoOutputParams))
151 algoOutputParams.
reset();
153 QMessageBox::information(
this, tr(
"Classifier"), tr(
"Classifier ended sucessfully"));
157 QMessageBox::critical(
this, tr(
"Classifier"), tr(
"Classifier execution error.") +
164 QMessageBox::critical(
this, tr(
"Classifier"), tr(
"Classifier initialization error.") +
ClassifierWizard(QWidget *parent)
This file has the RasterNavigatorWidget class.
This class is a wizard page for the RasterNavigator widget.
std::string m_rType
Output raster data source type (as described in te::raster::RasterFactory ).
virtual bool validateCurrentPage()
Polygon is a subclass of CurvePolygon whose rings are defined by linear rings.
static const std::string & getLastLogStr()
Returns the last log string generated by this module.
void setList(std::list< te::map::AbstractLayerPtr > &layerList)
This file defines a class for a Raster Info Wizard page.
This file has the RasterInfoWidget class.
te::rst::Raster const * m_inputRasterPtr
Input raster.
This file defines the LayerSearchWizardPage class.
bool execute(AlgorithmOutputParameters &outputParams)
Executes the algorithm using the supplied parameters.
This file defines the LayerSearchWidget class.
Classifier output parameters.
This file defines a class for a Raster Navigator Wizard page.
void reset()
Clear all internal allocated resources and reset the parameters instance to its initial state...
TEDATAACCESSEXPORT std::size_t GetFirstPropertyPos(const te::da::DataSet *dataset, int datatype)
This class is GUI used to define the raster info parameters for raster factory.
A widget to control the display of a set of layers.
This file defines a class for a Classifier Wizard page.
A Qt dialog that allows users to run a classifier operation defined by RP module. ...
boost::intrusive_ptr< AbstractLayer > AbstractLayerPtr
std::map< std::string, std::string > m_rInfo
The necessary information to create the raster (as described in te::raster::RasterFactory).
Classifier input parameters.
bool initialize(const AlgorithmInputParameters &inputParams)
Initialize the algorithm instance making it ready for execution.
This class is GUI used to define the classifier parameters for the RP constast operation.