Re: [GRASS-user] Problem with r. mapcalc

2021-02-25 Thread Giuseppe Amatulli
Sorry, my wrong conclusion
Single-precision floating-point variables are able to represent integers
between [-16777216, 16777216]
maybe better to report in the r.out.gdal data type table


On Thu, 25 Feb 2021 at 12:20, Giuseppe Amatulli 
wrote:

> Thanks to both of you!!
> Now I got it! So the
> Float32, CFloat32   -3.4E38   3.4E38 range identify the maximum number
> of characters in the binary format and not in the decimal format - correct?
> So even if 3024784769025  fit as a decimal number in -3.4E38   3.4E38 does
> not fit as binary - correct?
> ...this one I did not know... I spent a few days on this.
>
> yes r.info gives the scientific format so it will be nice to have also
> the long decimal  number.. .to spot this kind of errors.
> Giuseppe
>
>
>
> On Thu, 25 Feb 2021 at 11:29, Maris Nartiss  wrote:
>
>> Markus, output of r.univar and r.info both can have scientific
>> notation in their range outputs.
>>
>> Giuseppe, at least on my system r.mapcalc for floating point
>> expressions (if one of operands is floating point) defaults to double
>> (stored as DCELL). Still to be safe you can convert one of operands
>> (e.g. input map with ints) to double with double() as Markus already
>> pointed out.
>>
>> Good luck,
>> Māris.
>>
>
>
> --
> Giuseppe Amatulli, Ph.D.
>
> Research scientist at
> School of the Environment
> Yale University
> New Haven, CT, USA - 06511
> Tweeter: @BigDataEcology
> Teaching: http://spatial-ecology.net
> Work:  https://environment.yale.edu/profile/giuseppe-amatulli/
>
>

-- 
Giuseppe Amatulli, Ph.D.

Research scientist at
School of the Environment
Yale University
New Haven, CT, USA - 06511
Tweeter: @BigDataEcology
Teaching: http://spatial-ecology.net
Work:  https://environment.yale.edu/profile/giuseppe-amatulli/
___
grass-user mailing list
grass-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-user


Re: [GRASS-user] Problem with r. mapcalc

2021-02-25 Thread Giuseppe Amatulli
Thanks to both of you!!
Now I got it! So the
Float32, CFloat32   -3.4E38   3.4E38 range identify the maximum number
of characters in the binary format and not in the decimal format - correct?
So even if 3024784769025  fit as a decimal number in -3.4E38   3.4E38 does
not fit as binary - correct?
...this one I did not know... I spent a few days on this.

yes r.info gives the scientific format so it will be nice to have also the
long decimal  number.. .to spot this kind of errors.
Giuseppe



On Thu, 25 Feb 2021 at 11:29, Maris Nartiss  wrote:

> Markus, output of r.univar and r.info both can have scientific
> notation in their range outputs.
>
> Giuseppe, at least on my system r.mapcalc for floating point
> expressions (if one of operands is floating point) defaults to double
> (stored as DCELL). Still to be safe you can convert one of operands
> (e.g. input map with ints) to double with double() as Markus already
> pointed out.
>
> Good luck,
> Māris.
>


-- 
Giuseppe Amatulli, Ph.D.

Research scientist at
School of the Environment
Yale University
New Haven, CT, USA - 06511
Tweeter: @BigDataEcology
Teaching: http://spatial-ecology.net
Work:  https://environment.yale.edu/profile/giuseppe-amatulli/
___
grass-user mailing list
grass-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-user


Re: [GRASS-user] Problem with r. mapcalc

2021-02-25 Thread Maris Nartiss
Markus, output of r.univar and r.info both can have scientific
notation in their range outputs.

Giuseppe, at least on my system r.mapcalc for floating point
expressions (if one of operands is floating point) defaults to double
(stored as DCELL). Still to be safe you can convert one of operands
(e.g. input map with ints) to double with double() as Markus already
pointed out.

Good luck,
Māris.
___
grass-user mailing list
grass-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-user


Re: [GRASS-user] Problem with r. mapcalc

2021-02-25 Thread Markus Neteler
On Thu, Feb 25, 2021 at 2:32 PM Giuseppe Amatulli
 wrote:
>
> Thanks Maris!!
> How can I force the output to be DCELL?

Please try double() instead of float() in your formula.

> How can I get the "Range of data:"  without the scientific number notation?

To which command do you refer to?

Markus
___
grass-user mailing list
grass-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-user


Re: [GRASS-user] Problem with r. mapcalc

2021-02-25 Thread Giuseppe Amatulli
Thanks Maris!!
How can I force the output to be DCELL?
How can I get the "Range of data:"  without the scientific number notation?
thanks
Giuseppe

On Thu, 25 Feb 2021 at 01:11, Maris Nartiss  wrote:

> Hello Giuseppe,
> I am too lazy to calculate binary representation of your numbers, but
> your suspicion of insufficient precision of float seems to be spot-on.
>
> If output is set to DCELL, then the result is exactly as you would
> expect. Try yourself:
> r.mapcalc  expression="output=basin - 241981407231.0"
> Range of data:min = 1  max = 3024784769025
>
> Māris.
>


-- 
Giuseppe Amatulli, Ph.D.

Research scientist at
School of the Environment
Yale University
New Haven, CT, USA - 06511
Tweeter: @BigDataEcology
Teaching: http://spatial-ecology.net
Work:  https://environment.yale.edu/profile/giuseppe-amatulli/
___
grass-user mailing list
grass-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-user