[GIS] can’t generate/display signed float values using python/gdal

gdalmapwindowpythonraster

I'm trying to create a raster with signed float values as the pixel values and display the results in MapWindow on windows.

What is the proper gdal band type to use? I've tried both gdal.GDT_Byte and gdal.GDT_Float32 and using both methods I can't seem to get the pixels displayed. If I change the pixel value to the abs() value they will display.

dataset = driver.Create(filename, cols, rows, number_of_bands, gdal.GDT_Byte)

gdal.GDT_CFloat32 allows for negative numbers but doesn't properly display the floating point value past the point.

Best Answer

gdal.GDT_Byte is 8 bit unsigned (0-255). You don't want that. You want gdal.GDT_Float32. If you can't see the result, try calculating statistics - dataset.ComputeStatistics(0) - before displaying.