[GRASS-user] log(0)-error in r.mapcalculator
Markus Metz
markus.metz.giswork at gmail.com
Thu Nov 8 10:34:16 PST 2012
On Thu, Nov 8, 2012 at 10:50 AM, Patrick S. <patrick_GIS at gmx.ch> wrote:
> Dear List,
>
> I keep getting a log(0) error in r.mapcalculator, even if I enlarge the
> data. This seems to be a bug as I controlled the same data with R and get
> (non-infinity) values. Does r.mapcalculator eventually truncate the results
> of formulas to some integer values?
>
> logit-expression: log(((A/100)/(1-(A/100)))
In r.mapcalc, the numbers are treated as integers. Try instead log(((A
/ 100.0) / (1.0 - (A / 100.0)))
Changing e.g. 1 to 1.0 forces r.mapcalc to do floating point calculations.
HTH,
Markus M
>
> To avoid error of log(0) I enlarged the data by 0.00001, 1 and 5 but keep
> getting the error.
>
> I run it out of R with:
> param<-list(amap="r_slope_perc", formula="log(((A+0.00001)/100)/(1-(A/100)))
> ", outfile="r_slope_perc_logit")
> execGRASS("r.mapcalculator", parameters=param, flags=c("overwrite"))
>
> (r.mapcalculator amap="r_slope_perc",
> formula="log(((A+0.00001)/100)/(1-(A/100)))" outfile="r_slope_perc_logit"
> --overwrite)
>
>
> Any ideas why this happens?
>
> Patrick
> _______________________________________________
> grass-user mailing list
> grass-user at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/grass-user
More information about the grass-user
mailing list