ExtractData/attFile/attfile.cpp

Go to the documentation of this file.
00001 #include <QtGui>
00002 #include "attfile.h"
00003 
00004 #include <iomanip>
00005 #include <fstream>
00006 using namespace std;
00007 
00008 #include "../../pihmLIBS/pickGridValue.h"
00009 #include "../../pihmLIBS/shapefil.h"
00010 #include "../../pihmLIBS/helpDialog/helpdialog.h"
00011 
00012 attFileDlg::attFileDlg(QWidget *parent)
00013 {
00014         setupUi(this);
00015         connect(TINPushButton, SIGNAL(clicked()), this, SLOT(tinBrowse()));
00016         connect(PrecipPushButton, SIGNAL(clicked()), this, SLOT(precipBrowse()));
00017         connect(TempPushButton, SIGNAL(clicked()), this, SLOT(tempBrowse()));
00018         connect(HumidPushButton, SIGNAL(clicked()), this, SLOT(humidBrowse()));
00019         connect(WindPushButton, SIGNAL(clicked()), this, SLOT(windBrowse()));
00020         connect(GPushButton, SIGNAL(clicked()), this, SLOT(gBrowse()));
00021         connect(RnPushButton, SIGNAL(clicked()), this, SLOT(rnBrowse()));
00022         connect(PPushButton, SIGNAL(clicked()), this, SLOT(pBrowse()));
00023         connect(SoilPushButton, SIGNAL(clicked()), this, SLOT(soilBrowse()));
00024         connect(LCPushButton, SIGNAL(clicked()), this, SLOT(lcBrowse()));
00025         connect(ISICPushButton, SIGNAL(clicked()), this, SLOT(isICBrowse()));
00026         connect(SnowICPushButton, SIGNAL(clicked()), this, SLOT(snowICBrowse()));
00027         connect(OverlandICPushButton, SIGNAL(clicked()), this, SLOT(overlandICBrowse()));
00028         connect(UnSatICPushButton, SIGNAL(clicked()), this, SLOT(unsatICBrowse()));
00029         connect(SatICPushButton, SIGNAL(clicked()), this, SLOT(satICBrowse()));
00030         connect(BCPushButton, SIGNAL(clicked()), this, SLOT(bcBrowse()));
00031         connect(SourcePushButton, SIGNAL(clicked()), this, SLOT(sourceBrowse()));
00032         connect(attFilePushButton, SIGNAL(clicked()), this, SLOT(attBrowse()));
00033 
00034         connect(runButton, SIGNAL(clicked()), this, SLOT(run()));
00035         connect(helpButton, SIGNAL(clicked()), this, SLOT(help()));
00036         connect(cancelButton, SIGNAL(clicked()), this, SLOT(close()));
00037 }
00038 
00039 void attFileDlg::tinBrowse()
00040 {
00041         QString str = QFileDialog::getOpenFileName(this, "Choose File", "~/","Shape File(*.shp *.SHP)");
00042         TINLineEdit->setText(str);
00043 }
00044 
00045 void attFileDlg::precipBrowse()
00046 {
00047         QString str = QFileDialog::getOpenFileName(this, "Choose File", "~/","File(*.adf *.ADF)");
00048         PrecipLineEdit->setText(str);
00049 }
00050 
00051 void attFileDlg::tempBrowse()
00052 {
00053         QString str = QFileDialog::getOpenFileName(this, "Choose File", "~/","File(*.adf *.ADF)");
00054         TempLineEdit->setText(str);
00055 }
00056 
00057 void attFileDlg::humidBrowse()
00058 {
00059         QString str = QFileDialog::getOpenFileName(this, "Choose File", "~/","File(*.adf *.ADF)");
00060         HumidLineEdit->setText(str);
00061 }
00062 
00063 void attFileDlg::windBrowse()
00064 {
00065         QString str = QFileDialog::getOpenFileName(this, "Choose File", "~/","File(*.adf *.ADF)");
00066         WindLineEdit->setText(str);
00067 }
00068 
00069 void attFileDlg::gBrowse()
00070 {
00071         QString str = QFileDialog::getOpenFileName(this, "Choose File", "~/","File(*.adf *.ADF)");
00072         GLineEdit->setText(str);
00073 }
00074 
00075 void attFileDlg::rnBrowse()
00076 {
00077         QString str = QFileDialog::getOpenFileName(this, "Choose File", "~/","File(*.adf *.ADF)");
00078         RnLineEdit->setText(str);
00079 }
00080 
00081 void attFileDlg::pBrowse()
00082 {
00083         QString str = QFileDialog::getOpenFileName(this, "Choose File", "~/","File(*.adf *.ADF)");
00084         PLineEdit->setText(str);
00085 }
00086 
00087 void attFileDlg::soilBrowse()
00088 {
00089         QString str = QFileDialog::getOpenFileName(this, "Choose File", "~/","File(*.adf *.ADF)");
00090         SoilLineEdit->setText(str);
00091 }
00092 
00093 void attFileDlg::lcBrowse()
00094 {
00095         QString str = QFileDialog::getOpenFileName(this, "Choose File", "~/","File(*.adf *.ADF)");
00096         LCLineEdit->setText(str);
00097 }
00098 
00099 void attFileDlg::isICBrowse()
00100 {
00101         QString str = QFileDialog::getOpenFileName(this, "Choose File", "~/","File(*.adf *.ADF)");
00102         ISICLineEdit->setText(str);
00103 }
00104 
00105 void attFileDlg::snowICBrowse()
00106 {
00107         QString str = QFileDialog::getOpenFileName(this, "Choose File", "~/","File(*.adf *.ADF)");
00108         SnowICLineEdit->setText(str);
00109 }
00110 
00111 void attFileDlg::overlandICBrowse()
00112 {
00113         QString str = QFileDialog::getOpenFileName(this, "Choose File", "~/","File(*.adf *.ADF)");
00114         OverlandICLineEdit->setText(str);
00115 }
00116 
00117 void attFileDlg::unsatICBrowse()
00118 {
00119         QString str = QFileDialog::getOpenFileName(this, "Choose File", "~/","File(*.adf *.ADF)");
00120         UnSatICLineEdit->setText(str);
00121 }
00122 
00123 void attFileDlg::satICBrowse()
00124 {
00125         QString str = QFileDialog::getOpenFileName(this, "Choose File", "~/","File(*.adf *.ADF)");
00126         SatICLineEdit->setText(str);
00127 }
00128 
00129 void attFileDlg::bcBrowse()
00130 {
00131         QString str = QFileDialog::getOpenFileName(this, "Choose File", "~/","File(*.adf *.ADF)");
00132         BCLineEdit->setText(str);
00133 }
00134 
00135 void attFileDlg::sourceBrowse()
00136 {
00137         QString str = QFileDialog::getOpenFileName(this, "Choose File", "~/","File(*.adf *.ADF)");
00138         SourceLineEdit->setText(str);
00139 }
00140 
00141 void attFileDlg::attBrowse()
00142 {
00143         QString temp = QFileDialog::getSaveFileName(this, "Choose File", "~/","att File(*.att *.ATT)");
00144         QString tmp = temp;
00145         if(!(tmp.toLower()).endsWith(".att")){
00146                 tmp.append(".att");
00147                 temp = tmp;
00148         }
00149         attFileLineEdit->setText(temp); 
00150 }
00151 
00152 void attFileDlg::run()
00153 {
00154 
00155         QString logFileName("c:\log.html");
00156         ofstream log;
00157         log.open(logFileName.ascii());
00158         log<<"<html><body><font size=3 color=black><p> Verifying Files...</p></font></body></html>";
00159         log.close();
00160         textBrowser11->setSource(logFileName);
00161         textBrowser11->setFocus();
00162         textBrowser11->setModified(TRUE);
00163 
00164         ifstream inFile;
00165         ofstream outFile;
00166 
00167         outFile.open((attFileLineEdit->text()).ascii(), ios::out);
00168 
00169         int runFlag = 1;
00170 
00171         inFile.open((TINLineEdit->text()).ascii());
00172         log.open(logFileName.ascii(), ios::app);
00173         if((TINLineEdit->text()).length()==0){
00174                 log<<"<p><font size=3 color=red> Error! Please input TIN Input File</p>";
00175                 runFlag = 0;
00176         }
00177         else{
00178                 log<<"<p>Checking... "<<(TINLineEdit->text()).ascii()<<"... ";
00179                 if(inFile == NULL){
00180                         log<<"<font size=3 color=red> Error!</p>";
00181                         //qWarning("\n%s doesn't exist!", (inputFileLineEdit->text()).ascii());
00182                         runFlag = 0;
00183                 }
00184                 else
00185                         log<<"Done!</p>";
00186         }
00187         log.close();
00188         textBrowser11->reload();
00189         QApplication::processEvents();
00190         inFile.close();
00191         
00192 
00193 
00194         inFile.open((PrecipLineEdit->text()).ascii());
00195         log.open(logFileName.ascii(), ios::app);
00196         if((PrecipLineEdit->text()).length()==0){
00197                 log<<"<p><font size=3 color=red> Error! Please input Precip. Input File</p>";
00198                 runFlag = 0;
00199         }
00200         else{
00201                 log<<"<p>Checking... "<<(PrecipLineEdit->text()).ascii()<<"... ";
00202                 if(inFile == NULL){
00203                         log<<"<font size=3 color=red> Error!</p>";
00204                         //qWarning("\n%s doesn't exist!", (inputFileLineEdit->text()).ascii());
00205                         runFlag = 0;
00206                 }
00207                 else
00208                         log<<"Done!</p>";
00209         }
00210         log.close();
00211         textBrowser11->reload();
00212         QApplication::processEvents();
00213         inFile.close();
00214 
00215 
00216         inFile.open((TempLineEdit->text()).ascii());
00217         log.open(logFileName.ascii(), ios::app);
00218         if((TempLineEdit->text()).length()==0){
00219                 log<<"<p><font size=3 color=red> Error! Please input Temp. Input File</p>";
00220                 runFlag = 0;
00221         }
00222         else{
00223                 log<<"<p>Checking... "<<(TempLineEdit->text()).ascii()<<"... ";
00224                 if(inFile == NULL){
00225                         log<<"<font size=3 color=red> Error!</p>";
00226                         //qWarning("\n%s doesn't exist!", (inputFileLineEdit->text()).ascii());
00227                         runFlag = 0;
00228                 }
00229                 else
00230                         log<<"Done!</p>";
00231         }
00232         log.close();
00233         textBrowser11->reload();
00234         QApplication::processEvents();
00235         inFile.close();
00236 
00237 
00238         inFile.open((HumidLineEdit->text()).ascii());
00239         log.open(logFileName.ascii(), ios::app);
00240         if((HumidLineEdit->text()).length()==0){
00241                 log<<"<p><font size=3 color=red> Error! Please input Humid. Input File</p>";
00242                 runFlag = 0;
00243         }
00244         else{
00245                 log<<"<p>Checking... "<<(HumidLineEdit->text()).ascii()<<"... ";
00246                 if(inFile == NULL){
00247                         log<<"<font size=3 color=red> Error!</p>";
00248                         //qWarning("\n%s doesn't exist!", (inputFileLineEdit->text()).ascii());
00249                         runFlag = 0;
00250                 }
00251                 else
00252                         log<<"Done!</p>";
00253         }
00254         log.close();
00255         textBrowser11->reload();
00256         QApplication::processEvents();
00257         inFile.close();
00258 
00259 
00260         inFile.open((WindLineEdit->text()).ascii());
00261         log.open(logFileName.ascii(), ios::app);
00262         if((WindLineEdit->text()).length()==0){
00263                 log<<"<p><font size=3 color=red> Error! Please input Wind Vel. Input File</p>";
00264                 runFlag = 0;
00265         }
00266         else{
00267                 log<<"<p>Checking... "<<(WindLineEdit->text()).ascii()<<"... ";
00268                 if(inFile == NULL){
00269                         log<<"<font size=3 color=red> Error!</p>";
00270                         //qWarning("\n%s doesn't exist!", (inputFileLineEdit->text()).ascii());
00271                         runFlag = 0;
00272                 }
00273                 else
00274                         log<<"Done!</p>";
00275         }
00276         log.close();
00277         textBrowser11->reload();
00278         QApplication::processEvents();
00279         inFile.close();
00280 
00281 
00282         inFile.open((GLineEdit->text()).ascii());
00283         log.open(logFileName.ascii(), ios::app);
00284         if((GLineEdit->text()).length()==0){
00285                 log<<"<p><font size=3 color=red> Error! Please input G Input File</p>";
00286                 runFlag = 0;
00287         }
00288         else{
00289                 log<<"<p>Checking... "<<(GLineEdit->text()).ascii()<<"... ";
00290                 if(inFile == NULL){
00291                         log<<"<font size=3 color=red> Error!</p>";
00292                         //qWarning("\n%s doesn't exist!", (inputFileLineEdit->text()).ascii());
00293                         runFlag = 0;
00294                 }
00295                 else
00296                         log<<"Done!</p>";
00297         }
00298         log.close();
00299         textBrowser11->reload();
00300         QApplication::processEvents();
00301         inFile.close();
00302 
00303 
00304         inFile.open((RnLineEdit->text()).ascii());
00305         log.open(logFileName.ascii(), ios::app);
00306         if((RnLineEdit->text()).length()==0){
00307                 log<<"<p><font size=3 color=red> Error! Please input Rn Input File</p>";
00308                 runFlag = 0;
00309         }
00310         else{
00311                 log<<"<p>Checking... "<<(RnLineEdit->text()).ascii()<<"... ";
00312                 if(inFile == NULL){
00313                         log<<"<font size=3 color=red> Error!</p>";
00314                         //qWarning("\n%s doesn't exist!", (inputFileLineEdit->text()).ascii());
00315                         runFlag = 0;
00316                 }
00317                 else
00318                         log<<"Done!</p>";
00319         }
00320         log.close();
00321         textBrowser11->reload();
00322         QApplication::processEvents();
00323         inFile.close();
00324 
00325 
00326         inFile.open((PLineEdit->text()).ascii());
00327         log.open(logFileName.ascii(), ios::app);
00328         if((PLineEdit->text()).length()==0){
00329                 log<<"<p><font size=3 color=red> Error! Please input P Input File</p>";
00330                 runFlag = 0;
00331         }
00332         else{
00333                 log<<"<p>Checking... "<<(PLineEdit->text()).ascii()<<"... ";
00334                 if(inFile == NULL){
00335                         log<<"<font size=3 color=red> Error!</p>";
00336                         //qWarning("\n%s doesn't exist!", (inputFileLineEdit->text()).ascii());
00337                         runFlag = 0;
00338                 }
00339                 else
00340                         log<<"Done!</p>";
00341         }
00342         log.close();
00343         textBrowser11->reload();
00344         QApplication::processEvents();
00345         inFile.close();
00346 
00347 
00348         inFile.open((SoilLineEdit->text()).ascii());
00349         log.open(logFileName.ascii(), ios::app);
00350         if((SoilLineEdit->text()).length()==0){
00351                 log<<"<p><font size=3 color=red> Error! Please input Soil Input File</p>";
00352                 runFlag = 0;
00353         }
00354         else{
00355                 log<<"<p>Checking... "<<(SoilLineEdit->text()).ascii()<<"... ";
00356                 if(inFile == NULL){
00357                         log<<"<font size=3 color=red> Error!</p>";
00358                         //qWarning("\n%s doesn't exist!", (inputFileLineEdit->text()).ascii());
00359                         runFlag = 0;
00360                 }
00361                 else
00362                         log<<"Done!</p>";
00363         }
00364         log.close();
00365         textBrowser11->reload();
00366         QApplication::processEvents();
00367         inFile.close();
00368 
00369 
00370         inFile.open((LCLineEdit->text()).ascii());
00371         log.open(logFileName.ascii(), ios::app);
00372         if((LCLineEdit->text()).length()==0){
00373                 log<<"<p><font size=3 color=red> Error! Please input LC Input File</p>";
00374                 runFlag = 0;
00375         }
00376         else{
00377                 log<<"<p>Checking... "<<(LCLineEdit->text()).ascii()<<"... ";
00378                 if(inFile == NULL){
00379                         log<<"<font size=3 color=red> Error!</p>";
00380                         //qWarning("\n%s doesn't exist!", (inputFileLineEdit->text()).ascii());
00381                         runFlag = 0;
00382                 }
00383                 else
00384                         log<<"Done!</p>";
00385         }
00386         log.close();
00387         textBrowser11->reload();
00388         QApplication::processEvents();
00389         inFile.close();
00390 
00391 
00392         inFile.open((ISICLineEdit->text()).ascii());
00393         log.open(logFileName.ascii(), ios::app);
00394         if((ISICLineEdit->text()).length()==0){
00395                 log<<"<p><font size=3 color=red> Error! Please input Interception IC Input File</p>";
00396                 runFlag = 0;
00397         }
00398         else{
00399                 log<<"<p>Checking... "<<(ISICLineEdit->text()).ascii()<<"... ";
00400                 if(inFile == NULL){
00401                         log<<"<font size=3 color=red> Error!</p>";
00402                         //qWarning("\n%s doesn't exist!", (inputFileLineEdit->text()).ascii());
00403                         runFlag = 0;
00404                 }
00405                 else
00406                         log<<"Done!</p>";
00407         }
00408         log.close();
00409         textBrowser11->reload();
00410         QApplication::processEvents();
00411         inFile.close();
00412 
00413 
00414         inFile.open((SnowICLineEdit->text()).ascii());
00415         log.open(logFileName.ascii(), ios::app);
00416         if((SnowICLineEdit->text()).length()==0){
00417                 log<<"<p><font size=3 color=red> Error! Please input Snow IC Input File</p>";
00418                 runFlag = 0;
00419         }
00420         else{
00421                 log<<"<p>Checking... "<<(SnowICLineEdit->text()).ascii()<<"... ";
00422                 if(inFile == NULL){
00423                         log<<"<font size=3 color=red> Error!</p>";
00424                         //qWarning("\n%s doesn't exist!", (inputFileLineEdit->text()).ascii());
00425                         runFlag = 0;
00426                 }
00427                 else
00428                         log<<"Done!</p>";
00429         }
00430         log.close();
00431         textBrowser11->reload();
00432         QApplication::processEvents();
00433         inFile.close();
00434 
00435 
00436         inFile.open((OverlandICLineEdit->text()).ascii());
00437         log.open(logFileName.ascii(), ios::app);
00438         if((OverlandICLineEdit->text()).length()==0){
00439                 log<<"<p><font size=3 color=red> Error! Please input Overland IC Input File</p>";
00440                 runFlag = 0;
00441         }
00442         else{
00443                 log<<"<p>Checking... "<<(OverlandICLineEdit->text()).ascii()<<"... ";
00444                 if(inFile == NULL){
00445                         log<<"<font size=3 color=red> Error!</p>";
00446                         //qWarning("\n%s doesn't exist!", (inputFileLineEdit->text()).ascii());
00447                         runFlag = 0;
00448                 }
00449                 else
00450                         log<<"Done!</p>";
00451         }
00452         log.close();
00453         textBrowser11->reload();
00454         QApplication::processEvents();
00455         inFile.close();
00456 
00457 
00458         inFile.open((UnSatICLineEdit->text()).ascii());
00459         log.open(logFileName.ascii(), ios::app);
00460         if((UnSatICLineEdit->text()).length()==0){
00461                 log<<"<p><font size=3 color=red> Error! Please input UnSat IC Input File</p>";
00462                 runFlag = 0;
00463         }
00464         else{
00465                 log<<"<p>Checking... "<<(UnSatICLineEdit->text()).ascii()<<"... ";
00466                 if(inFile == NULL){
00467                         log<<"<font size=3 color=red> Error!</p>";
00468                         //qWarning("\n%s doesn't exist!", (inputFileLineEdit->text()).ascii());
00469                         runFlag = 0;
00470                 }
00471                 else
00472                         log<<"Done!</p>";
00473         }
00474         log.close();
00475         textBrowser11->reload();
00476         QApplication::processEvents();
00477         inFile.close();
00478 
00479 
00480         inFile.open((SatICLineEdit->text()).ascii());
00481         log.open(logFileName.ascii(), ios::app);
00482         if((SatICLineEdit->text()).length()==0){
00483                 log<<"<p><font size=3 color=red> Error! Please input Sat IC Input File</p>";
00484                 runFlag = 0;
00485         }
00486         else{
00487                 log<<"<p>Checking... "<<(SatICLineEdit->text()).ascii()<<"... ";
00488                 if(inFile == NULL){
00489                         log<<"<font size=3 color=red> Error!</p>";
00490                         //qWarning("\n%s doesn't exist!", (inputFileLineEdit->text()).ascii());
00491                         runFlag = 0;
00492                 }
00493                 else
00494                         log<<"Done!</p>";
00495         }
00496         log.close();
00497         textBrowser11->reload();
00498         QApplication::processEvents();
00499         inFile.close();
00500 
00501 
00502         inFile.open((BCLineEdit->text()).ascii());
00503         log.open(logFileName.ascii(), ios::app);
00504         if((BCLineEdit->text()).length()==0){
00505                 log<<"<p><font size=3 color=red> Error! Please input BC Input File</p>";
00506                 runFlag = 0;
00507         }
00508         else{
00509                 log<<"<p>Checking... "<<(BCLineEdit->text()).ascii()<<"... ";
00510                 if(inFile == NULL){
00511                         log<<"<font size=3 color=red> Error!</p>";
00512                         //qWarning("\n%s doesn't exist!", (inputFileLineEdit->text()).ascii());
00513                         runFlag = 0;
00514                 }
00515                 else
00516                         log<<"Done!</p>";
00517         }
00518         log.close();
00519         textBrowser11->reload();
00520         QApplication::processEvents();
00521         inFile.close();
00522 
00523 
00524         inFile.open((SourceLineEdit->text()).ascii());
00525         log.open(logFileName.ascii(), ios::app);
00526         if((SourceLineEdit->text()).length()==0){
00527                 log<<"<p><font size=3 color=red> Error! Please input Source Input File</p>";
00528                 runFlag = 0;
00529         }
00530         else{
00531                 log<<"<p>Checking... "<<(SourceLineEdit->text()).ascii()<<"... ";
00532                 if(inFile == NULL){
00533                         log<<"<font size=3 color=red> Error!</p>";
00534                         //qWarning("\n%s doesn't exist!", (inputFileLineEdit->text()).ascii());
00535                         runFlag = 0;
00536                 }
00537                 else
00538                         log<<"Done!</p>";
00539         }
00540         log.close();
00541         textBrowser11->reload();
00542         QApplication::processEvents();
00543         inFile.close();
00544 
00545 
00546         log.open(logFileName.ascii(), ios::app);
00547         if((attFileLineEdit->text()).length()==0){
00548                 log<<"<p><font size=3 color=red> Error! Please input .att Output File</p>";
00549                 runFlag = 0;
00550         }
00551         else{
00552                 log<<"<p>Checking... "<<(attFileLineEdit->text()).ascii()<<"... ";
00553                 if(outFile == NULL){
00554                         log<<"<font size=3 color=red> Error!</p>";
00555                         qWarning("\nCan not open output file name");
00556                         runFlag = 0;
00557                 }
00558                 else
00559                         log<<"Done!</p>";
00560         }
00561         log.close();
00562         textBrowser11->reload();
00563         QApplication::processEvents();
00564 
00565 
00566 /*
00567         file.open((TINLineEdit->text()).ascii(), ios::in);
00568         if(file==NULL){
00569                 qWarning("\n%s doesn't exist!", (TINLineEdit->text()).ascii());
00570                 runFlag=0;
00571         }
00572         file.close();
00573 
00574         file.open((PrecipLineEdit->text()).ascii(), ios::in);
00575         if(file==NULL){
00576                 qWarning("\n%s doesn't exist!", (PrecipLineEdit->text()).ascii());
00577                 runFlag=0;
00578         }
00579         file.close();
00580 
00581         file.open((TempLineEdit->text()).ascii(), ios::in);
00582         if(file==NULL){
00583                 qWarning("\n%s doesn't exist!", (TempLineEdit->text()).ascii());
00584                 runFlag=0;
00585         }
00586         file.close();
00587 
00588         file.open((HumidLineEdit->text()).ascii(), ios::in);
00589         if(file==NULL){
00590                 qWarning("\n%s doesn't exist!", (HumidLineEdit->text()).ascii());
00591                 runFlag=0;
00592         }
00593         file.close();
00594 
00595         file.open((WindLineEdit->text()).ascii(), ios::in);
00596         if(file==NULL){
00597                 qWarning("\n%s doesn't exist!", (WindLineEdit->text()).ascii());
00598                 runFlag=0;
00599         }
00600         file.close();
00601 
00602         file.open((GLineEdit->text()).ascii(), ios::in);
00603         if(file==NULL){
00604                 qWarning("\n%s doesn't exist!", (GLineEdit->text()).ascii());
00605                 runFlag=0;
00606         }
00607         file.close();
00608 
00609         file.open((RnLineEdit->text()).ascii(), ios::in);
00610         if(file==NULL){
00611                 qWarning("\n%s doesn't exist!", (RnLineEdit->text()).ascii());
00612                 runFlag=0;
00613         }
00614         file.close();
00615 
00616         file.open((PLineEdit->text()).ascii(), ios::in);
00617         if(file==NULL){
00618                 qWarning("\n%s doesn't exist!", (PLineEdit->text()).ascii());
00619                 runFlag=0;
00620         }
00621         file.close();
00622 
00623         file.open((SoilLineEdit->text()).ascii(), ios::in);
00624         if(file==NULL){
00625                 qWarning("\n%s doesn't exist!", (SoilLineEdit->text()).ascii());
00626                 runFlag=0;
00627         }
00628         file.close();
00629 
00630         file.open((LCLineEdit->text()).ascii(), ios::in);
00631         if(file==NULL){
00632                 qWarning("\n%s doesn't exist!", (LCLineEdit->text()).ascii());
00633                 runFlag=0;
00634         }
00635         file.close();
00636 
00637         file.open((ISICLineEdit->text()).ascii(), ios::in);
00638         if(file==NULL){
00639                 qWarning("\n%s doesn't exist!", (ISICLineEdit->text()).ascii());
00640                 runFlag=0;
00641         }
00642         file.close();
00643 
00644         file.open((SnowICLineEdit->text()).ascii(), ios::in);
00645         if(file==NULL){
00646                 qWarning("\n%s doesn't exist!", (SnowICLineEdit->text()).ascii());
00647                 runFlag=0;
00648         }
00649         file.close();
00650 
00651         file.open((OverlandICLineEdit->text()).ascii(), ios::in);
00652         if(file==NULL){
00653                 qWarning("\n%s doesn't exist!", (OverlandICLineEdit->text()).ascii());
00654                 runFlag=0;
00655         }
00656         file.close();
00657 
00658         file.open((UnSatICLineEdit->text()).ascii(), ios::in);
00659         if(file==NULL){
00660                 qWarning("\n%s doesn't exist!", (UnSatICLineEdit->text()).ascii());
00661                 runFlag=0;
00662         }
00663         file.close();
00664 
00665         file.open((SatICLineEdit->text()).ascii(), ios::in);
00666         if(file==NULL){
00667                 qWarning("\n%s doesn't exist!", (SatICLineEdit->text()).ascii());
00668                 runFlag=0;
00669         }
00670         file.close();
00671 
00672         file.open((BCLineEdit->text()).ascii(), ios::in);
00673         if(file==NULL){
00674                 qWarning("\n%s doesn't exist!", (BCLineEdit->text()).ascii());
00675                 runFlag=0;
00676         }
00677         file.close();
00678 
00679         file.open((SourceLineEdit->text()).ascii(), ios::in);
00680         if(file==NULL){
00681                 qWarning("\n%s doesn't exist!", (SourceLineEdit->text()).ascii());
00682                 runFlag=0;
00683         }
00684         file.close();
00685 
00686         if(att==NULL){
00687                 qWarning("\n%s doesn't exist!", (attFileLineEdit->text()).ascii());
00688                 runFlag=0;
00689         }
00690         file.close();
00691 */
00692 
00693 
00694         
00695         if(runFlag == 1){
00696 
00697                 log.open(logFileName.ascii(), ios::app);
00698                 log<<"<p>Running...";
00699                 log.close();
00700                 textBrowser11->reload();
00701                 QApplication::processEvents();
00702 
00703                 SHPHandle shp = SHPOpen((TINLineEdit->text()).ascii(), "rb");
00704                 QString dbfFile(TINLineEdit->text());
00705                 int slashPos = dbfFile.findRev(".");
00706                 dbfFile.truncate(slashPos);
00707                 dbfFile.append(".dbf");
00708                 DBFHandle dbf = DBFOpen(dbfFile.ascii(), "rb");
00709                 int recordCount = DBFGetRecordCount(dbf);
00710                 SHPObject *obj;
00711                 ofstream att;
00712                 att.open((attFileLineEdit->text()).ascii(), ios::out);
00713 
00714                 GDALDataset *precip, *temp, *humidity, *wind, *G, *Rn, *pressure, *soil, *LAI, *ISIC, *SnowIC, *OverlandIC, *UnSatIC, *SatIC, *BC, *source;
00715                 double precipRanges[6], tempRanges[6], humidityRanges[6], windRanges[6], GRanges[6], RnRanges[6], pressureRanges[6], soilRanges[6], LAIRanges[6], ISICRanges[6], SnowICRanges[6], OverlandICRanges[6], UnSatICRanges[6], SatICRanges[6], BCRanges[6], sourceRanges[6];
00716 
00717                 GDALAllRegister();
00718                 precip     = (GDALDataset *)GDALOpen((PrecipLineEdit->text()).ascii(), GA_ReadOnly);
00719                 temp       = (GDALDataset *)GDALOpen((TempLineEdit->text()).ascii(), GA_ReadOnly);
00720                 humidity   = (GDALDataset *)GDALOpen((HumidLineEdit->text()).ascii(), GA_ReadOnly);
00721                 wind       = (GDALDataset *)GDALOpen((WindLineEdit->text()).ascii(), GA_ReadOnly);
00722                 G          = (GDALDataset *)GDALOpen((GLineEdit->text()).ascii(), GA_ReadOnly);
00723                 Rn         = (GDALDataset *)GDALOpen((RnLineEdit->text()).ascii(), GA_ReadOnly);
00724                 pressure   = (GDALDataset *)GDALOpen((PLineEdit->text()).ascii(), GA_ReadOnly);
00725                 soil       = (GDALDataset *)GDALOpen((SoilLineEdit->text()).ascii(), GA_ReadOnly);
00726                 LAI        = (GDALDataset *)GDALOpen((LCLineEdit->text()).ascii(), GA_ReadOnly);
00727                 ISIC       = (GDALDataset *)GDALOpen((ISICLineEdit->text()).ascii(), GA_ReadOnly);
00728                 SnowIC     = (GDALDataset *)GDALOpen((SnowICLineEdit->text()).ascii(), GA_ReadOnly);
00729                 OverlandIC = (GDALDataset *)GDALOpen((OverlandICLineEdit->text()).ascii(), GA_ReadOnly);
00730                 UnSatIC    = (GDALDataset *)GDALOpen((UnSatICLineEdit->text()).ascii(), GA_ReadOnly);
00731                 SatIC      = (GDALDataset *)GDALOpen((SatICLineEdit->text()).ascii(), GA_ReadOnly);
00732                 BC         = (GDALDataset *)GDALOpen((BCLineEdit->text()).ascii(), GA_ReadOnly);
00733                 source     = (GDALDataset *)GDALOpen((SourceLineEdit->text()).ascii(), GA_ReadOnly);
00734 
00735                 getExtent(precip, precipRanges);
00736                 getExtent(temp, tempRanges);
00737                 getExtent(humidity, humidityRanges);
00738                 getExtent(wind, windRanges);
00739                 getExtent(G, GRanges);
00740                 getExtent(Rn, RnRanges);
00741                 getExtent(pressure, pressureRanges);
00742                 getExtent(soil, soilRanges);
00743                 getExtent(LAI, LAIRanges);
00744                 getExtent(ISIC, ISICRanges);
00745                 getExtent(SnowIC, SnowICRanges);
00746                 getExtent(OverlandIC, OverlandICRanges);
00747                 getExtent(UnSatIC, UnSatICRanges);
00748                 getExtent(SatIC, SatICRanges);
00749                 getExtent(BC, BCRanges);
00750                 getExtent(source, sourceRanges);
00751 
00752                 double X, Y;
00753                 int val;
00754                 double valD;
00755                 if(CentroidRadioButton->isChecked() == TRUE){
00756                         for(int i=0; i<recordCount; i++){
00757                                 obj = SHPReadObject(shp, i);
00758 
00759                                 X = (obj->padfX[0]+obj->padfX[1]+obj->padfX[2])/3;
00760                                 Y = (obj->padfY[0]+obj->padfY[1]+obj->padfY[2])/3;
00761 
00762                                 att<<i+1<<"\t";
00763                                 val = (int) getRasterValue(soil,     1, X, Y, soilRanges);
00764                                 att<<val<<"\t";
00765                                 val = (int) getRasterValue(LAI,      1, X, Y, LAIRanges);
00766                                 att<<val<<"\t";
00767                                 valD =  getRasterValue(ISIC,       1, X, Y, ISICRanges);
00768                                 att<<valD<<"\t";
00769                                 valD =  getRasterValue(SnowIC,       1, X, Y, SnowICRanges);
00770                                 att<<valD<<"\t";
00771                                 valD =  getRasterValue(OverlandIC,       1, X, Y, OverlandICRanges);
00772                                 att<<valD<<"\t";
00773                                 valD =  getRasterValue(UnSatIC,       1, X, Y, UnSatICRanges);
00774                                 att<<valD<<"\t";
00775                                 valD =  getRasterValue(SatIC,       1, X, Y, SatICRanges);
00776                                 att<<valD<<"\t";
00777                                 //val = (int) getRasterValue(BC,       1, X, Y, BCRanges); //TODO: How to Deal BC
00778                                 val = 0; // TODO: to be replaced
00779                                 //val = (int) getRasterValue(BC,       1, X, Y, BCRanges); //TODO: How to Deal BC
00780                                 att<<val<<"\t";
00781                                 val = (int) getRasterValue(precip,   1, X, Y, precipRanges);
00782                                 att<<val<<"\t";
00783                                 val = (int) getRasterValue(temp,     1, X, Y, tempRanges);
00784                                 att<<val<<"\t";
00785                                 val = (int) getRasterValue(humidity, 1, X, Y, humidityRanges);
00786                                 att<<val<<"\t";
00787                                 val = (int) getRasterValue(wind,     1, X, Y, windRanges);
00788                                 att<<val<<"\t";
00789                                 val = (int) getRasterValue(Rn,       1, X, Y, RnRanges);
00790                                 att<<val<<"\t";
00791                                 val = (int) getRasterValue(G,        1, X, Y, GRanges);
00792                                 att<<val<<"\t";
00793                                 val = (int) getRasterValue(pressure, 1, X, Y, pressureRanges);
00794                                 att<<val<<"\t";
00795                                 //val = (int) getRasterValue(source,   1, X, Y, sourceRanges); //TODO: DEAL TWO CASES: SHARED WITH TRIANGLES & INSIDE A TRIANGLE
00796                                 val = 0; // TODO: to be replaced
00797                                 att<<val<<"\n";
00798                         }
00799 
00800                 log.open(logFileName.ascii(), ios::app);
00801                 log<<" Done!</p>";
00802                 log.close();
00803                 textBrowser11->reload();
00804                 QApplication::processEvents();
00805 
00806 
00807                 }
00808                 else if(OrthoRadioButton->isChecked() == TRUE){
00809 
00810                         log.open(logFileName.ascii(), ios::app);
00811                         log<<"</p><p><font size=3 color=red>Caution: Not yet implemented!</p>";
00812                         log.close();
00813                         textBrowser11->reload();
00814                         QApplication::processEvents();  
00815 
00816                         qWarning("Ortho Radio Button: Not yet implemented\n");
00817                 }
00818                 else if(EleRadioButton->isChecked() == TRUE){
00819 
00820                         log.open(logFileName.ascii(), ios::app);
00821                         log<<"</p><p><font size=3 color=red>Caution: Not yet implemented!</p>";
00822                         log.close();
00823                         textBrowser11->reload();
00824                         QApplication::processEvents();
00825 
00826                         qWarning("Ele Radio Button: Not yet implimented\n");
00827                 }
00828 
00829         }
00830 }
00831                         
00832 void attFileDlg::help()
00833 {
00834         helpDialog* hlpDlg = new helpDialog(this, "Att File", 1, "helpFiles/attfile.html", "Help :: Att File");
00835         hlpDlg->show(); 
00836 }

Generated on Sun Aug 5 17:33:58 2007 for PIHMgis by  doxygen 1.5.2