Chapter 6. Network Analysis
In this chapter, we will cover the following recipes:
- Creating a simple routing network
- Calculating the shortest paths using the Road graph plugin
- Routing with one-way streets in the Road graph plugin
- Calculating the shortest paths with the QGIS network analysis library
- Routing point sequences
- Automating multiple route computation using batch processing
- Matching points to the nearest line
- Creating a network for pgRouting
- Visualizing the pgRouting results in QGIS
- Using the pgRoutingLayer plugin for convenience
- Getting network data from the OSM
This chapter focuses on the common use cases that are related to routing within networks. By far, the most common networks that are used to route are street networks. Other less common cases include networks for indoor routing, that is, through rooms inside buildings, or networks of shipping routes.
Networks and routing are in no way a GIS-only topic. You will find a lot of math literature related to this, called
Graph Theory. In this chapter, we will use the following terms to talk about networks:
- A network (also known as graph) is a collection of connected objects
- These objects are called nodes (also known as vertices)
- The connections between nodes are called links (also known as edges)
The following figure explains these terms:
The two routing tools that are commonly used with QGIS are as follows:
- The Road graph plugin, which is one of the QGIS core plugins; that is, this plugin is available in every QGIS installation, but you may have to activate it in Plugin Manager
- The PostGIS extension pgRouting, which can be used directly through the QGIS DB Manager, or more comfortably through the pgRoutingLayer plugin, which can be installed from the QGIS plugin repository using Plugin Manager