1. A method for generating a graph, the method comprising: receiving GPS data points for a plurality of GPS tracks; identifying points of greater curvature in the GPS tracks, wherein identifying the points of greater curvature includes simplifying the GPS tracks to provide GPS data for simplified GPS tracks; clustering the identified points of greater curvature; determining a plurality of nodes for the graph based on the clustered identified points of greater curvature in the GPS tracks; determining a plurality of connections between the nodes, the nodes and the connections defining the graph; and defining at least one primary connection and at least one secondary connection between a pair of nodes, wherein defining the at least one secondary connection between the pair of nodes comprises interpolating a same number of GPS points between the pair of nodes and clustering the GPS points in order to group the GPS points into distinct paths.