Hi,
  I found this in the r.in.gdal documentation:

"Float32 and Float64 type bands are translated as GRASS floating point cells 
(but not double precision ... this could be added if needed)"

I guess r.out.gdal can translate DCELL_TYPE into Float64. Why is Float64 
translated to FCELL_TYPE instead DCELL_TYPE? What is the reason for the 
discrepancy? What should I do to allow transformation of Float64 into 
DCELL_TYPE?

In main function(using C) for r.in.gdal, there is a function named importBand():

eRawGDT = GDALGetRasterDataType(hBand);

    switch (eRawGDT) {
    case GDT_Float32:
    case GDT_Float64:
        data_type = FCELL_TYPE;
        eGDT = GDT_Float32;
        complex = FALSE;
        break;

Would re-writing this to the following(and making some changes in the 
subsequent code) wouldn't work?:

    case GDT_Float32:
        data_type = FCELL_TYPE;
        eGDT = GDT_Float32;
        complex = FALSE;
        break;
    case GDT_Float64:
        data_type = DCELL_TYPE;
        eGDT = GDT_Float64;
        complex = FALSE;
        break;

Any suggestions are greatly appreciated. Thank you.

Regards,
Upendra

_______________________________________________
grass-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-dev

Reply via email to