Hi<br><br>Which module do I use to change the resolutions?<br><br><div class="gmail_quote">2010/7/6  <span dir="ltr">&lt;<a href="mailto:micha@arava.co.il">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 class="im"><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 class="im"><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 class="im"><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 class="h5"><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">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>-- <br>Kind Regards<br>TS Gumede<br>CSIR, Meraka Institute<br>072 258 1650<br><br>