My Race Pace: GIS Solution for Marathons Matthew Garrod GEOG 596A Capstone Project Proposal, 12/19/2012 1 26.2 Miles?! Fred Lebow, New York City Marathon co-founder: "The marathon is a charismatic event. It has everything. It has drama. It has competition. It has camaraderie. It has heroism. Every jogger can't dream of being an Olympic champion, but he can dream of finishing a marathon.” Kathrine Switzer, women's marathoning pioneer: "If you are losing faith in human nature, go out and watch a marathon.” 2 Just 2 Things… 1. How fast / what pace am I going to run? 2. Where can my family & friends find me along the course? 3 How fast / what pace am I going to run? 4 How fast / what pace am I going to run? 5 Where can my family & friends find me along the course? 6 GEOG 863 GIS Mashups for Geospatial Professionals Spring 2012 7 GEOG 863 Final Project Create a GIS Web Mashup with a clickable sidebar to interact with the map 8 GEOG 863 Final Project 9 • Used Google Maps API V3 with dojo JavaScript framework, PHP, and MySQL database for storing the polyline of marathon courses • Created a sidebar to select a marathon and a goal time (i.e. pace chart) • Included a map with a polyline of the marathon course selected • Created a function to calculate distance when a user clicks on the polyline • Used time = distance / speed to calculate time of day the runner should be at the point clicked • Used Google’s direction service to calculate directions to the point clicked GEOG 863 Final Project 10 Calculate Distance on Polyline 11 Calculate Distance on Polyline 12 Calculate Distance on Polyline 13 Calculate Distance on Polyline 14 Capstone Project Expand on GEOG 863 Final Project by adding the following GIS features: 15 • Create Python script with ESRI’s arcpy Python module to populate the database with marathon courses as polylines • Add point layer on map for water stops along the marathon course • Include an option to download a GPX file that represents the course and goal time the user selected • Use Google’s elevation service to accurately determine changes in elevation for the course • Enhance the function that calculates the distance from the start of the polyline to where the user clicked Python Script • Manually find marathon courses on Garmin Connect (kml file) • Use standard Python library and ESRI’s arcpy Python module to: 1. Convert the kml to a shapefile 2. Simplify the polyline 16 3. Insert string representation of polyline (as JSON) into the MySQL database along with attributes associated to the marathon Water Stops 17 • Insert the point features into the MySQL database representing water stops along a marathon course • Add an option to toggle water stops on/off GPX What is GPX? GPX (the GPS eXchange Format) is a light-weight XML data format for the interchange of GPS data (waypoints, routes, and tracks) between applications and web services on the Internet. (GPX, 2012) • 18 Add an option to generate a GPX file based on the marathon course selected and the goal time entered Elevation Service • Use Google’s elevation service to generate an elevation model of the selected marathon course elevationService.getElevationAlongPath({ path: latlngs, samples: samples }, plotElevation); 19 Enhance Calculate Distance Function 20 Research 21 • Search for web applications with similar functionality • Demonstrate that I’m adding something new and of value • Any changes to my project based on research? Research – races2remember 22 Research - MapMyRun 23 Research – My Athlete Live 24 Research – XL Run 25 Changes after Research 26 • Options to adjust mile splits. Use Google’s elevation service to calculate when to slow down for positive elevation change and when to speed up on negative elevation change • Real-time tracking based on runner’s goal time • Add point features for medical stations • Smart phone app? Mile Splits from Elevation • 27 In addition to even mile splits, include option to use the elevation model to adjust mile splits Mile Splits from Elevation • 28 Two pass balanced distribution around zero • First pass will distribute seconds based on elevation gain or loss • Second pass will alter seconds from first pass. Weighted depending on percentage in each distribution Mile Splits from Elevation First pass. For every mile, add or subtract % of seconds depending on elevation change 29 Mile Splits from Elevation First pass. For every mile, add or subtract % of seconds depending on elevation change 30 Mile Splits from Elevation Second pass. Alter mile split seconds from first pass 31 Real-time Tracking • 32 Real-time tracking based on runner’s goal time. Possible simple smart phone app to update runner’s current position. Timeline 33 Conclusion 34 • Purpose: Link web application from individual marathon sites and/or MarathonGuide.com • Only web application that would offer the combination of time and distance with an interactive map (exception of XL Run) • Additional non-GIS features will be added (interval change to km, social media integration, print PDF of pace band, time to start line) • Incorporate real-time GPS tracking using smart phones with GPS • Full featured smart phone app? Not yet, but a must Citations Special thanks to Jim Detwiler Luff, Christine. (November 12, 2012). About.com. In Quotes About Running Marathons. Retrieved December 1, 2012, from http://running.about.com/od/runninghumor/tp/marathonquotes.htm. Foster, Dan. (n.d.). GPX: The GPS Excahnge Format. In GPX: the GPS Exchange Format. Retrieved December 1, 2012, from http://www.topografix.com/gpx.asp. [Course map of Cincinnati Flying Pig Marathon]. Retrieved December 1, 2012, from: http://www.flyingpigmarathon.com/race_information/schedule/marathon.shtml [Course map of Carmel Marathon]. Retrieved December 1, 2012, from: http://www.carmelmarathon.com/pages/marathon-halfmarathon-8k-national-championship-course [Image of Garmin Forerunner 405 watch]. Retrieved December 1, 2012, from: https://buy.garmin.com/shop/shop.do?pID=11039 [Image capture of pace band from races2remember]. Retrieved December 1, 2012, from: http://www.races2remember.com/PaceBands.php [Image capture of MapMyRun map of Cincinnati Flying Pig Marathon]. Retrieved December 1, 2012, from: http://www.flyingpigmarathon.com/race_information/schedule/marathon.shtml [Image capture of map from My Athlete Live]. Retrieved December 1, 2012, from: http://www.myathletelive.com/storage/races/2012/ohio/index.html [Image capture of XL Run iPhone App]. Retrieved December 1, 2012, from: http://www.xlrun.com/?p=170 35 GEOG 863 Final Project: http://206.130.112.6/PSU/863/Final_Project/