I have a set of points (xyz) along an axis.

Is there any way in QGIS to generate cross profiles along this axis each 10 meters with, for example, +-15 meters right and left from the axis?


1 Answer 1


I've been trying to find how to do this for a while. @Kazuhito's comment led me to find this.

You need two things:-

  • a line (your axis or route)
  • a DEM (raster)

Convert Points to Line

You can get your points into a line using the Points2One plugin. It helps if

  • they're already sorted in the order you want them to appear in the line, or
  • you have a unique numeric field you can use to sort them.

You might need to convert these to 2D coordinates (I'm not sure that Points2One supports 3d points.)

If you have a point cloud rather than a raster, you can convert it to a raster, but that's a whole different question :)

SAGA Cross Profile Plugin

Next, use the SAGA algorithm Cross profiles. You can find this by searching for it in Processing.

You need to specify :-

  • your line spacing (10m), how far you step along your 'axis'
  • how long you want your perpendicular lines to be
  • how many samples you want to take along each line

The output is a series of lines (shown in yellow) perpendicular to your axis (shown in white) with samples taken from the DEM.

example cross profile output

Each line will have numbered attributes X000, X001, X002... These represent the elevation samples along each profile. If you're looking along the axis, these points may go from left->right or right->left, depending on your CRS.

It's tricky to visualise lots of these profiles, though. You could save the resulting layer to CSV file and plot the profiles using Excel or another spreadsheet.

  • 1
    Any idea how can we add XY coordinates to every point SAGA generates?
    – Anatolii
    Sep 4, 2019 at 7:42

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.