Is there any one who can help me?<br><br><div class="gmail_quote">On Wed, Jul 7, 2010 at 3:15 PM, Sandile Gumede <span dir="ltr">&lt;<a href="mailto:akasandile@gmail.com">akasandile@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Hi,<br><br>I&#39;ve tried to sort out the issue of the region resolution. Now when I&#39;m running v.rast.stats it says: <br><br>ERROR: No categories found in raster map<br><br>Here is the script I&#39;m running thats giving me that error:<br>

<br>#!/bin/sh<br><br>#variable to customize:<br># path to GRASS software main directory<br>GISBASE=/usr/lib/grass64<br># path to GRASS database<br>GISDBASE=$HOME/grassdata/Cape_Town<br><br>LOCATION_NAME=SRTMDEM<br>MAPSET=PERMANENT<br>

<br># nothing to change below<br>MAP=$1<br>LOCATION=$2<br><br><br># generate temporal LOCATION:<br>TEMPDIR=FLOODS<br>mkdir -p $GISDBASE/$LOCATION_NAME/$MAPSET<br><br># save existing $HOME/.grassrc6<br>if test -e $HOME/.grassrc6 ; then<br>

mv $HOME/.grassrc6 /tmp/$TEMPDIR.grassrc6<br>fi<br><br>echo &quot;LOCATION_NAME: $LOCATION_NAME&quot; &gt; $HOME/.grassrc6<br>echo &quot;MAPSET:$MAPSET&quot;                &gt;&gt; $HOME/.grassrc6<br>echo &quot;DIGITIZER: none&quot;               &gt;&gt; $HOME/.grassrc6<br>

echo &quot;GISDBASE: $GISDBASE&quot;           &gt;&gt; $HOME/.grassrc6<br>export GISBASE=$GISBASE<br><br># Create a WIND file with minimal information and no projection:<br>echo &quot;proj: 3 <br>zone:       0<br>north:      1<br>

south:      0<br>east:       1<br>west:       0<br>cols:       1<br>rows:       1<br>e-w resol:  1<br>n-s resol:  1<br>top:        1<br>bottom:     0<br>cols3:      1<br>rows3:      1<br>depths:     1<br>e-w resol3: 1<br>

n-s resol3: 1<br>t-b resol:  1<br>&quot; &gt; $GISDBASE/$LOCATION_NAME/$MAPSET/WIND<br><br># Copy WIND-file to DEFAULT_WIND:<br>cp $GISDBASE/$LOCATION_NAME/$MAPSET/WIND \<br> $GISDBASE/$LOCATION_NAME/$MAPSET/DEFAULT_WIND<br>

<br><br>echo &quot;name:      Latitude-Longitude<br>datum:           wgs84<br>towgs84:         0.000,0.000,0.000<br>proj:            ll<br>ellps:             wgs84<br>&quot;&gt; $GISDBASE/$LOCATION_NAME/$MAPSET/PROJ_INFO <br>

<br>echo &quot;unit: degree<br>ubits:      degrees<br>meters:     1.0<br>&quot;&gt; $GISDBASE/$LOCATION_NAME/$MAPSET/PROJ_UNITS<br><br><br><br>export PATH=$GISBASE/bin:$GISBASE/scripts:$PATH<br>export LD_LIBRARY_PATH=$GISBASE/lib:$LD_LIBRARY_PATH<br>

export GIS_LOCK=$$<br>export GISRC=$HOME/.grassrc6<br><br><br># this should print GRASS version used:<br>g.version<br># other calculations go here....<br><br># import rainfall data set.<br> cd /home/tgumede1/grassdata/Cape_Town<br>

<br><br># rainfall data set.<br>r.in.gdal input=$HOME/grassdata/Cape_Town/TRMMLast1day.tif output=rainfall<br><br><br># DEM data set.<br>r.in.gdal input=$HOME/grassdata/Cape_Town/Dem_CF.tif target=SRTMDEM output=dem <br>
 g.region rast=dem -p<br>
<br># creating set of maps indicating flow acc, drainage dir, streams<br>r.watershed --o elevation=dem@PERMANENT drainage=flow_direction basin=catch accumulation=acc threshold=1 memory=300 stream=str <br><br># convert catch raster to polygon vector<br>

r.to.vect in=catch@PERMANENT out=catchments feature=area<br><br> g.region rast=rainfall -p<br><br># Calculate univariate statistics<br>v.rast.stats -c vector=catchments@PERMANENT raster=rainfall@PERMANENT colpre=precp<br>

<br><br><br><div class="gmail_quote">On Wed, Jul 7, 2010 at 9:18 AM, Sandile Gumede <span dir="ltr">&lt;<a href="mailto:akasandile@gmail.com" target="_blank">akasandile@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

Hi<br><br>Which module do I use to change the resolutions?<div><div></div><div><br><br><div class="gmail_quote">2010/7/6  <span dir="ltr">&lt;<a href="mailto:micha@arava.co.il" target="_blank">micha@arava.co.il</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Hello Sandile:<br>
It seems you are importing two raster with vastly different resolutions.<br>
(I think we already came across this). See below...<br>
<div><br>
&gt; Hi<br>
&gt;<br>
&gt; Below is a step-by-step of what I have done but I&#39;m getting an error when<br>
&gt; running v.rast.stats vector=catchments raster=rainfall layer=1<br>
&gt; colprefix=area.<br>
&gt;<br>
&gt;<br>
&gt; GRASS 6.4.0RC5+39438 (SRTMDEM):~ &gt; r.in.gdal<br>
&gt; in=/home/tgumede1/grassdata/Cape_Town/TRMMLast1day.tif out=rainfall<br>
&gt;<br>
&gt; Projection of input dataset and current location appear to match<br>
&gt;  100%<br>
&gt; r.in.gdal complete. Raster map &lt;rainfall&gt; created.<br>
&gt; GRASS 6.4.0RC5+39438 (SRTMDEM):~ &gt; g.region rast=rainfall -p<br>
&gt; projection: 3 (Latitude-Longitude)<br>
&gt; zone:       0<br>
&gt; datum:      wgs84<br>
&gt; ellipsoid:  wgs84<br>
&gt; north:      33:30S<br>
&gt; south:      33:45S<br>
&gt; west:       18:15E<br>
&gt; east:       19E<br>
&gt; nsres:      0:15<br>
&gt; ewres:      0:15<br>
&gt; rows:       1<br>
&gt; cols:       3<br>
&gt; cells:      3<br>
<br>
</div>Here, the rainfall data has a resolution of 0:15 = 15 minutes or 1/4<br>
degree. THat&#39;s approximately (at the equator) about 27 km. So *one* raster<br>
cell is 27 km X 27 km =~ 730 <a href="http://sq.km" target="_blank">sq.km</a>. Your region is covered by 3 cells, 1<br>
row by 3 columns. Not very helpful data!<br>
<br>
Next...<br>
<div><br>
&gt; GRASS 6.4.0RC5+39438 (SRTMDEM):~ &gt; r.in.gdal<br>
&gt; in=/home/tgumede1/grassdata/Cape_Town/Dem_CF.tif out=dem target=SRTMDEM<br>
&gt;<br>
&gt;<br>
&gt; Projection of input dataset and current location appear to match<br>
&gt;  100%<br>
&gt; r.in.gdal complete. Raster map &lt;dem&gt; created.<br>
&gt; GRASS 6.4.0RC5+39438 (SRTMDEM):~ &gt; g.region rast=dem -p<br>
&gt; projection: 3 (Latitude-Longitude)<br>
&gt; zone:       0<br>
&gt; datum:      wgs84<br>
&gt; ellipsoid:  wgs84<br>
&gt; north:      33:40:46.499215S<br>
&gt; south:      34:00:52.499215S<br>
&gt; west:       18:17:55.500436E<br>
&gt; east:       19:10:16.500436E<br>
&gt; nsres:      0:00:03<br>
&gt; ewres:      0:00:03<br>
&gt; rows:       402<br>
&gt; cols:       1047<br>
&gt; cells:      420894<br>
<br>
</div>Your DEM layer, on the other hand, is of resolution 3 arc seconds, or<br>
about 90 meters on a side. So each cell is 90 m. X 90 m = 8100 sq.m. =~<br>
0.0081 <a href="http://sq.km" target="_blank">sq.km</a>.<br>
<div><br>
&gt; GRASS 6.4.0RC5+39438 (SRTMDEM):~ &gt; r.watershed elevation=dem<br>
&gt; accumulation=acc drainage=direction basin=catch stream=str threshold=200<br>
&gt;<br>
<br>
</div>Here you chose a threshold of 200. That&#39;s 200 cells, so about 200 X 0.0081<br>
<a href="http://sq.km" target="_blank">sq.km</a>, or 1.6 sq km. As a result (see below, the output of r.to.vect) you<br>
are getting over 19,000 tiny little catchments. Are you sure that&#39;s what<br>
you want??<br>
<br>
Finally, you&#39;re trying to get raster values for 19,000 tiny vector areas<br>
where the raster (rainfall) is only 3 cells! You&#39;ll have 1000&#39;s of<br>
catchments with all the same values. And I guess that some of these<br>
catchments are extending outside of the three rainfall cells, and causing<br>
the  NULL value error.<br>
<br>
In short: I think you&#39;ll need to match the resolution of the DEM to that<br>
of the rainfall data. If the rainfall is only as accurate as 1 data value<br>
per 730 <a href="http://sq.km" target="_blank">sq.km</a>. then you will be able to do vector-raster analyses only at<br>
that resolution = i.e. continent scale maps.<br>
<br>
HTH<br>
<font color="#888888">--<br>
Micha<br>
</font><div><div></div><div><br>
&gt;<br>
&gt; SECTION 1a (of 5): Initiating Memory.<br>
&gt; SECTION 1b (of 5): Determining Offmap Flow.<br>
&gt;  100%<br>
&gt; SECTION 2: A * Search.<br>
&gt;  100%<br>
&gt; SECTION 3: Accumulating Surface Flow.<br>
&gt;  100%<br>
&gt; SECTION 4: Watershed determination.<br>
&gt;  100%<br>
&gt; SECTION 5: Closing Maps.<br>
&gt;  100%<br>
&gt; GRASS 6.4.0RC5+39438 (SRTMDEM):~ &gt; r.to.vect -s in=catch out=catchments<br>
&gt; feature=area<br>
&gt; Extracting areas...<br>
&gt;  100%<br>
&gt;  100%<br>
&gt; Building topology for vector map &lt;catchments&gt;...<br>
&gt; Registering primitives...<br>
&gt; 60653 primitives registered<br>
&gt; 314051 vertices registered<br>
&gt; Building areas...<br>
&gt;  100%<br>
&gt; 19885 areas built<br>
&gt; 1 isles built<br>
&gt; Attaching islands...<br>
&gt;  100%<br>
&gt; Attaching centroids...<br>
&gt;  100%<br>
&gt; Number of nodes: 40769<br>
&gt; Number of primitives: 60653<br>
&gt; Number of points: 0<br>
&gt; Number of lines: 0<br>
&gt; Number of boundaries: 40768<br>
&gt; Number of centroids: 19885<br>
&gt; Number of areas: 19885<br>
&gt; Number of isles: 1<br>
&gt; r.to.vect complete.<br>
&gt;<br>
&gt; GRASS 6.4.0RC5+39438 (SRTMDEM):~ &gt; v.rast.stats vector=catchments<br>
&gt; raster=rainfall layer=1 colprefix=precip<br>
&gt;<br>
&gt; DBMI-DBF driver error:<br>
&gt; SQL parser error: syntax error, unexpected NULL_VALUE processing &#39;NULL&#39;<br>
&gt; in statement:<br>
&gt; UPDATE catchments SET precip_min=-NULL WHERE cat=10163<br>
&gt; Error in db_execute_immediate()<br>
&gt;<br>
&gt; ERROR: Error while executing: &#39;UPDATE catchments SET precip_min=-NULL<br>
&gt; WHERE<br>
&gt;        cat=10163&#39;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Here is the output of gdalinfo TRMMLast1day.tif<br>
&gt;<br>
&gt; Origin = (18.250000000000000,-33.500000000000000)<br>
&gt; Pixel Size = (0.250000000000000,-0.250000000000000)<br>
&gt;<br>
&gt; --------------------<br>
&gt; coordinates--------------------------------------------<br>
&gt; Corner Coordinates:<br>
&gt; Upper Left  (  18.2500000, -33.5000000)<br>
&gt; Lower Left  (  18.2500000, -33.7500000)<br>
&gt; Upper Right (  19.0000000, -33.5000000)<br>
&gt; Lower Right (  19.0000000, -33.7500000)<br>
&gt; Center      (  18.6250000, -33.6250000)<br>
&gt;<br>
&gt;<br>
&gt; Here is what I did to clip the region of interest.<br>
&gt;<br>
&gt; gdal_translate -a_srs EPSG:4326 -projwin 18.2987501 -33.6795831 19.1712501<br>
&gt; -34.0141665 3B42RT.2010032900.1day.tif TRMMLast1day.tif<br>
&gt;<br>
&gt;<br>
&gt; Is there something I have done wrong in these steps or there is something<br>
&gt; wrong with my coordinates?<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; 2010/7/6 &lt;<a href="mailto:micha@arava.co.il" target="_blank">micha@arava.co.il</a>&gt;<br>
&gt;<br>
&gt;&gt; &gt; Hi<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Is it wrong to use  -a_ullr option in gdal_translate to clip a small<br>
&gt;&gt; &gt; portion<br>
&gt;&gt; &gt; of the region from the big geotiff file region?<br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;&gt; The option -a_ullr will change the georeference of the resulting file,<br>
&gt;&gt; so<br>
&gt;&gt; you could say it&#39;s &quot;wrong&quot; if you want to keep the original referencing.<br>
&gt;&gt; The way to clip a portion of the original and still maintain<br>
&gt;&gt; geo-referencing is with the -projwin option.<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Micha<br>
&gt;&gt;<br>
&gt;&gt; &gt; --<br>
&gt;&gt; &gt; Kind Regards<br>
&gt;&gt; &gt; TS Gumede<br>
&gt;&gt; &gt; CSIR, Meraka Institute<br>
&gt;&gt; &gt; 072 258 1650<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; This mail was received via Mail-SeCure System.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Kind Regards<br>
&gt; TS Gumede<br>
&gt; CSIR, Meraka Institute<br>
&gt; 072 258 1650<br>
&gt;<br>
&gt; This mail was received via Mail-SeCure System.<br>
&gt;<br>
&gt;<br>
&gt;<br>
<br>
</div></div></blockquote></div><br><br clear="all"><br></div></div>-- <br><div><div></div><div>Kind Regards<br>TS Gumede<br>CSIR, Meraka Institute<br>072 258 1650<br><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Kind Regards<br>TS Gumede<br>CSIR, Meraka Institute<br>072 258 1650<br><br>
</blockquote></div><br><br clear="all"><br>-- <br>Kind Regards<br>TS Gumede<br>CSIR, Meraka Institute<br>072 258 1650<br><br>