1

I have a set of polylines representing rivers, point information for measured information (discharge) and polygons along the rivers representing certain areas. Now I want to assign a point information to each given polygon. Therefore I face two cases:

  1. the point information is within a polygon, so I can easily assign it via select by attribute (thats the case for catchment 0, 2, 3 & 5),
  2. there is no point information given for a polygon so I need to assign the next upstream given (catchment 1 & 4) measured point information.

enter image description here

Any ideas on how to find a smart and fast solution for the latter? I don't want to interpolate along the polyline, I simply want to assign the next upstream measured points.

My desired output would be a table that i would join as an additional attribute field to the polygon shapefile that includes the discharge with reference to the polygon ID:

FID (catchment) Q (m³/s)
0 1,55
1 1,48
2 1,48
3 1,45
4 1,40
5 1,40

I'm working with ArcGIS Desktop 10.7.1 (standard).

Olli
  • 153
  • 1
  • 5
  • Such a question benefits from you including an image of your data, expected output and displaying the actual attribution of your data, for example what is this "point information"? Amend your question and add this detail. – Hornbydd Jul 19 '21 at 09:05
  • thanks @Hornbydd, i added the information to the question. – Olli Jul 19 '21 at 10:07
  • You can solve this with Python or Model Builder. 1. Assign all the values to the polygons that you can. 2.Use an update cursor and search for a polygon with no value. When you find a polygon with no data then add one to the FID value to select the next highest polygon. 3. Get the values from that polygon and update the polygon with those values. – GBG Jul 19 '21 at 15:04
  • Olli, @GBG has offered up a good solution but this assumes the polygons are in sequence. Also in your example you don't show any tributaries, would be a weird river catchment without tributaries! Is your data really as simplistic as you show? A single unbranching line intersecting non-overlapping adjacent polygons? – Hornbydd Jul 19 '21 at 18:52
  • @GBG: thanks for that idea! I fear its not that easily done as I do have a more complex regime compared to the one I sketched here. I do have tributaries, but I thought the general concept could be broken down to the sketch above, where (2) is the current issue to tackle.

    So, how do I assign the nearest upstream Q to a polygon which has no Q within its border?

    I might found a solution in here, so I would export the attribute table once I placed the Q value for case (1) and continue for case (2) as shown here: https://stackoverflow.com/a/17774204/9218349

    – Olli Jul 20 '21 at 08:01
  • Split line at known points and assign from node to it. Intersect with polygons is your answer. https://gis.stackexchange.com/questions/125090/assigning-point-ids-to-respective-start-and-end-attributes-of-polyline/125091#125091 – FelixIP Jul 20 '21 at 10:00
  • Olli, I think your answer over on StackOverflow is misleading in that it treats the input as a sorted table and does not account for any spatial relationship such as the branching nature of a river network, loops caused by islands or anastomosing\braiding. What is the rule going to be if a polygon without a point is intersecting a tributary junction, which tributary do you grab your value from? Also what if you have consecutive polygons with no point data, you need to keep going upstream and then what if you come across a junction which way? – Hornbydd Jul 20 '21 at 10:49
  • You need to amend your question to include these scenarios and what your expectation is. – Hornbydd Jul 20 '21 at 10:50
  • Hopefully you are understanding that your trivial example is not real world and anything people offer up here is probably going to fail because you are not telling us the full story. I'm the developer behind RivEX, it has a find nearest upstream site tool, see the help file here. I would create points from your no-point polygons, snap to network and run it through that tool. – Hornbydd Jul 20 '21 at 10:54

0 Answers0