First, the navigation in the GPS files was checked. The navigation in the GPS files was inspected visually. This was done by quickly parsing the GPS text files into comma-delimited text files with a header line, and then viewing the files in ArcMap 9.2. The AWK scripts used to parse the navigation was awkhold.
awkhold:
BEGIN {
FS = ","
}
{
FS = ","
ARGC = 2
depth = -9999
temp = -9999
if (NR==1)
{
#printf("utctime, longitude, latitude, depth_m, temp_c, line\n")
}
if ($1=="$GPRMC")
{
utctime = $2
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, %9.6f, %9.6f, %5.1f, %5.1f, %s\n", holdutctime, >holddeclon, holddeclat, holddepth, holdtemp, ARGV[2])
}
holdutctime = utctime
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, %9.6f, %9.6f, %5.1f, %5.1f, %s\n", holdutctime, 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`
for file in $files
do
awk -f awkhold $file.gps $file >> may15_09_gps.txt
done
Under Cygwin, all of the hold 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, 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. No erroneous points were detected.