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 indicated the navigational fixes appear valid.