Ever needed to simplify street networks? I did. And it is a pain. So we joined forces with @anavybor and @JamesGaboardi and wrote an algorithm that does that for us. And can do for you, as it is available as a Python package called `neatnet`.
Here's a short blog about it - https://martinfleischmann.net/simplification-of-street-networks/
And here's, not so short preprint - https://arxiv.org/abs/2504.16198
But you probably want the package. That is here - https://uscuni.org/neatnet.
Happy coding!
Simplification of street networks
I have been working with street networks for a long time. My first analysis will date probably back to 2017 or so. Most of those focused on the same aspect - understanding the morphology. Yet, practically none of the networks I was able to obtain reflected morphology directly. Rather, they captured transportation networks, with all the detailed intersections, every tiny roundabout, slipway, double carriageway, and so on. Which is pretty annoying when you are interested in a representation of space, not of traffic lines.