I'm often working with different polyline datasets which represent street networks. One of the most common tasks I have is to join information from one layer to another. Often there are no mutual attributes to utilize.
Geometries between layers are similar, but they're far from identical. First thought would be to use spatial join based on argument closest. Alongside the fact that the argument doesn't exist in core QGIS function, as far as I know it is based on a single, closest vertex. Since we're talking about wide road networks, the single, closest vertex might not be the correct one (see image). It's more about two lines sharing approximately the same path.
In the image, based on approximate paths of the three lines shown, the orange line should be joined with the blue one. Yet, since a vertex of the green line is the closest to any of the vertices of the orange line, the join would actually happen between them.
So I reckon the solution should take into account all of the vertices, get their closest counterpart and do a join based on their majority.
My question is: are there any existing open source tools or combination of them that could tackle this efficiently or should I start planning a script?
I'm using QGIS 3.4 on Windows.