Jump to content

 
Photo

Accumilate values for river sections based on downstream values

- - - - -

  • Please log in to reply
6 replies to this topic

#1
David Medeiros

David Medeiros

    Hall of Fame

  • Validated Member
  • PipPipPipPipPipPipPip
  • 1,064 posts
  • Gender:Male
  • Location:Redwood City CA
  • Interests:Cartography, wood working, wooden boats, fishing, camping, overland travel, exploring.
  • United States

I have a geo processing question for you guys. I have a data set of river segments for Oregon where each segment has a value associated with the number of obstruction on that river segment (dam, weirs, culverts etc). I want to give each segment a new value in its table that is an accumulation or sum of all downstream obstructions. So head water sections would show the highest values bases on the number of obstructions in each reach between it and the sea.

The image below shows what I'm after. Each river segment has two values, the first is the number of obstructions on that segment, the second in parenthesis is the sum of the down stream obstructions and the obstruction on that segment. This would be similar to assigning a reach code except its not just a sum of a series of 1s based on the number of down stream segments.

I assume this is a network analyst issue but wanted to see if anyone here has other ways of approaching the problem? Any and all help is appreciated.

David

Attached Files


GIS Reference and Instruction Specialist, Stanford Geospatial Center.

 

www.mapbliss.com

 


#2
Hans van der Maarel

Hans van der Maarel

    CartoTalk Editor-in-Chief

  • Admin
  • PipPipPipPipPipPipPip
  • 3,838 posts
  • Gender:Male
  • Location:The Netherlands
  • Interests:Cartography, GIS, history, popular science, music.
  • Netherlands

I have a geo processing question for you guys. I have a data set of river segments for Oregon where each segment has a value associated with the number of obstruction on that river segment (dam, weirs, culverts etc). I want to give each segment a new value in its table that is an accumulation or sum of all downstream obstructions. So head water sections would show the highest values bases on the number of obstructions in each reach between it and the sea.

The image below shows what I'm after. Each river segment has two values, the first is the number of obstructions on that segment, the second in parenthesis is the sum of the down stream obstructions and the obstruction on that segment. This would be similar to assigning a reach code except its not just a sum of a series of 1s based on the number of down stream segments.

I assume this is a network analyst issue but wanted to see if anyone here has other ways of approaching the problem? Any and all help is appreciated.


I'd treat this as a network analysis problem. If you have the number of obstructions per segment as an attribute, the total number of obstructions to go from that segment downstream can be calculated. I've just done a very quick test run in FME and it works (though FME would call the sea the "source", so it's somewhat confusing, but it works). I would assume any GIS application with network analysis options would work in more or less the same way.
Hans van der Maarel - Cartotalk Editor
Red Geographics
Email: hans@redgeographics.com / Twitter: @redgeographics

#3
David Medeiros

David Medeiros

    Hall of Fame

  • Validated Member
  • PipPipPipPipPipPipPip
  • 1,064 posts
  • Gender:Male
  • Location:Redwood City CA
  • Interests:Cartography, wood working, wooden boats, fishing, camping, overland travel, exploring.
  • United States

I have a geo processing question for you guys. I have a data set of river segments for Oregon where each segment has a value associated with the number of obstruction on that river segment (dam, weirs, culverts etc). I want to give each segment a new value in its table that is an accumulation or sum of all downstream obstructions. So head water sections would show the highest values bases on the number of obstructions in each reach between it and the sea.

The image below shows what I'm after. Each river segment has two values, the first is the number of obstructions on that segment, the second in parenthesis is the sum of the down stream obstructions and the obstruction on that segment. This would be similar to assigning a reach code except its not just a sum of a series of 1s based on the number of down stream segments.

I assume this is a network analyst issue but wanted to see if anyone here has other ways of approaching the problem? Any and all help is appreciated.


I'd treat this as a network analysis problem. If you have the number of obstructions per segment as an attribute, the total number of obstructions to go from that segment downstream can be calculated. I've just done a very quick test run in FME and it works (though FME would call the sea the "source", so it's somewhat confusing, but it works). I would assume any GIS application with network analysis options would work in more or less the same way.


Hi Hans, its encouraging to know you were able to successfully implement the concept so quickly... ArcGIS has Network Analyst of course but I've never used it and there is nothing quick looking about experimenting with it. I've been looking over the NA documentation and can't make out exactly what functionality would do this fro me but will probably have to actually work with it to figure it out. I'll take a look at how NA works this week and see if this looks intuitive or not - yes, I used the word intuitive while talking about ArcGIS ; ) It's not irony, just optimism.

Thanks!

GIS Reference and Instruction Specialist, Stanford Geospatial Center.

 

www.mapbliss.com

 


#4
Matthew Hampton

Matthew Hampton

    Hall of Fame

  • Moderator
  • PipPipPipPipPipPipPip
  • 1,291 posts
  • Gender:Male
  • Location:Portland, Oregon
  • Interests:Playing in the mountains and rivers.
  • United States

I've used Network Analyst a bit for transportation analyses, and you might find better traction using their ArcHydro tools and associated data model. I'm pretty certain flow accumulation is documented. Here is a link to their Hydro Resource Center.

Oregon Metro - Portland, OR
www.oregonmetro.gov


#5
Hans van der Maarel

Hans van der Maarel

    CartoTalk Editor-in-Chief

  • Admin
  • PipPipPipPipPipPipPip
  • 3,838 posts
  • Gender:Male
  • Location:The Netherlands
  • Interests:Cartography, GIS, history, popular science, music.
  • Netherlands

yes, I used the word intuitive while talking about ArcGIS ; ) It's not irony, just optimism.


:D

Not to boast, but setting up my FME example took me around 5 minutes and my only background knowledge was knowing that there's a few network analysis transformers in FME. You basically need 3 things:
- A network (doh)
- A cost attribute on the network segments
- "Source" features where the network flows to (I keep thinking this should be called target...)
Hans van der Maarel - Cartotalk Editor
Red Geographics
Email: hans@redgeographics.com / Twitter: @redgeographics

#6
David Medeiros

David Medeiros

    Hall of Fame

  • Validated Member
  • PipPipPipPipPipPipPip
  • 1,064 posts
  • Gender:Male
  • Location:Redwood City CA
  • Interests:Cartography, wood working, wooden boats, fishing, camping, overland travel, exploring.
  • United States

I've used Network Analyst a bit for transportation analyses, and you might find better traction using their ArcHydro tools and associated data model. I'm pretty certain flow accumulation is documented. Here is a link to their Hydro Resource Center.


Thanks Matthew, I looked at the documentation for the ArcHydro tools briefly but they didn't seem to do what I'm after (but it's hard to tell exactly what you get without running them). I shouldn't have used the word accumulation to describe what I want to do, just sum the segment values moving up stream. Flow accumulation looks at inputs in the downstream direction, summing towards the ocean. I want the opposite direction. I also don't want it to do a cell by cell sum but only section by section. I'll look at the hydro stuff again but it seems like this is a network issue, even if it is a river network.

GIS Reference and Instruction Specialist, Stanford Geospatial Center.

 

www.mapbliss.com

 


#7
Clark Geomatics

Clark Geomatics

    Jeff Clark

  • Validated Member
  • PipPipPipPip
  • 105 posts
  • Gender:Male
  • Location:North Vancouver, BC
  • Canada

Definitely a network issue. In your case, as Hans mentioned, you need to figure out and document the hierarchy (stream order such as a Strahler Network) of the stream network so any program you use can figure out flow direction and hence, the accumulation. Spatial Analyst will do it for you - once you roll up your sleeves and dive in. I've used ENVI's tools to do the same calculations - years ago. Good luck - let us know how it worked out.
Cheers,

Jeff Clark
Principal
www.clarkgeomatics.ca




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

-->