I'm attempting to split a curved (wiggle) line into equal length segments. Have used Grass's v.split which works to a degree but does not provide the output I'm after.

v.split will extract segmented lengths based on a "maximum segment length" or "maximum number of vertices in segment". So, if I want to split the line into 10 meter segments and use a maximum segment length of 10 then all my segments come up just short, e.g. 9.98, or 9.6. for individual lines, wiggle or straight.

What I want instead is given for example a 55m line: Start at one end and place a node/point every 10m along the line until it reaches the end. In the case above it would get split into 6 segments with the last segment being 5m long and all the others being 10m.

Is there a better module?


4 Answers 4


The current version of QGIS (QGIS 3.0+) has the option to Force segments to be exactly of a given length, except for the last one using v.split. v.split is accessed from the Processing Toolbox under GRASS --> Vector

enter image description here


QGIS 3.20 has a built-in Vector Geometry tool called the "Split Lines by Maximum Length" which splits a line into multiple parts where each part is of a specified maximum length.

Takes a line (or curve) layer and splits each feature into multiple parts, where each part is of a specified maximum length. Z and M values at the start and end of the new line substrings are linearly interpolated from existing values.


The best and easiest solution appears to be the "ProfileFromLine" plugin, which unfortunately doesn't appear to be available for 2.0. Very quick and easy to use, in 1.8.


I understand that your tags are related to QGIS and Grass, but you did ask for other options. I have used ETGeoWizards and XTools (plugins to ArcMap) to perform this task; with great success.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.