Given a line layer, identify by selection all confluences (points with more than one upstream nodes and more than zero 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 confluence
Implement logic that determines confluence on the network based on the logic (in pseudocode):
IF upstream_node_count > 1 AND downstream_node_count > 0
THEN
confluence = True
ENDIF
The logic here being that if there is more than one upstream node and there are more than zero downstream nodes, so this node must be a meeting point of the rivers
select all line features in the river layer whose starting node is a confluence
overlay the nodes layer on the river layer with confluences 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 confluence and populated with 0 if the node is not a confluence and 1 if it is.
The line layer should have all segments selected whose origin node is a confluence selected
The user should be able to easily visually identify all segments whose origin node is a confluence
Example nodes attribute table (excludes other extracted feature types):
Problem
Given a line layer, identify by selection all confluences (points with more than one upstream nodes and more than zero downstream nodes)
Proposed solution
The implementation should take the following steps:
The logic here being that if there is more than one upstream node and there are more than zero downstream nodes, so this node must be a meeting point of the rivers
Expected outcome
confluence
and populated with0
if the node is not a confluence and1
if it is.Example nodes attribute table (excludes other extracted feature types):