I need to snap about 1000 lines in one layer to the lines in another layer (there are about 5000 lines in the second layer). The lines to be snapped are about 15 map units away from the base layer lines. It looks like ArcGIS could do this using the Integrate tool in the Data Manager toolbox.

Is there a QGIS/GRASS/SAGA/other open source alternative to Integrate or will I need to crack open my Python skills?

2 Answers 2


The tool you mentioned in ArcGIS does not snap one layer to another. Rather it snaps the boundaries in a layer to "themselves". So it you have two lines in the same layer that are within a certain threshold, Integrate will snap them together (i.e. move them both to the average distance between them).

This action is done in GRASS with the v.edit module, using tool "snap" and the threshold parameter. So you would have to merge your two layers together into one (v.patch) to do this operation. I would first add a column to the first layer with some identifier, then after the snapping operation you can separate those features out again.


You might have some luck with ST_Snap in Postgis. It will allow you to snap nearly coincident features within a specified tolerance.


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