[Python] osmnx detect road intersections with osm data

Discussão em 'Python' iniciado por Stack, Junho 1, 2025.

  1. Stack

    Stack Membro Participativo

    I am working on crash analysis using OSM data, to analyze pedestrian crashes with respect to type of intersections such as:

    • 4-way: X-junctions
    • 3-way: T-junctions, Y-junctions
    • multi-leg junctions
    • Roundabouts
    • Curves
    • Long block

    I am trying to read: location of intersection, type of road (major/minor) and type of intersection. I noticed it is not straightforward to detect the above intersections because they come in various patterns such as trumpet merges and cloverleafs.


    1. Would like to inquire if there are any existing functions that focus specifically on detecting or classifying such intersection types in urban networks.


    2. Are there known spatial or graph-based techniques (e.g., bearing patterns, topological analysis) that have been used in this context ?

    Workaround: After going through the documentation, for the workaround I used the consolidate_intersections() function to simplify the city graph with tolerance=30.

    • city: Delhi, India
    • graph type: walk
    • tolerance: 30

    This resulted in nodes at locations where the intersections of any type possibly existed. Though I was not able to get the types of intersections, I got the location and type of roads involved. Further, based on the type of roads, I was able to divide the intersections in the study into 2 types:

    • major-major & major-minor,
    • minor-minor

    Any suggestions, references, or guidance would be greatly appreciated.

    Continue reading...

Compartilhe esta Página