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.
-
Related post if you're open to scripting: Intersecting lines get crossingsArMoraer– ArMoraer2016年05月25日 15:59:39 +00:00Commented May 25, 2016 at 15:59
-
I'll take a look, though scripting is not my forte.Kingfisher– Kingfisher2016年05月25日 16:08:24 +00:00Commented May 25, 2016 at 16:08
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)
- Open attribute table of
Nodes
(output ofExtract nodes
tool) - Give an expression:
count( "id", group_by:= geom_to_wkt($geometry))
...assuming you have anid
field. - 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.
-
2This is an answer for separate shapefiles, I don't think this tool works for intersections within the same shapefile.Louis– Louis2017年05月08日 15:08:33 +00:00Commented May 8, 2017 at 15:08
-
Yes this won't work for me since the lines are all in the same file.Kingfisher– Kingfisher2017年05月08日 15:26:36 +00:00Commented May 8, 2017 at 15:26
Explore related questions
See similar questions with these tags.