I have a problem about using weights in geometric network in ArcGIS Desktop 10.2. In the example below, I have a simple network with a source & some junctions. I'm trying to use the Find Path Upstream function to find path from point A to the source. I've created a weight based on the length of the edge feature, but it seem doesn't work. Can anyone tell me or show me:

  • How can I set up a weight to Find Path Upstream from point A to the source through the shortest path (which means A-B-C-D-E-Source in this example)?

  • Which weight should I use & how can I set it up if I want to find path from A-F-Source?

enter image description here

@Hornbydd: Of course I did set the flow direction & a weight by length but it can't return the result I expect. You can see in the image below is what I receive when I use the Find Path Upstream from A.

enter image description here

  • Oh sorry, i'm using ArcGIS Desktop 10.2 – Duc TN Jul 22 '15 at 2:05
  • I really need help, please someone give me an idea :( – Duc TN Jul 23 '15 at 2:39
  • If you're using Find Path Upstream, maybe you're using the wrong tool. There's a Find Shortest Path tool that takes weights, and if no weights are present does it by the fewest edges. Presumably you'd use your length field of edges as weight. – Chris W Jul 23 '15 at 4:00
  • Hi Chris, thanks for your comment. It's the Find Path function you mentioned, It works fine but I have to set flag to junction & source. In my case I have many junctions & I need to find path from those junctions to the "source" feature without set flag to "source", so I think I need to use the Find Path Upstream. But the issue is how can I solve that case? – Duc TN Jul 23 '15 at 4:17
  • Sorry, I haven't worked with geometric network traces really, I was just going off help file searches. I guess I'm not really understanding why you can't set the source, or maybe that you're trying to do two things at once - both find a source and find the shortest path to that source. Perhaps someone with more experience using those trace/path tools can help. – Chris W Jul 23 '15 at 4:32
  1. If you setup a weight based on the lenght of your network edges (what you have done so far) then you will get (ABCDE) path.

  2. If you need to get AF path, then you should setup a based on the number of junctions along the path. To do so, create a weight (Integer), and assign a numeric field of your Junction FeatureClass to that weight. Let say you have a Junction1 FeatureClass. Then add a field (called NetworkWeight) to that class and fill its value with number 1. In this scenario the network path finder looks into the this field once encountered a junction and then consider the junction's weight. The more junction along the way, the more expensive the path.

  • Thanks Farid, I did exactly as you said but this can only work with Find Path, but I want to use the Find Path Upstream, any idea please? – Duc TN Jul 24 '15 at 2:15
  • Based on the snapshot you shared, you need to establish flow directions based on the AncillaryRole Field. There are some indeterminate edges on your graph. – Farid Cheraghi Jul 24 '15 at 2:23
  • Hi Farid, I did set the flow direction, you can see the Source junction in the snapshot. The point is from those indeterminate edges, so does the Find Path Upstream can't solve in that case – Duc TN Jul 24 '15 at 2:40
  • 1
    When the terms upstream and downstream are used with network trace solvers (like Find Path Upstream), all network directions must be set and determine. The trace will stop at edges that are undetermined or uninitialized. – Farid Cheraghi Jul 24 '15 at 2:44
  • 1
    I used the geometric network editing tool to disconnect a line in my network so it became undetermined and can confirm the find path upstream would not trace the shortest route, so @FaridCher is right you need to ensure those edges are connected and have their flow direction set. – Hornbydd Jul 24 '15 at 9:18

You can use Trace Geometric Network gp tool and set the Junctions as flags

enter image description here

  • It the same with the trace task, stiil not work. The point is I have a loop at B-C-D-E-F, how to do the Find Path Upstream from A to Source through that loop. Thank you ! – Duc TN Jul 23 '15 at 8:11

Have you set the flow direction of the network? You need to run this tool. The Trace upstream should then behave. For the record I had to set the weight field (which was length) to be against the digitized direction to make the trace follow the shortest route to source. I am unsure how this would influence a trace in a more complex scenario such as a river network? Upstream Trace and weighting

  • Hi Hornbydd, how could your task complete correctly? Is there any indetermined edges in your network? – Duc TN Jul 24 '15 at 3:52

It works fine with me applying “find accumulation upstream” as shown in the screenshots below

enter image description here

enter image description here

We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.

  • This does not answer the question. Please edit your answer to include the steps involved to solve the problem, and details on how it answers the question. – Midavalo Apr 12 '17 at 18:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.