Split by orientation#
Algorithm ID: hedgetools:splitbyorientation
This tool splits polygons and lines based on changes in orientation. New nodes are created to match the new line extremities. These nodes have the following field values:
Degree |
Node type |
Description |
|---|---|---|
2 |
L |
Node at the junction of two lines |
The primary key (PK) and foreign key (FK) fields in the related layers are automatically updated to reflect the new topology. An internal call to Simplify Arc is performed to reduce median axis irregularities and limit false positives.
Explanation
The angle defines the threshold above which a node is created to account for a change in orientation along segments of the median axis. The higher this value, the more orientation changes are tolerated without generating nodes to distinguish differently oriented segments. The lower the value, the more the algorithm generates nodes to represent these orientation changes.
This algorithm is sensitive to geometric irregularities in the arcs. An internal call to an arc simplification algorithm is performed to reduce this impact.
Warning
The algorithm checks whether the polygon–arc relationship is one-to-one at the end of the process. A warning is raised for polygons that contain either no arc or multiple arcs.
Proceeding without correcting or removing these errors may cause issues in following steps.
When correcting these issues, make sure to update all primary key (PK) and foreign key (FK) fields across the related layers, or run the Update Link algorithm afterwards.
Label |
Name |
Type |
Description |
|---|---|---|---|
Input polygon layer |
|
[vector: polygon] |
Polygon vector layer to be split. |
Input arc layer |
|
[vector: line] |
Line vector layer representing the median axis of the polygons. |
Input node layer |
|
[vector: point] |
Point vector layer representing line junctions and extremities. |
Node type field |
|
[field: string] |
Field storing the node type. |
Angle threshold (degrees) |
|
[numeric: double] |
Orientation change in the median axis used to trigger a split. |
Minimum hedge length (meters) |
|
[numeric: double] |
When reaching an extremity of the input line geometry, if the remaining segment is shorter than this value, no additional split is performed. |
Output polygon layer |
|
[vector: polygon] |
Output split polygon vector layer. |
Output arc layer |
|
[vector: line] |
Output split line vector layer. |
Output node layer |
|
[vector: point] |
Output split point vector layer. |
Outputs#
Label |
Name |
Type |
Description |
|---|---|---|---|
Output polygon layer |
|
[vector: polygon] |
Split polygon vector layer with updated |
Output arc layer |
|
[vector: line] |
Split line vector layer with updated |
Output node layer |
|
[vector: point] |
Point vector layer containing nodes of degree 2 where the split occurred. |