Routing along streets
Routing along streets uses a connected network of lines called a graph. The lines in the graph can have impedance values that discourage a routing algorithm from including them in a route. Examples of impedance values often include traffic volume, speed limit, or even distance. A key requirement for a routing graph is that all of the lines, known as edges, must be connected. Road datasets created for mapping will often have lines whose nodes do not intersect. In this example, we'll calculate the shortest route through a graph by distance. We'll use a start and end point which are not nodes in the graph, which means we'll have to first find the graph nodes closest to our start and destination.
To calculate the shortest route, we'll use a powerful pure Python graph library called NetworkX (NX). NX is a general network graphing library which can create, manipulate, and analyze complex networks including geospatial networks. If pip does not install NetworkX on your system...