I have a line layer that is actually buffer polygons converted to a line layer. I would like to generate points at all places where 3 or more lines intersect. I would settle for places where 2 or more lines intersect. I know that this is possible to do if all the lines were different layers. What I need is a method to do this when all the lines are contained in a single shapefile. There are too many lines to separate them into individual files.


2 Answers 2


You could do it in three (or four) steps:

(1) Create nodes at intersections

Processing Toolbox | GRASS | Vector | v.clean and select break option.

(2) Extract nodes as points layer.

Processing Toolbox | QGIS geoalgorithms | Vector geomerty tools | Extract nodes

(3) Only keep duplicated points (Nodes)

  1. Open attribute table of Nodes (output of Extract nodes tool)
  2. Give an expression: count( "id", group_by:= geom_to_wkt($geometry)) ...assuming you have an id field.
  3. Remove features whose count is only 1 (one).

(4: optional) Remove duplicates (e.g. Delete duplicate geometries tool...)


Yes, use the line intersections tool from the Vector drop-down menu. Choose Analysis Tools and then Line Intersections.

enter image description here

  • 2
    This is an answer for separate shapefiles, I don't think this tool works for intersections within the same shapefile.
    – Louis
    Commented May 8, 2017 at 15:08
  • Yes this won't work for me since the lines are all in the same file.
    – Kingfisher
    Commented May 8, 2017 at 15:26

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.