I have several hundred vehicular routes within a city from which I wish to create shapefiles. These take the form of directions such as "From Green Street, turn left into Brown Street, Right into Blue Street".

I first wrote a program to change them into the form "Corner of Green and Brown; Corner of Brown and Blue" and then geocoded them using the Google geocoding service. I now have sets of coordinates as csv files, each file (route) has between 20 and 50 points. I then plotted the route using www.gpsvizualiser.com and where the roads are straight it has worked very well. However, roads are not straight, and I wish to constrain these paths to follow roads, I'm supposing by interpolating points between the coordinates I have.

I'm using QGis and Open Street Map data (I'd be prepared to try something else if this is not adequate). Using the RoadGraph plugin I can find routes between two points, but it is very resource intensive, and as I have several hundred sets of points and thousands of pairs of points, I need to find a better way.

The question was asked and answered by a now-inactive user in Shortest Path using interpolated OSM points, however he provided his answer as a link to his blog, which I was disappointed to find is now defunct.

If there is no simple way to do this I will need to do it manually. If that is the case, is there a simple way to "snap" a line that I draw in QGis to an underlying polyline layer (the OSM data)? I may need to do some of them manually anyway, as I'm sure the data I have generated is not perfect.

Your Answer

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

Browse other questions tagged or ask your own question.