I've been sent a shapefile containing 12 layers of some city's road system. Each layer depicts a portion of the road system, and all of them partially overlap on the map.

I'd like to work on the sum of these 12 layers in order to have the broadest extent of the road system. The problem is that the person who digitized the analog maps to create the shapefile didn't use the snap feature, and the line segments and their vertices don't exactly overlap where they should.

enter image description here

How would one sensibly deal with this kind of data? Is there a way to automatically correct these messed up topologies?

  • 2
    Maybe v.patch from the Grass-Toolbox can help you. – Erik Aug 8 '18 at 14:24
  • Thanks! I'm pretty new with open source GIS though, is there some easy way to run GRASS tools on QGIS layers? – Rodolphe Aug 8 '18 at 14:49
  • 3
    you´ll find all available tools in QGIS's Processing Toolbox (CTRL + ALT + T or a little gear symbol in newer versions), with an own tab for GRASS tools. v.patch might indeed help you combine all your files...but, honestly, I´d first try to get proper data elsewhere; if it is just a plain, up-to-date road network you´re after, chances are high OSM got that for you already. – ThingumaBob Aug 8 '18 at 15:27
  • Sorry for the long delay, but I can't test this suggestion as I'm unable to install osgeo and all the grass tools as part of the qgis installation process (which I didn't know since the interface and some other tools work fine) – Rodolphe Aug 15 '18 at 15:49

Perhaps the Snap option of v.clean could solve your problem.

I tested this with two different reprojections of a single line to create more or less parallel running lines. v.clean turns them into a single line, but also eliminates a number of vertices. If you can fine-tune the threshold setting to minimize this loss of detail to something that is acceptable to you, it could work.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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