úÎ"ã!.     !)Speed is hard coded as meters per second ,Angles are expressed in radians from North.  0 == North  pi/ 2 == West  pi == South  (32)pi == East == - (pi  2) "Distances are expressed in meters  0 = North, pi/ 2 = West... Speed in meters per second radius of the earth in meters North is 0 radians ,South, being 180 degrees from North, is pi. East is 270 degrees from North West is 90 degrees (pi/2) :Given a vector and coordinate, computes a new coordinate. , Within some epsilon it should hold that if  %dest = addVector (dist,heading) startthen   heading == dmsHeading start dest dist == distance start dest Provides a lat/lon pair of doubles in radians \Filters out any points that go backward in time (thus must not be valid if this is a trail) LCreates a list of trails all of which are within the given distance of each 2 other spanning atleast the given amount of time.  For example restLocations 50 600 N would return lists of all points that are within 50 meters of each other and ) span at least 10 minutes (600 seconds). MNote this gives points within fifty meters of the earliest point - wandering K in a rest area with a 50 meter radius could result in several rest points  ([a,b..]F) or even none if the distance between individual points exceeds 50m.  QReturns the closest distance between two trails (or Nothing if a trail is empty)  O( (n * m) * log (n * m) ) divideArea vDist hDist nw se( divides an area into a grid of equally I spaced coordinates within the box drawn by the northwest point (nw) and J southeast point (se). Because this uses floating point there might be a O different number of points in some rows (the last might be too far east based " on a heading from the se point). BUses Grahams scan to compute the convex hull of the given points. 6 This operation requires sorting of the points, so don't try it unless D you have notably more memory than the list of points will consume.  Find the southmost point     !      !"# gps-0.5.0Data.GPSTrailVectorSpeedHeadingDistance radiusOfEarthnorthsoutheastwest addVector getRadianPair restLocationsclosestDistance divideArea convexHullTurnStraight RightTurnLeftTurn TempTrailT getUTCTimedistanceheading getVectorspeedgetRadianPairD toRadians linearTime takeWhileLastturn southMost