[GRASS5] Re: [bug #3023] (grass) r.fillnulls doesn't work
Glynn Clements
glynn at gclements.plus.com
Fri Mar 4 04:38:15 EST 2005
Hamish wrote:
> > >> r.fillnulls fails in such a way:
> > >>
> > >> GRASS 6.0.cvs:~ > r.fillnulls input=N51E016_nowy
> > >> output=N51E016_nowy.fld Using tmp file r_fillnulls_4707
> > >> Locating and isolating NULL areas...
> > >> 100%
> > >> r.buffer: 00000000 - illegal distance specification
> > >
> ..
> > > what do you get if you type this at a command prompt:
> > >
> > > echo "0.3 0.3" | awk '{printf "%.8f\n", ($1 + $2)}'
> > > 00000000 or 0.60000000 ?
> >
> > Neither:
> >
> > GRASS 6.0.cvs:~ > echo "0.3 0.3" | awk '{printf "%.8f\n", ($1 + $2)}'
> > 0,00000000
> >
> > "," instead of "." - would that be the issue? I Poland, in opposite to
> > the normal world, we use the coma as the decimal point deliminator.
> > Does r.fillnulls rely on local system settings?
>
>
> Yes, that's the problem.
>
> I think awk might have troubles too. does this give "0,6":
> echo "0,3 0,3" | awk '{printf "%.8f\n", ($1 + $2)}'
> ?
>
> We can't assume "bc" or "dc" are installed, but come to think of it we
> are using an arbitrary buffer distance here anyway so it doesn't really
> matter if we are +/- 1m. I've just applied a fix in CVS removing the
> above "awk" step. please test.
Hmm. In that case, scripts which use awk should probably have:
LC_NUMERIC=C
export LC_NUMERIC
Or just:
LC_NUMERIC=C awk ...
--
Glynn Clements <glynn at gclements.plus.com>
More information about the grass-dev
mailing list