This is a small library for working with GPX files in Common Lisp.
Parts of the code are a little ugly, and it doesn't have many features, but it is still useful already.
Here is a sample usage from the REPL:
* (ql:quickload 'gpxtools) To load "gpxtools": Load 1 ASDF system: gpxtools ; Loading "gpxtools" ..... (GPXTOOLS) * (defparameter *gpx* (gpxtools:read-gpx "/Users/jeremiah/gpx_tracks/precarious_climb.gpx")) Processing track: ACTIVE LOG *GPX* * (gpxtools:summarize *gpx*) Total elevation gain: 3567.271946242661d0 feet Total elevation loss: -3538.885209324304d0 feet Total elevation loss: 6.437161570619994d0 miles NIL * (gpxtools:elevation-plot *gpx* :file-name "/Users/jeremiah/gpx_tracks/precarious.png") collect-points returning 1906 points Plotting 1905 points. #P"/Users/jeremiah/gpx_tracks/precarious.png" *