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.

Angle threshold (°):

30

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

INPUT_POLY

[vector: polygon]

Polygon vector layer to be split.

Input arc layer

INPUT_ARC

[vector: line]

Line vector layer representing the median axis of the polygons.

Input node layer

INPUT_NODE

[vector: point]

Point vector layer representing line junctions and extremities.

Node type field

NODE_TYPE

[field: string]
Default: node_type

Field storing the node type.

Angle threshold (degrees)

ANGLE

[numeric: double]
Default: 25.0

Orientation change in the median axis used to trigger a split.

Minimum hedge length (meters)

MIN_LENGTH

[numeric: double]
Default: 25.0

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

OUTPUT_POLY

[vector: polygon]
Default: [Create temporary layer]

Output split polygon vector layer.

Output arc layer

OUTPUT_ARC

[vector: line]
Default: [Create temporary layer]

Output split line vector layer.

Output node layer

OUTPUT_NODE

[vector: point]
Default: [Create temporary layer]

Output split point vector layer.

Outputs#

Label

Name

Type

Description

Output polygon layer

OUTPUT_POLY

[vector: polygon]

Split polygon vector layer with updated pid field.

Output arc layer

OUTPUT_ARC

[vector: line]

Split line vector layer with updated pid and eid fields.

Output node layer

OUTPUT_NODE

[vector: point]

Point vector layer containing nodes of degree 2 where the split occurred.