[GRASS5] r.thin -- misleading message about successful completion

Markus Neteler neteler at itc.it
Tue Apr 4 10:53:10 EDT 2006


Ludwig,

excellent observation!

I have fixed it in CVS (will partially backport to GRASS 6.0.x, too):

- added iterations parameter
- added exit error message if failure (suggesting to increase iterations parm)
- Fixed wording (path -> pass)
- increased default iterations

The latter should probably solve problems earlier reported
(how to thin a river).

thanks again,

 Markus

On Tue, Apr 04, 2006 at 08:20:06AM +0000, Ludwig M Brinckmann wrote:
> I have been trying to thin flow accumulations generated with
> r.terraflow with r.thin.
> 
> r.thin always reported a successfull
> completion of the program.
> 
> However I discovered that in many
> cases a subsequent run of r.to.vector was not happy with the
> results of r.thin, suggesting I should run r.thin...
> 
> Now looking through the code of r.thin I have discovered that
> in fact even if r.thin reports a successful completion, it
> might have just run out of an arbitrary number of iterations
> for the thinning process, without actually converging. This is bad.
> 
> [
> What actually stops the iterations is this line, undocumented
> and only visible for those who venture into the source.
> 
> thin_lines.c, 115:
> 
> 	   while((deleted>0)&&(i<=30))  /* it must be done in <= 30
> 	   pathes */
> 
> at the top of the file one however finds this #define, which
> is never used:
> 
> 	#define MAX_PASSES    10
> ]
> 
> 
> As the quickest fix I suggest a termination message in r.thin
> indicating
> that the compiled-in iterations have been exhausted and that
> running of r.thin again on the results will maybe converge.
> 
> The right fix IMHO is to move the number of iterations to the
> command line, with a sensible default, plus of cause an error
> message if the number of iterations do not complete the
> program.
> 
> 
> Ludwig
> 
> 
> _______________________________________________
> grass5 mailing list
> grass5 at grass.itc.it
> http://grass.itc.it/mailman/listinfo/grass5

-- 
Markus Neteler     <neteler itc it>       http://mpa.itc.it
ITC-irst -  Centro per la Ricerca Scientifica e Tecnologica
MPBA - Predictive Models for Biol. & Environ. Data Analysis
Via Sommarive, 18        -       38050 Povo (Trento), Italy




More information about the grass-dev mailing list