# Garrod

```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
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
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/
```