Measuring the elevation
Using the excellent Google Chart API, we can quickly build a nice elevation profile chart showing how the elevation changes across the route:
# Build the elevation chart using the Google Charts API log.info("Creating elevation profile chart") chart = SimpleLineChart(600, 300, y_range=[min(elvs), max(elvs)]) # API quirk - you need 3 lines of data to color # in the plot so we add a line at the minimum value # twice. chart.add_data([min(elvs)]*2) chart.add_data(elvs) chart.add_data([min(elvs)]*2) # Black lines chart.set_colours(['000000']) # fill in the elevation area with a hex color chart.add_fill_range('80C65A', 1, 2) # Set up labels for the minimum elevation, halfway value, and max value elv_labels = int(round(min(elvs))), int(min(elvs)+((max(elvs)-min(elvs))/2)), \ int(round(max(elvs))) # Assign the labels to an axis elv_label = chart.set_axis_labels(Axis.LEFT, elv_labels) # Label the axis elv_text = chart.set_axis_labels...