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