' '---------------------------- '--- creation information --- '---------------------------- ' 'Name: segave.ave 'Version: 1.0 'Date: 03/09/97 'Author: Ferdi Hellweger ' Center for Research in Water Resources ' The University of Texas at Austin ' ferdi@crwr.utexas.edu ' www.ce.utexas.edu/stu/ferdi/ ' '--------------------------- '--- purpose/description --- '--------------------------- ' 'This is a segment averaging utility for sample data. ' '----------------- '--- get table --- '----------------- ' intable = av.getactivedoc ' '-------------------- '--- set up table --- '-------------------- ' invtab = intable.getvtab ingsegidf = invtab.findfield("gsegid2") inavef = invtab.findfield("ave") ' '--------------------------- '--- set up output table --- '--------------------------- ' outfilenamestring = msgbox.input("Output file name", "WARDIMP", "c:\warddata\wqsalsur4.dbf") outfilename = filename.make(outfilenamestring) outvtab = vtab.makenew(outfilename, dBASE) outfields = list.make outgsegidf = field.make("gsegid", #FIELD_CHAR, 4, 0) outavef = field.make("ave", #FIELD_DECIMAL, 16, 4) outfields = outfields.add(outgsegidf) outfields = outfields.add(outavef) outvtab.addfields(outfields) outvtab.seteditable(true) ' '-------------------- '--- process data --- '-------------------- ' donedict = dictionary.make(invtab.getnumrecords) for each inrec in invtab thisgsegid = invtab.returnvalue(ingsegidf, inrec) if (donedict.get(thisgsegid) = nil) then nval = 0 totave = 0 for each inrec2 in invtab ingsegid = invtab.returnvalue(ingsegidf, inrec2) inave = invtab.returnvalue(inavef, inrec2) if (thisgsegid = ingsegid) then nval = nval.clone + 1 totave = totave.clone + inave.clone end end ave = totave.clone / nval.clone outrec = outvtab.addrecord outvtab.setvalue(outgsegidf, outrec, thisgsegid.clone) outvtab.setvalue(outavef, outrec, ave.clone) donedict.add(thisgsegid, {"dummy"}) end end ' 'close up ' msgbox.info("Averages calculated", "WARDIMP") ' 'end '