BEGIN { FS = "," } { FS = "," ARGC = 2 depth = -9999 temp = -9999 if ($1=="$GPRMC") { utctime = $2 utcdate = $10 latdeg = substr($4,1,2) latmin = substr($4,3,6) declat = latdeg + (latmin/60) londeg = substr($6,1,3) lonmin = substr($6,4,6) declon = -1 * (londeg + (lonmin/60)) if (NR==1) { holddepth = -9999 holdtemp = -9999 } else { printf("%s, %s, %9.6f, %9.6f, %5.1f, %5.1f, %s\n", holdutctime, holdutcdate, holddeclon, holddeclat, holddepth, holdtemp, ARGV[2]) } holdutctime = utctime holdutcdate = utcdate holddeclon = declon holddeclat = declat holddepth = -9999 holdtemp = -9999 } if ($1=="$SDDPT") { depthreal = $2 holddepth = depthreal } if ($1=="$SDMTW") { tempreal = $2 holdtemp = tempreal } } END { printf("%s, %s, %9.6f, %9.6f, %5.1f, %5.1f, %s\n", holdutctime, holdutcdate, holddeclon, holddeclat, holddepth, holdtemp, ARGV[2]) }This AWK script was initialized by "dohold" - shell script run under CYGWIN (UNIX like environment that runs under Windows). This shell script reads all the files in a folder with the extension "gps" and processes them. This is the script used for the April 13 data collection:
files=`ls *.gps | cut -d. -f1 | tr "[A-Z"] ["a-z"]` for file in $files do awk -f awkhold $file.gps $file > $file.holds done
cat l1f1.holds \ l1f3.holds \ l1f5.holds \ l1f7.holds \ l2f1.holds \ l3f1.holds \ l4f1.holds \ l5f1.holds \ l5f2_part1.holds \ l5f2_part2.holds \ l5f5.holds > jd103gps_mod.csvLine l5f2 was split into two parts because of a large gap within the navigation.
gpstime, gpsdate, longitude, latitude, depth_m, temp_c, lineThis text file was then imported to ArcMap 9.2 using Tools - AddXY Data. The X field is longitude; Y field is latitude, and the coordinate system was defined as Geographic, WGs84. This "Event Theme" was converted to a shapefile by right-mouse clicking on the layer - Data - Export Data.
h_corrected_ir=htrack-tidetrack_ir; h_corrected_rd=htrack-tidetrack_rd; use: h_corrected_ir=htrack+tidetrack_ir; h_corrected_rd=htrack+tidetrack_rd;
Query: "timediff" <= -41 AND "timediff" >= -50
These are all within 10 seconds, so set bestdepth = depth_m_1.
Likewise, the opposite situation needed to be handled such as gpstime = 131601 and gpstime_1 = 131554.
Query: "timediff" >= 41 AND "timediff" <= 50
And if there's an hour change:
"timediff" >=4041 AND "timediff" <=4050 (this didn't have any records) "timediff" >=-4050 AND "timediff" <=-4041 (this didn't have any records)
Now any records without a "bestdepth" ("bestdepth" = 0) the values from "addedtide" were copied over.