[GRASS-dev] [GRASS GIS] #335: export floats and doubles with correct precision

GRASS GIS trac at osgeo.org
Wed Feb 20 00:43:22 PST 2013


#335: export floats and doubles with correct precision
-----------------------+----------------------------------------------------
 Reporter:  hamish     |       Owner:  grass-dev@…              
     Type:  task       |      Status:  new                      
 Priority:  critical   |   Milestone:  6.4.4                    
Component:  Default    |     Version:  svn-develbranch6         
 Keywords:  precision  |    Platform:  All                      
      Cpu:  All        |  
-----------------------+----------------------------------------------------

Comment(by hamish):

 Replying to [comment:21 mmetz]:
 > Glynn: Binary to text conversions must use %.9g (float) and %.17g
 > (double) in order to preserve fp values in a binary-decimal-binary
 > round-trip, e.g. r.out.ascii followed by r.in.ascii.

 take care that preserving b-d-b round trip ,on a single platform, is not
 the only task or consideration.  For the r.out.ascii + r.in.ascii round
 trip it may well be appropriate, but while conceding that point I'd argue
 that r.*.bin or r.*.mat would be a better choice in those cases.

 %.15,7g was chosen because it's perfectly reproducible and doesn't
 introduce useless .0000000000000001 crap into the data files which
 G_trim_decimal() can't handle. For things like r.univar, r.info, and
 v.db.select the output is at least in part for human consumption; there's
 no practical need to expose the FP noise. The main thing for us to focus
 on I think is all the remaining lossy %f and meaningless %.56f type stuff
 in the code, not splitting hairs over preserving quanta finer than
 GRASS_EPSILON.


 wrt lib/gis/color_write.c, look closely & you'll see there is a +/-
 GRASS_EPSILON adjustment on the range to ensure that the rounding exceeds
 the range, and so you shouldn't ever get white spots at the peaks and
 pits.


 best,
 Hamish

 (this is something I hope python cleans up with 3.0)

-- 
Ticket URL: <http://trac.osgeo.org/grass/ticket/335#comment:23>
GRASS GIS <http://grass.osgeo.org>



More information about the grass-dev mailing list