8

I have a road polyline layer (singlepart ie has several features per road, grouped by an id field), and i want to (after merging the parts) find the mid point of the resulting lines. This is for roads geolocation.

The problem is that the QGIS' dissolve function only works on polygons.

I've tried:
a) mmqgis plugin "create label layer" (handles multiparts nicely)
b) buffer road lines to 1m then dissolve by roadid, then ftools centroids

Both of which give a 'sort of' result, but the main problem is that the point is not actually on the road line. Is there a way to either force polygon centroids to be within the buffer polygon, or alternatively, some way to actually join the polylines and find mid points directly.

Note that while there are (a small number of) 'Y' shaped lines, most of the multipart lines start and end at the same place, (maybe gridifyed to 1cm).

  • Probaly no can do for the polyline disolve/midpoint route at present, but surely theres a way to force polygon centroids to be inside the polygon?? – Peter May 19 '11 at 0:25
  • PostGIS ST_Line_Interpolate_Point() should work. But the Y-shaped ones will be tricky. – underdark Jun 1 '11 at 22:10
1

You can join the polylines by editing the layer, selecting all the lines (all of them or by attribute) and then click the 'Merge Features' tool:

enter image description here

To find the midpoint, calculate distance of lines, then use point along line tools to put a point at distance/2 along each line.

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.