Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I have a DEM extract of river and village centroid. How do i create an attribute table that shows which village is upstream of other or downstream to another. Can someone guide me the correct tools in arcgis? Also im not quit comfortable with programming.

Thanks

share|improve this question
1  
How many villages are you dealing with? –  cndnflyr Jun 7 '13 at 13:21
1  
I have over 25000 villages right now. –  user19033 Jun 12 '13 at 10:39
    
Please merge your accounts, @weny: that will enable you to comment on and edit your original question. –  whuber Jun 12 '13 at 11:32
    
Thanks for all the feedback. I'm still not able to find the exact answer. Here is the situation: 1. I have a DEM and with it, extracted a river raster using fill,flowdir and flowacc. 2. The village centroids are projected to this map. 3. Now what i really want is that- how can i know which village is upstream and downstream w.r.t the river/stream. The villages are not necessarily along the river but scattered all over. Does a 3D model works? Also will contours do anything good? 4. I want to create an attribute for this upstream and downstream villages. –  user19033 Jun 13 '13 at 11:56
    
Please edit your original question to include the new information, so that it will be more obvious. Also, please see whuber's comment about merging your accounts, since you'll need to use the original account to edit the question. Thanks. –  user3461 Jun 13 '13 at 14:05

2 Answers 2

first you need to use flow direction on the DEM, and then flow accumulation. Then you need to extract value by point from village points to flow acc' raster. The bigger the value is, the village is more at downstream, because he have more cells accumulating at his direction. In case of brances you need spatial join the villages points to the output of Stream order and then he knows numeric order to segments of a raster representing branches, or try the first process on every basin.

share|improve this answer
2  
This is clever--and would likely be part of some effective solution--but we can't expect it always to give the correct answers. Consider a river with just two branches, say "E" and "W": your algorithm would determine that all points on branch "E" having less flow than points on branch "W" are upstream of those points on "W", but that's obviously wrong. –  whuber Jun 12 '13 at 12:09
    
I see a further problem: What if village centroid is not inside the river but a bit away from the edge of the river? Then you will get a low flow accumulation even though the city is located far downstream. –  Jens Jun 12 '13 at 12:55
    
@Jens That difficulty is readily overcome in various ways, such as snapping the centroid to the river or averaging the flow accumulation within a buffer of the city, etc. –  whuber Jun 12 '13 at 13:42

An alternative approach: use Linear Referencing

You need a line feature class of the river (not a polygon feature class).

Convert line feature class to a route feature class. The route feature class has linear measures (black).

Use ArcGIS tool Locate Features Along Routes to calculate the linear measures of your cities (red).

enter image description here

(Sorry, I do know not how the problem with “branches” can be solved.)

share|improve this answer
    
That's likely part of the solution. Obviously, though, handling the branches is crucial. I believe any solution ultimately will need to create a network representation of the topology of those branches and apply an algorithm similar to the one described at gis.stackexchange.com/questions/11019/…. –  whuber Jun 12 '13 at 13:45

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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