I've extracted the road network of a city from openstreetmaps (filetype: osm). One part of the road networks look like this: enter image description here

However, there are too many details in this data. I'd like to represent each road with just one linestring, just like this: enter image description here

Is there any convenient (or maybe a tricky) way to reach that? I've searched around our site, I found some map skeletonization/genratzation may help, but I'm not quite sure about that. I've also tried the "network toplogy cleaning" function in OpenJUMP, but it didn't work. I would very happy to see a software/library can help me on this.

Or, is there any alternative way to extract rough(low level) road network of a city from other map source?


2 Answers 2


A russian mapper has made a tool for road network generalization, but it has three drawbacks:

  1. It's in Visual Basic.
  2. It reads and produces .mp files made with osm2mp.
  3. Documentation is in Russian.

Sadly, @Mapper is right: there is no such general-purpose solution not only for OpenStreetMap data, but in general, for any open geodata format.


AFAIK there is currently no ready to use solution to generalize a (per lane) roadnetwork and reduce the complexity.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.