Question

How to identify lines/segments upstream of a point

  • 13 April 2022
  • 2 replies
  • 23 views

Hi,

I have a dendritic river network (lines only) which I would like to use to generate catchments upstream of certain points. I have run the NetworkTopologyCalculator which generates entire river catchments (by assigning all joined branches a network_id which I can then group. But I would like to specify certain segments for which I would like to generate an upstream network. Is this possible?

I would like to do this en-masse and have multiple catchments generated, defined by the origin segment id.

Thanks


2 replies

Userlevel 3
Badge +26

If you know the origin segment id in advance, you could create a text parameter in which you could type the values of the catchments you want to identify. In the workspace, send the network to a Tester, testing whether or not the origin segment id is in the parameter text. From the Passed port, you should have the single standalone segments. From the Failed port will be everything else. After that you should be able to use the FeatureMerger to extract the rest of the associated network with the Group By set to the network_id created in the NetworkTopologyCalculator.

 

It should look something like this:

 

image

Badge +2

@John Kreft​ In a similar problem with a water pipe network, what we did is use the junction where we wanted to start the upstream portion of the network, to clip the network and then re-run the NetworkTopoogyCalculator. Not very elegant, but worked for that use case. I've attached an example (FME 2021.2) using NRCan NHN data.

Reply