Ole, the current code in the AAIGRID driver autodetects if its a integer grid or a floating point grid, and in the later case it uses Float32 as a datatype, so that explains the loss of precision you've seen.
In the latest SVN code (see http://trac.osgeo.org/gdal/changeset/20179 and http://trac.osgeo.org/gdal/changeset/20180 ), the situation is now improved so that you now can set the configuration option AAIGRID_DATATYPE to Float64 to force Float64 being used to avoid the loss of precision. If I try with your script, AAIGRID_DATATYPE=Float64 python gdal_precision_test.py I get now : ASCII datatype: 7 float64 TIF datatype: 7 float64 Data GDAL (ASC): 50.814723686393002 Data GDAL (TIF): 50.814723686393002 Data REF: 50.814723686393002 Error (ASC): 0.000000000000000 Error (TIF): 0.000000000000000 Best regards, Even Le vendredi 06 août 2010 08:50:15, Ole Nielsen a écrit : > Dear group > > We are using GDAL - both command line and Python bindings - for much of > our modelling work. However, we find that the library wants to round > floating point numbers down to single precision (Float32 or DataType=6) > where what we need for scientific computing is double precision (Float64 > or DataType=7). We have been digging around the documentation and the > Python binding source codes, but are running out of ideas. > > Please find attached a small Python script with an ASCII test grid that > reveals the issue. Data which is originally in double precision gets > rounded to 6 decimal places if read directly by Gdal and also if converted > first to GeoTIFF using gdal_translate -ot Float64 ... . > > > The output of the attached script is > > > ASCII datatype: 6 float32 > TIF datatype: 7 float64 > > Data GDAL (ASC): 50.814723968505859 > Data GDAL (TIF): 50.814723968505859 > Data REF: 50.814723686393002 > > Error (ASC): 0.000000282112858 > Error (TIF): 0.000000282112858 > > > > > Grateful for your help > Cheers > Ole > > > Dr Ole Nielsen > Numerical Modeller > Australia-Indonesia Facility for Disaster Reduction > Mobile: +62 811 820 4637 | Phone: +62 21 398 30088 x1007 | Fax: +62 21 398 > 30068 _______________________________________________ gdal-dev mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/gdal-dev
