Hi,<br><br><div class="gmail_quote">On Fri, Mar 23, 2012 at 5:06 PM,  <span dir="ltr">&lt;Raphael.Viscarra-Rossel@csiro.au&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello,<br>
I wonder if there is a way to extract/sample (eg using nearest neighbour) the values from multiple rasters that correspond to a set of to vector points into a table.<br>
I could find a way to do this for one raster, but not for multiple rasters. Has anyone done this in GRASS?<br></blockquote><div><br></div><div>Not sure if i got what you mean to do. With r.what you can extract the characteristics from multiple rasters, given the coordinates of the points you are interested in. If you have multiple points, you can apply r.what iteratively using a simple script, i.e.:</div>
<div><br></div><div><div>#! /usr/bin/python</div><div><br></div><div>import os, sys</div><div>from glob import glob</div><div>import grass.script as grass</div><div><br></div><div>topidx = sys.argv[1] </div><div>accMFD = sys.argv[2] </div>
<div><br></div><div>fpath = &#39;your/path/to/coordinates/file&#39;</div><div><br></div><div># coordinates is a txt file in which coordinates are stored</div><div>coord = open( os.path.join(fpath, &#39;coordinates&#39;), &#39;r&#39;).readlines()</div>
<div>pairs = []</div><div><br></div><div>for line in coord:</div><div>    line = line.strip()</div><div>    x, y = line.split(&#39;\t&#39;)</div><div>    pairs.append( x + &quot;,&quot; + y )</div><div><br></div><div>r_what = grass.read_command(&#39;r.what&#39;, input = &#39;topidx,accMFD&#39;, east_north = pairs)</div>
<div><br></div><div># create a new file output</div><div>fout = open( os.path.join(fpath, &#39;output&#39;), &#39;w&#39;)</div><div>fout.write(r_what)</div><div>fout.close()</div></div></div><br clear="all"><div>Hope this helps,</div>
<div>madi</div><div><br></div>-- <br>Ing. Margherita Di Leo, Ph.D.<br>