I have a road network as line layer and a land cover as polygon layer, I want to find number of subpolygon for each polygon that divided by line layer in QGIS? I used union function in Geoprocessing Tools in Vector menu of QGIS and then polygonize function to convert union result to polygon but in table of new polygon there is NULL data.
2 Answers
You can use Polygon-line intersection tool
located under Processing toolbox -> SAGA -> Vector polygon tools -> Polygon-line intersection
, and do the following steps:
- Select the lines (the lines should cover the polygon from edge to edge).
- Go to Polygon-line intersection tool
- Under
Polygons
Input the polygon layer
- Under Lines
input the line layer
- Save the output file
- Click OK
If the line does not cover the polygon from edge to edge, it will not split the polygon
Invalid line (input):
Output (Nothing happened):
A manual option would be to use the Auto Trace plugin (https://plugins.qgis.org/plugins/autoTrace/).
Create a new polygon layer, make sure to set your snapping options (Settings> Snapping Options> Snapping Mode: "All Layers"; Snap To: "Vertex & Segment; Tolerance: I usually do 15 pixels), and then trace each polygon outlined by your road network lines and land cover polygon.
As for another, more automated method, I am unaware!