FYI

I just added a new module to the GRASS7 addons [1] which I called v.centerline. It is somewhat of an experimental module and I invite anyone with other ideas of how to solve this problem to add to the module.

Below a description of the module and the two implemented algorithms.

Enjoy !

Moritz

*******************

v.centerline creates a new map with a line representing an approximation of the central tendency of a series of input lines. This can for example, be the central line of a river represented by its two sides, or a line representing the general direction of a series of flight paths, etc.

Two algorithms are proposed in the module, both based on the idea of using a reference line, creating a series of reference points along this line and then finding the coordinates of corresponding points on all the input lines. The default algorithm uses closest distance to identify corresponding points, while the second algorithm draws perpendicular transversals at the reference points and uses the intersections of these transversals with the other lines as corresponding points.

[1] https://trac.osgeo.org/grass/browser/grass-addons/grass7/vector/v.centerline