Evaluating Jogging Routes in Mass Models

A project that uses an accessibility graph with user-input to find jogging routes in a city, weighting them by sun conditions over time, such as glare and shadows. 


Designers and Urban Planners use various tools and metrics to help guide their decisions. Evaluating an urban environment based on distance to amenities (i.e., a source and destination) is only part of the movement experience of an occupant. In recreational movement such as walking, jogging, and running, people plan a path in which the start and end point is the same. The route taken and the experience along this route has implications for the satisfaction of the occupant. This paper introduces a straightforward method of generating all possible routes via two waypoints that meet a user-defined criteria for the total length of the route based on travel speed and time. Two new evaluative metrics for the paths are introduced: the percentage of the path that is in shade as well as the percentage that contains the Sun in the glare range of a person. As the latter aspect is a function of direction, a directed graph is used to factor in the directionality of the recreational route. Similarly, the truest location of the person is required for evaluating the impact of the built environment so the sidewalk, rather than road centerlines, are used.

While existing tools evaluate human experiences based on visibility to other locations or distances to transportation, there is yet to be a focus on occupant physical and visual experience based on solar lighting. Unlike real-time path planners, the goal is not to find an optimal or most comfortable route, but rather evaluate an exhaustive set of routes formulated based on the environment (in particular, the sidewalk and crosswalk surfaces) given. Using these routes (left), various metrics can be calculated and provide a score– not of the route itself, but of the environment that led to those routes being created.

Path Planning

Computing recreational routes (i.e., walking, jogging, running, cycling) in a city has been demonstrated most often in the field of computer graphics. 

However often in these works, particularly in the domain of human computer interaction, the emphasis is on the real-time generation of a single path for a user (e.g., on a phone app). The input data is largely based on maps (e.g., OpenStreetMap) and has little access to the three dimensional aspect of the built environment.

(Below) Visualization of waypoint selection process (from left to right) of a single given starting position. The process in steps 2, 3, 4 is applied for every node in the initial ring of step 1.

To provide an overall evaluation of diversity among loop-based jogging routes in the environment, three main steps are taken. First, the traversable surfaces of the environment are discretized into a grid-based dense graph in which the nearest neighbors are connected (eight neighbors). Then, a sequence of nodes that satisfy a user-specified distance a jog should be such that the sum of edge costs in the sequence are within some threshold of the total distance is found. Once the routes are created, the two evaluation metrics are calculated for a series of time periods defined by a user.

Shade and Glare Metrics

(Above) (3a): Illustration of the inverse sun vector being cast from a node to determine if it is within a shadow or not. (3b): Calculation method for determining if a direction a person is moving would be subject to glare from the sun.

A route is ordered, so direction is accounted for in the calculation.

Paths Computation

(Above) (4a-4c) perspective view of the generated city with increasing building heights from ESRI CityEngine. (4d-4f) A top view of the city (corresponding to the city directly above each image) with accumulative shadow scores calculated by the average number of times a node was in shadow or not over the designated sample period defined in the input parameters. The color is based on a low occurrence of times in the sun (blue) to high rate of occurrence (red).

Occupant Parameters

Environment Parameters