<div dir="ltr">Moritz,<div><br></div><div>I need to be sure I understand this line:</div><div><br></div><div><span style="font-family:arial,sans-serif;font-size:13px">down_id = if(dir=1, id[1,1], if(dir=2, id[0,1], if(dir=3, id[-1,1] .... etc</span><br></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px">dir=1 is what direction?; </span><span style="font-family:arial,sans-serif;font-size:13px">dir=2 is what direction?, etc. Is dir=1 </span><font face="arial, sans-serif">directly to the 'East', dir=3 directly 'south', dir=5 directly 'west' and dir=7 directly 'north'</font></div><div><font face="arial, sans-serif"><br></font></div><div><font face="arial, sans-serif">Also, does the indexing [0,1] refer to the [x,y], i.e., [column, row] so that [0,1] refers to the same column, but one row below? Which would imply from your line that dir=2 is directly 'south'??</font></div><div><font face="arial, sans-serif"><br></font></div><div><font face="arial, sans-serif">I apologize for being dense about this, I just need to be sure — sorry…</font></div><div><font face="arial, sans-serif"><br></font></div><div><font face="arial, sans-serif">I did get the first part to work using r.mapcalc to get the pixel indexing: id = (row() - 1)*Ncolumns + col()</font></div><div><font face="arial, sans-serif"><br></font></div><div><font face="arial, sans-serif">Regards,</font></div><div><font face="arial, sans-serif">Tom</font></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Nov 12, 2014 at 7:30 AM, Moritz Lennert <span dir="ltr"><<a href="mailto:mlennert@club.worldonline.be" target="_blank">mlennert@club.worldonline.be</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 12/11/14 05:10, Thomas Adams wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I need to generate an ascii text file from a flow direction grid that<br>
consists of (among a couple other things that don't really matter at<br>
this point) for each pixel:<br>
</blockquote>
<br></span>
Rainer has already given you a whole program, but here's a decomposition in simple (untested) r.mapcalc steps:<span class=""><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
(1) a unique integer identifier (1 -- N) for the pixel<br>
</blockquote>
<br></span>
r.mapcalc "id = row()*N + col()" # where N = nb cols * 10<br>
<br>
(you might have to watch out for integer overflow, though)<span class=""><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
(2) the integer identifier of the downstream pixel (assuming there is<br>
ONLY one)<br>
</blockquote>
<br></span>
Calculate flow direction in SFD mode and use something like this:<br>
<br>
r.mapcalc down_id = if(dir=1, id[1,1], if(dir=2, id[0,1], if(dir=3, id[-1,1] .... etc<span class=""><br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
(3) the x,y location of the pixel (presumably, the lower left corner of<br>
the pixel)<br>
</blockquote>
<br></span>
center of pixel:<br>
r.mapcalc x = x()<br>
r.mapcalc y = y()<br>
<br>
if you want the lower left corner:<br>
<br>
r.mapcalc x = x() - ewres()/2<br>
r.mapcalc y = y() - nsres()/2<br>
<br>
<br>
Then export everything with<br>
<br>
r.stats -1 in=id,x,y,down_id<span class="HOEnZb"><font color="#888888"><br>
<br>
Moritz<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div><br><div class="gmail_signature"><div><br></div></div>
</div></div>