Vacation + Sailboat + GPS + GRASS + R
Aug 3, 2007 metroadminOverview
I recently spent some time near Huntington Lake- one of the more interesting sailing lakes in California. Lashing a GPS to the front of the boat was an enlightening way to look at the spatial and angular trends in the amount of speed I could get out of this boat. With 218 sq. feet of sail, and only 320 lbs of displacement (i.e. the boat's weight) - the Hobie 16 is an exciting 2 person boat for light to medium winds. With my regular crew absent we did not use a trapeze and thus were only able to get the boat to about 11 knots (6 m/s).
Two short excursions (approx. 5 miles each) were measured with a Garmin GPS 12, which was set to record a track point every 5 seconds. With an open horizon, and such a short tracking interval it was possible to accurately map out changes in velocity and direction over the duration of the excursions.
GRASS was used to extract line segment start and end nodes, calculate line segment length, and assign a velocity to each line segment. These data were dumped to CSV file for analysis in R. Simple plots of velocity vs. bearing from east were created. All code and GPS logs (see attached files) are included on this page. These examples demonstrate several simple GIS and plotting techniques which can be performed in GRASS & R with very few keystrokes.
Huntington Lake Bathymetry
Contours below lake level were digitized off a USGS topographic map, and an estimated elevation surface was interpolated with the RST algorithm as implemented in GRASS (v.surf.rst). This algorithm can use either iso-lines (contours) or spot (point) elevations for the interpolation. Commands used included v.digit, v.to.rast, v.surf.rst, v.type, and r.mapcalc
Data dump and preprocessing with AWK
GIS processing in GRASS
Bearing calculations and plotting ideas in R
Attachments: