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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
00568
00569
00570
00571
00572
00573
00574
00575
00576
00577
00578
00579
00580
00581
00582
00583
00584
00585
00586
00587
00588
00589
00590
00591
00592
00593
00594
00595
00596
00597
00598
00599
00600
00601
00602
00603
00604
00605
00606
00607
00608
00609
00610
00611
00612
00613
00614
00615
00616
00617
00618
00619
00620
00621
00622
00623
00624
00625
00626
00627
00628
00629
00630
00631
00632
00633
00634
00635
00636
00637
00638
00639
00640
00641
00642
00643
00644
00645
00646
00647
00648
00649
00650
00651
00652
00653
00654
00655
00656
00657
00658
00659
00660
00661
00662
00663
00664
00665
00666
00667
00668
00669
00670
00671
00672
00673
00674
00675
00676
00677
00678
00679
00680
00681
00682
00683
00684
00685
00686
00687
00688
00689
00690
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
00778 val = 0;
00779
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
00796 val = 0;
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 }