Given a line layer, identify by selection all branch (points with more than zero upstream nodes and more than one downstream nodes)
Proposed solution
The implementation should take the following steps:
extract nodes with basic metadata (upstream count, related line id, related nodes etc.) as per #8
add an attribute to the node table that indicates if a node is a branch
Implement logic that determines branch on the network based on the logic (in pseudocode):
IF upstream_node_count > 0 AND downstream_node_count > 1
THEN
branch = True
ENDIF
The logic here being that if there is more than zero upstream node and there are more than one downstream nodes, so this node must be a branch of the river.
select all line features in the river layer whose starting node is a branch
overlay the nodes layer on the river layer with branches clearly symbolised (client to provide appropriate symbology, in the mean time we can just make up our own visual vocabulary).
Expected outcome
The extracted nodes layer should have a column added called branch and populated with 0 if the node is not a branch and 1 if it is.
The line layer should have all segments selected whose origin node is a branch selected
The user should be able to easily visually identify all segments whose origin node is a branch
Example nodes attribute table (excludes other extracted feature types):
Problem
Given a line layer, identify by selection all branch (points with more than zero upstream nodes and more than one downstream nodes)
Proposed solution
The implementation should take the following steps:
The logic here being that if there is more than zero upstream node and there are more than one downstream nodes, so this node must be a branch of the river.
Expected outcome
branch
and populated with0
if the node is not a branch and1
if it is.Example nodes attribute table (excludes other extracted feature types):