Route network simplification for transport planning

Authors
Affiliations

Robin Lovelace

Leeds Institute for Transport Studies, University of Leeds, UK

Zhao Wang

Leeds Institute for Transport Studies, University of Leeds, UK

Will Deakin

Digital, Data and Technology services, Network Rail, UK

Josiah Parry

Environmental Systems Research Institute, Redlands, CA, USA

Abstract

Route network datasets are central to transport models as key inputs and outputs. The complexity of route network inputs from sources such as OpenStreetMap has increased over time, enabling more precise modelling of sustainable modes such as walking and cycling. However, this complexity can affect the visualisation of model results. A common issue is the presence of multiple parallel ways on the same corridor, which can lead to visual artefacts and misinterpretation of model outputs. To address this challenges, we present and compare two methods for simplifying route network datasets: 1) image skeletonization and 2) Voronoi diagram-centreline identification. These methods have real-world applications, as illustrated in the “Simplified network” layer in the Transport for Scotland funded Network Planning Tool, which is publicly available at www.npt.scot. Based on open access data and the open source parenx Python package, available on the Python Package Index, these methods are not only reproducible but also adaptable, enbabling their use in new contexts.

1 Introduction

Datasets representing route networks are important in every stage of transport planning. Transport network datasets are spatial networks composed of nodes and edges, in which each edge has an associated edge cost (its weighted or unweighted length) (Barthélemy 2011). Nodes (points connecting edges) and the edges that connect them (lines between nodes representing ways) are located in space, with the edges representing the physical infrastructure of the transport network, often with attributes such as the type of way, its physical characteristics, and usage data, e.g. daily traffic for each way. Route network simplification can be applied to both the input and output networks of transport models, with the aim of reducing complexity while preserving the spatial structure of the network and relevant attributes.

Growing availability of high resolution geographic datasets and performant hardware and software has enabled people (e.g. via OpenStreetMap) and mapping agencies to generate increasingly detailed maps, a trend that is set to continue. Sustainable transport planning benefits from this trend, but the complexity and intricacy of street network geometries can create problems. A clear and intuitive visual representation is crucial for identifying issues such as bottlenecks, congestion hotspots, and areas of poor accessibility. Consequently, the necessity for network simplification becomes evident, aligning with wider ‘map generalization’ methods for pre-processing datasets depending on the scale of analysis (Sutton 1998). 25 years since Sutton’s paper on the topic, simplification of networks for transport planning and other applications remains an unsolved challenge. –>

Vector geometry simplification methods include Douglas-Peucker and Visvalingam-Whyatt algorithms (Liu et al. 2020; Magalhaes et al. 2014). While preserving the overall shape and geographical accuracy, this method struggles to reduce network complexity. Vector smoothing approaches, including the use of Bezier curves (Pradhan and Pradhan 2023) and Kernel-based smoothing (Duong 2022), can create more visually appealing lines or polygons, but do not reduce the number of vertices.

A common approach is simplification through converstion to an intermediate polygon (buffer) layer. Numerous algorithms for such ‘medial axis’ calculationsjave been published open source software repositories (e.g. Smogavec and Žalik 2012; “Centerline - Crates.io: Rust Package Registry” 2023). Recent implementations of network simplification methods include the under-development neatnet Python package (Fleischmann, Vybornova, and Gaboardi 2024), and the parenx package which is available on the Python Package Index (Deakin 2024). The latter is used in this paper.

Other network simplification methods for transport planning include automatic detection of ‘face artifacts’ (M. Fleischmann and Vybornova, n.d.) and removal of ‘slivers’ to generate simplified representations of ‘street blocks’ (Grippa et al. 2018). However, these methods tend to be ‘all or nothing’ and do not provide flexibility in terms of the level of simplification or which features are removed.

Network simplification can be useful for a wide range of applications. Riverine research and flood mapping applications, for example, require estimates of many river characteristics, including simplified centerlines derived from datasets representing river banks, as implemented in software including the R package cmgo (Golly and Turowski 2017) and an approach implemented in Google Earth Engine called RivWidthCloud (Yang et al. 2020). The riverdist R package, to provide another example, provides functionality for checking whether datasets representing river channels are braided and for removing braids by returning only the shortest paths along the lengths of river centerlines, for example (Tyers 2016).

The aim of this paper is to articulate the problem of complex route networks, present solutions with implementations in open source software for reproducible research, and describe applications of the methods to support more effective transport planning. Section 2 outlines the problem of complex route networks. Section 3 presents methods for route network simplification alongside results based on the example datasets. Section 4 demonstrates the methods applied to a real transport network (Edinburgh, Scotland) and Section 5 concludes with a discussion of the results and future work.

2 Problem definition

The problem tackled in this paper is the simplification of complex route networks. This can be illustrated with reference to the Propensity to Cycle Tool for England (PCT) (Lovelace et al. 2017), the route networks of which are on methods for aggregating multiple overlapping routes into a route network with non-overlapping linestrings Morgan and Lovelace (2020). Implemented in the function overline() in the stplanr R package (Lovelace et al. 2017), the methods enable visualization of large transport networks and inform investment decisions in transport planning internationally (Lovelace et al. 2024; Félix, Moura, and Lovelace 2025). However, this ‘overline’ approach, without further processing, has limitations:

  • Functionally redundant vertices are kept, leading to large file sizes and slow rendering.
  • Parallel ways that are not merged.

The latter issue is particularly problematic for visualisation of transport networks, as shown in Figure 1. The left panel shows Otley Road with a flow value of 818 (Figure 1 (a)). The right panel, by contrast, shows three parallel ways parallel to Armley Road with flow values of 515 (shown), 288 and 47 (values not shown) (Figure 1 (b)). Although this section of Armley road has a higher cycling potential than the section of Otley Road shown (515 + 288 + 47 > 818), this is not clear from the visualisation.

(a)
(b)
(c)
(d)
Figure 1: Vector (top) and raster (bottom) visualisations of route network results in the Propensity to Cycle Tool. Note that it is not clear from the visualisation that the corridor shown in the right hand figures (Armley Road corridor) has greater flow than the corridor shown in the left (Otley Road). Note also the visual artefacts such as ‘staircase’ effects and overlapping values resulting from parallel lines along Armley Road (right panel). Source: open access Propensity to Cycle Tool results available at www.pct.bike.

3 Data and Methods

In this paper we use the two street networks discussed in the previous section to illustrate the methods. See the parenex cookbook’ and Methods appendices for further details on the methods used in this paper and their application to alternative (railway based) datasets.

There are two main challenges that need to be overcome to simplify transport networks, in a way that preserves their value:

  1. Simplifying the geometry
  2. Assigning attributes to the simplified network

The key contributions of the paper are the novel methods of image skeletonization, presented in Section 3.1, and simplification with Voronoi diagrams to identify central lines, covered in Section 3.2.

3.1 Simplification via skeletonization

The skeletonization approach generates a simplified network by buffering the network, applying an image skeletonization algorithm, and extracting lines segements from a raster of this buffer.

In both the skeletonization and Voronoi approaches, the network simplification process starts by applying a buffer to linear geometry in a projected, rather than coordinate system. We use a buffer size of 8 meters in this paper.

In skeletonization, overlapping lines are identified, buffered, transformed into a raster image, the image processed through a thinning algorithm, and a skeletal representation of the original network produced (see Methods appendix for details). This skeletal structure preserves the overall extent and connectivity of the network, with a central line that follows the centre-line of the combined buffered area.

In detail, skeletonization is only applied where more than line-segment buffer overlaps. To identify overlapping line-segments, the buffer is split at the end of each line-segment. The overlapping line-segments are then buffered while retaining the remaining disjoint lines.

As detail is lost in transforming of the geometry to an image buffer or raster, more detail can be retained by using an affine transformation to increase the number of points in the buffer prior to skeletonization and reducing scale when creating the simplified linear geometric representation. This transformation is scaled to ensure that the projected coordinate geometry of the network aligns accurately with the corresponding dimensions of the scaled raster image. The raster image also requires pre-processing to eliminate small holes that appear where buffered lines run parallel or intersect at shallow angles. The skeltonisation algorithm is then appled to the raster image yielding a skeletal raster image and converted back into a linear vector geometry, completing the vector-to-raster-to-vector geometry transformation (see Methods appendix for details).

Adjacent points are identifed, typically within a 1x1 pixel square, based on proximity within the raster image coordinate system. Line segments are then created by connecting these adjacent points. These points are combined, giving a continuous line geometry representing the simplified network. Finally, a reverse scaling affine transformation is applied to return to the original coordinate system.

Noting that creating a line geometry from the set of points in the raster buffer is arguable the most complex step.

3.2 Simplification via Voronoi polygons

Voronoi simplification takes the buffered network segments and converts them into a set of points. The edges of these buffers are then segmented into sequences of points. From these sequences, a centre-line is derived based on a set of Voronoi polygons that cover these points. This approach facilitates the creation of a simplified network representation by focusing on the central alignment of the buffered lines.

Voronoi lines that are completely enclosed within the buffer geometry and are situated at a distance of less than half the buffer’s width from the buffer edge are selected. This selective visualization of Voronoi lines effectively demonstrates the method precision in capturing and representing the central alignment of the transport network within its buffered confines. The final center-line network is created through a clean up process that involves the removal of knot-like features from the simplified network. While knots common to both skeletonization and Voronoi simplification, these artefacts are more prevalent on Voronoi simplified networks.

Figure 2: Original and simplified versions of the Otley Road (top) and Armley Road (bottom) networks. From left to right: original network, skeletonized network, Voronoi simplified network.

3.3 Post-Processing

Both skeletonization and Voronoi simplified networks require post-processing to remove unwanted knots, short segments at intersections, resembling tangled knots. To remove these features, short segments are clustered together, and a central point for each cluster is determined. The end-points of longer lines that connect to these segment clusters are then realigned to the cluster’s central point, as illustrated in the Methods appendix.

An additional optional stage is to simplify the network further by removing vertices that are not essential for the network’s connectivity, resulting in a primal network that captures the essential connectivity and layout of transport routes. The primal network is thus composed of direct lines connecting start and end points, representing a high level of simplification that prioritises the network’s structure and compression.

See Section 4 in Methods appendix for details.

3.4 Joining route networks

After generating a simplified network using the methods, it is often useful to translate attributes from the original network to the simplified network. In the context of network planning tools, the purpose of the joining stage is to join traffic estimates from the source network onto the geometrically simplified target network (Sutton 1998).

In this case there is no definitive key, meaning that network joining can be regarded as a ‘fuzzy’ or ‘keyless’ join process (Suri et al., n.d.; Wachowicz and Mrozek 2019): as with the network simplification steps outlined above, the user must select joining parameters to maximise the accuracy of the join. There are at least a couple of implementations of network joining methods in open source software: the rnet_merge() function in the stplanr R package (Lovelace, Ellison, and Morgan 2019), and the rnetmatch Rust crate for which has bindings to R and Python are planned. The details of network joining methods, algorithms and implementations are outside the scope of this paper, see the documentation associated with the projects mentioned above for more information.

4 Application to Edinburgh City Centre

Figure 3 illustrates the methods presented in this paper, providing a comparative view of the impact of our methodology. The skeletonized network (top right) is a simplified version of the input dataset, with the Voronoi diagram (bottom left) providing an alternative simplification. Finally, the primal network (bottom right) is the most simplified version of the input dataset, with only the most essential connections retained.

Figure 3: Results of the route network simplification methods applied to Edinburgh city center, comparing the input dataset (top left), skeletonized network (top right), Voronoi diagram (bottom left), and primal network (bottom right).

5 Discussion and Conclusion

The two main methods developed in this paper are implemented in the open source software for reproducible research (see the reproducible source code of this paper at github.com/nptscot). Both Skeletonization and Voronoi-based methods result in geometries that are substantially simpler and less resource-intensive for subsequent network analysis steps, while preserving the essential connectivity and spatial characteristics of the original network. Which to use, and the appropriate balance between simplification and preservation of network geometries will vary depending on the specific requirements of the analysis. An advantage of the implementations we have developed, in the Python package parenx, is that they are adaptable to the requirements of the user, from low levels of simplification to the aggressive simplification of a ‘primal network’ (see the parenx cookbook).

There are several potential directions of travel building on this work. One is to explore alternative algorithms for thinning buffered networks, recursively, for example the grassfire algorithm (Leymarie and Levine 1992), or with medial axis algorithms (e.g. Smogavec and Žalik 2012). Another is to speed up the process, with options including parallelisation, implementation in lower-level languages, and optimisation of the algorithms themselves.

We developed the methods to support the Network Planning Tool for Scotland, which provides a strong evidence base enabling more data-driven prioritisation of investment in active travel infrastructure. However, we believe it has applications beyond this use case, for example in strategic rail network modelling and transport network redesign to support more sustainable transport systems.

6 Data Availability

All data and code used to generate the results presented in this paper are available in the GitHub repository associated with the paper, to be made available upon acceptance. To ensure that the paper is fully reproducible, we use GitHub actions to rebuild the paper whenever changes are made to the repository.

7 References

Barthélemy, Marc. 2011. “Spatial Networks.” Physics Reports 499 (13): 1101. http://www.sciencedirect.com/science/article/pii/S037015731000308X.
“Centerline - Crates.io: Rust Package Registry.” 2023. https://crates.io/crates/centerline.
Deakin, Will. 2024. Parenx. https://github.com/anisotropi4/parenx.
Duong, T. 2022. “Statistical Visualisation for Tidy and Geospatial Data in r via Kernel Smoothing Methods in the Eks Package.” arXiv Preprint arXiv:2203.01686.
Félix, Rosa, Filipe Moura, and Robin Lovelace. 2025. “Reproducible Methods for Modeling Combined Public Transport and Cycling Trips and Associated Benefits: Evidence from the biclaR Tool.” Computers, Environment and Urban Systems 117 (April): 102230. https://doi.org/10.1016/j.compenvurbsys.2024.102230.
Fleischmann, Martin, and Anastassia Vybornova. n.d. “A Shape-Based Heuristic for the Detection of Urban Block Artifacts in Street Networks.”
Fleischmann, Anastassia Vybornova, and James Gaboardi. 2024. Neatnet: Street Geometry Processing Toolkit. https://github.com/uscuni/neatnet.
Golly, Antonius, and Jens M. Turowski. 2017. “Deriving Principal Channel Metrics from Bank and Long-Profile Geometry with the r Package Cmgo.” Earth Surface Dynamics 5 (3): 557–70. https://doi.org/10.5194/esurf-5-557-2017.
Grippa, Taïs, Stefanos Georganos, Soukaina Zarougui, Pauline Bognounou, Eric Diboulo, Yann Forget, Moritz Lennert, Sabine Vanhuysse, Nicholus Mboga, and Eléonore Wolff. 2018. “Mapping Urban Land Use at Street Block Level Using OpenStreetMap, Remote Sensing Data, and Spatial Metrics.” ISPRS International Journal of Geo-Information 7 (7): 246. https://doi.org/10.3390/ijgi7070246.
Leymarie, F., and M. D. Levine. 1992. “Simulating the Grassfire Transform Using an Active Contour Model.” IEEE Transactions on Pattern Analysis and Machine Intelligence 14 (1): 56–75. https://doi.org/10.1109/34.107013.
Liu, B., X. Liu, D. Li, Y. Shi, G. Fernandez, and Y. Wang. 2020. “A Vector Line Simplification Algorithm Based on the Douglas–Peucker Algorithm, Monotonic Chains and Dichotomy.” ISPRS International Journal of Geo-Information 9 (4): 251.
Lovelace, Robin, Richard Ellison, and Malcolm Morgan. 2019. Stplanr: Sustainable Transport Planning.
Lovelace, Robin, Anna Goodman, Rachel Aldred, Nikolai Berkoff, Ali Abbas, and James Woodcock. 2017. “The Propensity to Cycle Tool: An Open Source Online System for Sustainable Transport Planning.” Journal of Transport and Land Use 10 (1). https://doi.org/10.5198/jtlu.2016.862.
Lovelace, Robin, Joey Talbot, Eugeni Vidal-Tortosa, Hussein Mahfouz, Elaine Brick, Peter Wright, Gary O’Toole, Dan Brennan, and Suzanne Meade. 2024. “Cycle Route Uptake and Scenario Estimation (CRUSE): An Approach for Developing Strategic Cycle Network Planning Tools.” European Transport Research Review 16 (1). https://doi.org/10.1186/s12544-024-00668-8.
Magalhaes, S. V. de, M. V. Andrade, W. R. Franklin, and W. Li. 2014. “An Efficient Map Generalization Heuristic Based on the Visvalingam-Whyatt Algorithm.”
Morgan, Malcolm, and Robin Lovelace. 2020. “Travel Flow Aggregation: Nationally Scalable Methods for Interactive and Online Visualisation of Transport Behaviour at the Road Network Level.” Environment & Planning B: Planning & Design, July. https://doi.org/10.1177/2399808320942779.
Pradhan, A., and M. P. Pradhan. 2023. “A Modified Bezier Curve Technique for Automatic Reconstruction of Broken Contour Lines Extracted from a Poor-Quality Topographic Map.” Multimedia Tools and Applications 82 (12): 18299–325.
Smogavec, G., and B. Žalik. 2012. “A Fast Algorithm for Constructing Approximate Medial Axis of Polygons, Using Steiner Points.” Advances in Engineering Software 52 (October): 1–9. https://doi.org/10.1016/j.advengsoft.2012.05.006.
Suri, Sahaana, Ihab F. Ilyas, Christopher Ré, and Theodoros Rekatsinas. n.d. “Ember: No-Code Context Enrichment via Similarity-Based Keyless Joins.” https://doi.org/10.48550/arXiv.2106.01501.
Sutton, John. 1998. “Data Attribution and Network Representation Issues in GIS and Transportation.” Transportation Planning and Technology 21 (1-2): 25–41. https://doi.org/10.1080/03081069708717600.
Tyers, Matt. 2016. “Riverdist: River Network Distance Computation and Applications.” The R Foundation. https://doi.org/10.32614/cran.package.riverdist.
Wachowicz, Anna, and Dariusz Mrozek. 2019. “Fuzzy Join as a Preparation Step for the Analysis of Training Data.” In, edited by Stanisław Kozielski, Dariusz Mrozek, Paweł Kasprowski, Bożena Małysiak-Mrozek, and Daniel Kostrzewa, 263–73. Communications in Computer and Information Science. Cham: Springer International Publishing. https://doi.org/10.1007/978-3-030-19093-4_20.
Yang, Xiao, Tamlin M. Pavelsky, George H. Allen, and Gennadii Donchyts. 2020. “RivWidthCloud: An Automated Google Earth Engine Algorithm for River Width Extraction from Remotely Sensed Imagery.” IEEE Geoscience and Remote Sensing Letters 17 (2): 217–21. https://doi.org/10.1109/lgrs.2019.2920225.