Convex Hulls with GPS + GPX + HXT
October 22, 2010
GPS, a toy library for basic Latitude/Longitude based calculations, has just received a small face lift. I now leverage the GPX library and its classes/data types of Lat, Lon, and Time so GPS no longer needs to declare Latitude, Longitude, Coordinate, or Location.
In addition to the old addVector, restLocations, heading and divideArea functions GPS now also includes a convexHull function. Here’s how to get a convex hull from a gpx trace produced by a logger:
import Text.XML.HXT.Arrow import Data.GPS import Data.Geo.GPX import System.Environment import Control.Monad main = do fs <- getArgs g >> xpickleDocument xpickle [(a_indent, v_1)] "convexHull.gpx") return ()