This document describes a running routes finder app that uses OpenStreetMap data and crime incident reports to generate personalized running routes from a user's home address. It discusses using a cost function along with the Dijkstra algorithm to find optimal routes by balancing factors like crime rates, route length, preference for paths vs sidewalks, and avoiding retreading the same routes. The document provides examples of the app input and output and proposes future features to incorporate additional real-time data on traffic, crowds, noise, and air quality. It concludes by showing how the cost function and algorithm can be tuned by adjusting the weights of different cost factors.
2. Where to run?
● Solution: An app designing personalized
routes based on home address!
● Current recommendations: not
personalized; not based on home
address
4. Data source: streets data + features data
● OpenStreetMap: street network
4032 streets for running
● Boston Crime Incident Reports
18199 crime incidents with time
data in the last 3 years
5. Data source: streets data + features data
● OpenStreetMap: street network
4032 streets for running
● Boston Crime Incident Reports
Morning Evening
6. Challenge: balance between the performance and the efficiency
● Alternative way:
intermediate destinations
…...
● An exhaustive search: too many
routes for a long distance!
7. Incorporate cost functions with Dijkstra algorithm to find the optimum path
● Example: Re-treading routes
Crime (based on time)
+
Preference to path?
+
Length
+
Re-treading?
More re-
treading
Less re-
treading
● Features in cost function
13. Cost function used
d: distance of the way segment
p_path: user’s preference on having a path
N_path: (if a path, 0; if a sidewalk, 1)
p_retreading: user’s sensitivity on re-treading
N_retreading: (if retreading, 1; if not, 0)
p_crime: set as 1 (needs more experiment)
S_crime: score for crime
17. How much does the cost function
drops given the route change?
Editor's Notes
As safety is the major concern, crime is firstly incorporated. The data is classified into 4 groups based on time of the day, to estimate the safety of running route based on time chosen.
Equilateral triangle with side length related to input distance