# How to split a line at point positions?

I am a rooky with QGIS and i am stuck from a basic problems.

I have a polyline and i have some points (2) on the polyline.

I would like to know if there is a tool or script that i could use to split my original polyline into 3 polylines? (Starting point to point A, Point A to B and B to ending point of the polyline)?

I am looking for an automatic process rather splitting the line manually.

Thanks a lot for your help

Baptwo

-
how do you decide where B is? You might want to google LRS GRASS (linear referencing system) and see if that is the same concept. – Willy Jul 28 '12 at 12:08

QGIS won't do this natively to the best of my knowledge. However, you can use GRASS from within QGIS, and this thread looks like exactly what you want. I haven't tested this, but it all makes sense. Credit of course goes to the folks in that thread. First, you would import your data into GRASS then:

dump the coordinates to a text file (v.out.ascii) then loop thru that file, and feed the coords to v.edit, like so: v.out.ascii out=points.txt while read x y; do v.edit tool=break coord=\$x,\$y cat=0-99999 done < points.txt

Note the caveat that your points must be exactly on the line.

Or, even simpler in a bash environment:

v.out.ascii format=point in=pts --q | cut -d'|' -f1,2 | tr '|' ',' | while read COOR; do v.edit map=line tool=break coords=\$COOR; done

-
Can you simplified it. I am first timer ON grass. – GIS Data Butcher Aug 19 '15 at 9:05

If qgis cannot do that, shapely (a python module for manipulating shapefiles) seems able to do what you want.

To install the module, from you command terminal type: `\$ sudo pip install shapely`

-
Clarification: Shapely is an interface to GEOS and does computational geometry. It doesn't know anything about shapefiles. – sgillies Sep 4 '12 at 15:16