#!/usr/bin/awk -f # This script converts dumps from Magellan GPS receivers into a format that is readable by Grass v.in.ascii. # Output is in UTM, with the WGS84 datum. Input is presumed to also be on the WGS84 datum. # This script relies on the proj program, available from http://proj.maptools.org/. BEGIN { FS="," } { latD=int($2/100) latM=$2-(latD*100) lonD=int($4/100) lonM=$4-(lonD*100) elev=$6/1 name=$8 latitude=latD+(latM/60) longitude=lonD+(lonM/60) if ((latitude>=72) && (longitude>=0)) { if (longitude<9) merid=3 else if (longitude<21) merid=15 else if (longitude<33) merid=27 else if (longitude<42) merid=39 } else if ((latitude>=56) && (latitude<64) && (longitude>=3) && (longitude<12)) merid=9 else merid=(int(longitude/6)*6)+3 coordString=latD"d"latM"\'"$3" "lonD"d"lonM"\'"$5 converter="echo "coordString" | /usr/local/bin/proj +proj=utm +lon_0="merid$5" -r -f \"%.0f\"" converter | getline UTMcoords close(converter) } /^\$PMGNTRK/ { system("echo \""UTMcoords" "elev"\" | awk '{print($1\"|\"$2)}' >> track.txt") } /^\$PMGNWPL/ { system("echo \""UTMcoords" "elev" "name"\" | awk '{print($1\"|\"$2\"|\"$3\"|\"$4)}' >> waypts.txt") } END { }