I currently work on a routing system for kayak tours. In ArcGIS I have a polyline shapefile with each polyline representing a route with a description.

The problem I experience is with routes that include forks / parting of ways, as can be seen in the figure. It is basically one route, but is splitted in the middle (with different difficulty levels) then discharging again into the same route.

What is the easiest, best, non-problematic way to deal with this situation? Do I have to create two separate routes?

What should be considered for the solution is that the final result should be a WebGIS, with the possibility for the user to select a specific route and get information about it. If two routes are created, and the user clicks on the first segment of the route, would he be able to see that there are two different routes (as it works with the Identity tool in ArcGIS)?

enter image description here

  • 1
    Do you want to create a network used as input for route calculations based on other user inputs? Or you only want to show precalculated routes with attributes? – Zsott Apr 2 '17 at 8:12
  • No, it will not be used to create a network and do "real" route calculations. It is exactly the second way you described. – the_chimp Apr 2 '17 at 8:46

1) If you have different information on Level1 and Level2 for example how long is it, how much time do you need to make it, etc.:

Cut the polylines at the intersections so you will get 4 parts:

  • Section 1: from start to I1 (first intersection)
  • Section 2A : from I1 to I2, following Level1
  • Section 2B: from I1 to I2, following Level2
  • Section 3: from I2 to end

You can add the same RouteID to all sections so you can get all of them with queries.

2) If you don't want to show different informations by sections, just merge all polylines into a multipart polyline. Then the user will get the same route and information no matter which branch of the river he clicked on.

  • I like the idea with the segments and it would work out well, but there is the requirement that the user should be able to click e.g. on Section1 and get displayed the whole route, which would be either 1-2A-3, or 1-2B-3. I was just wondering, if the only way is to create two separate routes, or if this "optional segment" can be stored within the other route. But thanks anyway for your answer! – the_chimp Apr 5 '17 at 5:51
  • Maybe you can do this with some advanced query logic. For example if you store for each section in which routes are they touched, you can do another query by RouteID. For example: SectionID: 1, routes:["R1","R2"]. User clicks on Section1 (SectionID:1), you get the array of RouteIDs and you can iterate through this array and get every section with "R1" and "R2" in their routes array. But I think it will be easier to store the two routes separately and give back both of them when the user clicks on Secion1. – Zsott Apr 5 '17 at 6:44

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.