Comparing Centreline Extraction Methods: Voronoi Diagrams, Triangulation, And More

What is Centreline Extraction and Why It Matters

Centreline extraction refers to the computational process of identifying and representing the skeletal midlines of transportation networks and utility lines from spatial data. This reveals key paths and connectivity that are crucial for applications like routing, asset management, and service area analysis.

For road networks, extracted centrelines provide critical linear reference systems for locating addresses, analyzing accessibility, assigning maintenance responsibility, and coordinating underground utilities. They also facilitate dynamic routing and navigation by encoding possible paths. On utility networks like pipelines or transmission corridors, centrelines aid right-of-way administration, facilitate planning models, and provide navigation infrastructure for maintenance and inspections.

Key Methods for Extracting Centrelines

Voronoi Diagrams

Voronoi diagrams partition space into proximal regions around input seed points. The vertices and edges of the Voronoi cells can be used to represent centrelines. The algorithm works as follows:

  1. Seed points are generated at regular intervals along the networks in the input geometry
  2. A Voronoi diagram is constructed with these seeds using Fortune’s algorithm
  3. Voronoi vertices and edges midway between seeds are extracted as centrelines

Benefits of this method include direct integration of network connectivity and computational efficiency. Downsides are sensitivity to seed point density and topological errors in some cases. Example code:

  seeds = generate_seeds(geometry, interval=50) 
  v_diagram = Voronoi(seeds)
  centers = extract_voronoi_centrelines(v_diagram)


Delaunay triangulation can also be used for centreline extraction by connecting triangle edge midpoints. The process is:

  1. Input network geometry is triangulated using Delaunay algorithm
  2. Triangle centroids are connected to generate initial centreline approximation
  3. Network topology and connectivity are encoded

Triangulation is computationally efficient and robust to variations in input data. However, output requires extensive post-processing and clean-up. Sample code:

  geom = load_geometry(shapefile)
  tri_mesh = Delaunay(geom)
  edges = tri_mesh.edges()
  centers = [
    LineString([e1.centroid(), e2.centroid]) 
    for e1, e2 in edges


Skeletonization techniques like morphological thinning extract centrelines by eroding input geometries to single pixel width representations. The sequence is:

  1. Rasterize input network to binary image
  2. Iteratively remove exterior pixels using morphological thinning
  3. Convert skeletal pixels to vector centrelines

This method accurately preserves topological connectivity but is sensitive to variations in input data quality. Sample code:

  binary = rasterize_network(geometry)
  skelet = morphological_thin(binary)
  lines = trace_skeleton(skelet)

Other Methods

Some other less common approaches include shortest path trees, drainage line detection, and supervised machine learning classifiers. These can prove useful in niche applications but lack generalizability.

When to Use Each Centreline Extraction Method

Selecting the optimal centreline extraction method depends on several factors:

  • Input data types and quality
  • Required accuracy standards
  • Needed connectivity properties
  • Available processing time
  • Programming experience

Voronoi diagrams perform well on high quality vector data with thorough connectivity. Triangulation is more robust for poor or inconsistent input geometry. Skeletonization works best for high resolution raster data without gaps. The following guide matches methods to common use cases:

Use Case Recommended Method
Detailed utility network analysis Delaunay Triangulation
Rural road navigation Voronoi Diagram
Urban change detection Morphological Skeletonization

Improving Centreline Quality and Mitigating Errors

Post-processing is crucial for creating valid centrelines from extracted geometries. Techniques include:


Smoothing extracted lines simplifies geometries, reduces noise, and enables subsequent processing. Example methods are moving averages or Gaussian smoothing:

  lines_smoothed = [
    smooth(line, method='moving', window=20) 
    for line in lines


Interpolating additional vertices makes lines suitable for geocoding and navigation:

  densified = [
    densify(line, interval=5)
    for line in lines

Topology Checking

Structural corrections identify and resolve missing connections, gaps, and invalid geometries:

  checked = [
    for line in lines

Applying these techniques helps optimize centreline quality for downstream usage.

Next Steps in Advancing Centreline Extraction

While existing methods already enable many applications, progress continues towards more flexible and intelligent techniques. Current research directions include:

  • Graph neural networks for learning topological representations
  • Probabilistic centreline models handling uncertainty
  • Better integration of contextual data like imagery
  • Recurrent learning to reduce manual post-processing
  • Increasing parallelization and hardware acceleration

More development is still needed for complex environments like underground utilities with limited data availablity. Multimodal data fusion and variable representation sizes show particular promise in this domain.

Conclusion and Recommendations

In summary, centreline extraction provides crucial linear reference networks for transportation and utility assets. Leading computational methods include Voronoi diagramming, triangulation, and morphological thinning – each with inherent advantages based on data types and use cases.

For new implementations, triangulation delivers flexibility across input geometries while Voronoi excels for connectivity within higher quality road data. Both strike a balance between accuracy and efficiency. Meanwhile, thinning suits raster inputs where others fail. Post-processing via smoothing and topology correction remains essential for creating valid usable centrelines.

As research initiatives continue expanding capacities, we recommend hybrid approaches combining learning procedures to maximize automation while integrating contextual data for relevance. Overall, centreline extraction enables key analytical applications across spatial networks vital for both public and private sector organizations.

Leave a Reply

Your email address will not be published. Required fields are marked *