The idea
Use the following expression on the line layer with Geometry by expression or Geometry generator (see here for details) and make setting accordingly:
- Replace
intersection (line 3) with the name of the point layer containing the intersections.
- Replace the distance of the interval for the points to be created in line 6.
Expression used with Geomtry generator, creating points on both sided of the blue intersection points at a regular distance of 50 m along the line:

Create only a limited no. of points
Possible variants:
- If creating actual points using Geometry by expression, you get multipart geometries. Convert them to single points using
Menu Vector / Geomtry tools / Multipart to single parts.
- This expression creates points along the whole length of the line. To create only a limited no. of points, see at the bottom.
The expression to use:
with_variable (
'inter',
'intersection',
with_variable (
'distance',
100,
collect_geometries (
array_foreach (
generate_series (
floor(
line_locate_point(
$geometry,
overlay_nearest (
@inter,
$geometry
)[0]
)/-@distance
)+1,
floor (
(length ($geometry)-
line_locate_point(
$geometry,
overlay_nearest (
@inter,
$geometry
)[0]
))/@distance
)
),
line_interpolate_point(
$geometry,
line_locate_point(
$geometry,
overlay_nearest (
@inter,
$geometry
)[0]
)+@distance*@element
)
)
)
)
)
To create only a limited no. of points, change the above expression. Replace the generate_series () part (lines 9 to 29) with this expression: generate_series (-5,3), where 5 (preceded by a minus!) is the no. of points between the intersection and the start-point of the line, 3 is the no. of points from the intersection towards the line's end-point.
Be aware: if one of the lines is too short to accommodate all points you want to create, no points at all will be created. In this case, decrease the numbers.
If you want the points to start exactly at the intersection, maybe split the line with your 'river line' and then perform "points along geometry" on these 2 resulting lines.
– Vincé Mar 03 '22 at 10:38Processing Toolbox -> Vector Geometry -> Reverse line direction– Matt Mar 03 '22 at 11:24Points along geometryworks in the direction the line was drawn. It would appear that your line was drawn northwest-southeast. When you split the line, the two parts are still northwest-southeast. To getPoints along geometryto start at your intersection point for the westmost line, you will need to reverse the direction of that line, so it goes southeast-northwest. – Matt Mar 03 '22 at 11:50