The first step is to check the navigation in the GPS files. This is done by quickly parsing the GPS text file into a comma-delimited text file with a header line, and then viewing that file in ArcMap 9.2. The AWK script used to parse the navigation was awkhold.
awkhold:
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 file was executed by a shell script to effectively batch process all the files in a single folder with the extension gps. The batch processor was dohold.
dohold:
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
Under Cygwin, all of the *.holds files were concatenated into a single comma-delimited text file and a header line added to the file. The header line added to the text file was: gpstime, gpsdate, longitude, latitude, depth_m, temp_c, line.
Using ArcMap 9.2 - Tools - Add XY Data, the comma-delimited text file was added as an event theme to ArcMap. Quick visual inspection spotted erroneous navigation fixes. These fixes were then deleted from the original GPS files. These edits were performed on L6F1, L6F7, and L7F7. The modified GPS files had "_mod" appended to the prefix of the filename.