' '---------------------------- '--- creation information --- '---------------------------- ' 'Name: simpleave.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 simple averaging utility for sample data. ' '----------------- '--- get table --- '----------------- ' intable = av.getactivedoc ' '-------------------- '--- set up table --- '-------------------- ' invtab = intable.getvtab insegidf = invtab.findfield("segid") inmsmtf = invtab.findfield("msmt") ' '--------------------------- '--- set up output table --- '--------------------------- ' outfilenamestring = msgbox.input("Output file name", "WARDIMP", "c:\warddata\wqsalsur3s.dbf") outfilename = filename.make(outfilenamestring) outvtab = vtab.makenew(outfilename, dBASE) outfields = list.make outsegidf = field.make("segid", #FIELD_CHAR, 4, 0) outavef = field.make("ave", #FIELD_DECIMAL, 16, 4) outnvalf = field.make("nval", #FIELD_DECIMAL, 16, 4) outfields = outfields.add(outsegidf) outfields = outfields.add(outavef) outfields = outfields.add(outnvalf) outvtab.addfields(outfields) outvtab.seteditable(true) ' '-------------------- '--- process data --- '-------------------- ' ' nval = 0 totmsmt = 0 thissegid = invtab.returnvalue(insegidf, 0) for each inrec in invtab insegid = invtab.returnvalue(insegidf, inrec) inmsmt = invtab.returnvalue(inmsmtf, inrec) if (thissegid <> insegid) then ave = totmsmt.clone / nval.clone ' message = "thissegid = " + thissegid.asstring ' message = message + nl + "insegid = " + insegid.asstring ' message = message + nl + "nval = " + nval.asstring ' message = message + nl + "totweight = " + totweight.asstring ' message = message + nl + "tottime = " + tottime.asstring ' message = message + nl + "ave = " + ave.asstring ' keepgoing = msgbox.yesno(message, "WARDIMP", true) ' if (not keepgoing) then ' exit ' end outrec = outvtab.addrecord outvtab.setvalue(outsegidf, outrec, thissegid.clone) outvtab.setvalue(outavef, outrec, ave.clone) outvtab.setvalue(outnvalf, outrec, nval.clone) nval = 0 totmsmt = 0 thissegid = insegid.clone end nval = nval.clone + 1 totmsmt = totmsmt.clone + inmsmt.clone end ' 'close up ' msgbox.info("Averages calculated", "WARDIMP") ' 'end '