Peter Vojtek has a new web app online called AnalyzeMyTrack! that lets you analyze your GPS track files (in GPX format). Upload the GPX file, and get back:
- An interactive graph of speed vs. distance

- Interactive altitude profile as a function of distance

- A “Basic Analysis” of the track stats, with the option to plot the position with the highest speed in Google Maps

- A lookup of the closest geographic features to points in the track using the Geonames server
- Supposedly also the ability to add your GPX track to your Google Maps MyMaps page, but I was unable to get that to work, at least in Firefox 3
Other posts in the GPS Tools series
- Simplifying GPS Tracks
- Recap Of Exporting/Importing GIS Data To/From A GPS Unit Series
- Freeware GPS Road Navigation Software
- GPS Satellite Display In Google Earth
- Solar GPS DataLogger
- Loading An AutoCAD DXF File Into A GPS Or Google Earth
- Open Source Web-Based GPS Fleet Tracking Software
- Determining Local GPS Satellite Geometry Effects On Position Accuracy
- Determining Terrain Effects On GPS Accuracy
- GPS File Format Converter
- “Turn Your Cellphone Into A GPS!”? Not Exactly, But Still Kinda Cool
- USAPhotoMaps: GPS Functions
- Java-Based GPS Route Format Converter
- RouteConverter Updated
- Create Location-Based Media (Games, Hikes, Tours, Etc.) With Mscape
- Protecting Your GPS Unit Screen
- Upload Google Maps Directions As A Route To A GPS
- Get-A-Route Upgraded Already
- Two Free Applications For Marine Navigation
- KML To GPX Converter For PC And Mac
- Creating GPS Routes And Tracks In Google Earth
- GPS “Dilution Of Precision” (DOP) Maps
- Real-Time GPS/WAAS Status Reports
- Cheap Bluetooth GPS Antenna And Data Logger
- Improving Position Measurement Accuracy In Consumer-Grade GPS Receivers - Part I
- Cheap Digital Camera With Built-In GPS
- Cheap GPS Antennas, Compasses, Oddball Gadgets And Junk
- Improving Position Measurement Accuracy In Consumer-Grade GPS Receivers - Part II
- RouteConverter Updated - Java GPS Route Editing And Conversion For Windows (Mac And Linux Too?)
- Sports Route Planning Software For The Macintosh
- OKMap - GPS Mapping Software For The Beta-Adventurous
- Create Bicycle/Travel Courses For Your Garmin Edge/Forerunner GPS With Bike Route Toaster
- Web App For Analyzing GPS Tracks


I attempted to use this with a small trackline (500 points) uploaded from Garmin Mapsource, but it returns a page error in Firefox 3, and the following error in IE7.
————————————–
NoMethodError in GeoController#result
You have a nil object when you didn’t expect it!
The error occurred while evaluating nil.elevation
RAILS_ROOT: /home1/mytrackn/rails/gpx2
Application Trace | Framework Trace | Full Trace
app/controllers/geologic/track.rb:132:in `computeElevations’
app/controllers/geologic/gpx_parser.rb:62:in `advancedResultLayout’
app/controllers/geo_controller.rb:36:in `result’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:1162:in `send’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:1162:in `perform_action_without_filters’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/filters.rb:580:in `call_filters’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/filters.rb:573:in `perform_action_without_benchmark’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue’
/usr/lib/ruby/1.8/benchmark.rb:293:in `measure’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/rescue.rb:201:in `perform_action’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:529:in `send’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:529:in `process_without_filters’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/filters.rb:569:in `process_without_session_management_support’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/session_management.rb:130:in `process’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:389:in `process’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:149:in `handle_request’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:107:in `dispatch’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:104:in `synchronize’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:104:in `dispatch’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:120:in `dispatch_cgi’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:35:in `dispatch’
dispatch.cgi:10
app/controllers/geologic/track.rb:132:in `computeElevations’
app/controllers/geologic/gpx_parser.rb:62:in `advancedResultLayout’
app/controllers/geo_controller.rb:36:in `result’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:1162:in `send’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:1162:in `perform_action_without_filters’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/filters.rb:580:in `call_filters’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/filters.rb:573:in `perform_action_without_benchmark’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue’
/usr/lib/ruby/1.8/benchmark.rb:293:in `measure’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/rescue.rb:201:in `perform_action’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:529:in `send’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:529:in `process_without_filters’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/filters.rb:569:in `process_without_session_management_support’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/session_management.rb:130:in `process’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:389:in `process’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:149:in `handle_request’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:107:in `dispatch’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:104:in `synchronize’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:104:in `dispatch’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:120:in `dispatch_cgi’
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:35:in `dispatch’
dispatch.cgi:10
Request
Parameters:
{”commit”=>”Process!”,
“authenticity_token”=>”0d69242fcb508465f9a8fa9ead5c90f4ee48ece6″,
“country”=>”United States of America”,
“upload”=>{”datafile”=>#},
“precision”=>”0.25 km”}
Show session dump
—
:csrf_id: 338719a72d7d148639da8d351a465608
flash: !map:ActionController::Flash::FlashHash {}
Response
Headers:
{”cookie”=>[],
“Cache-Control”=>”no-cache”}
Same experience some author of this blog. Looks good, but should have filtered out error max speed (650km/h is not real), other analyze tool do this. Doesn’t say if speed is calculated included stopped time or not. But in general, great!