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.
-
1There's something strange about this question, because there is no such thing as an unsigned float, afaik. I wonder what kind of values you really are trying to store in this raster?whuber– whuber2012年05月23日 21:22:34 +00:00Commented May 23, 2012 at 21:22
-
I too want to store DEM data as plain headerless binary float32. I'm using a workaround, but I'm surprised GDAL can't handle plain old binary format.user13187– user131872012年11月29日 08:52:41 +00:00Commented Nov 29, 2012 at 8:52
-
Please describe this workaround, so others may benefit from it.lynxlynxlynx– lynxlynxlynx2012年11月29日 10:13:07 +00:00Commented Nov 29, 2012 at 10:13
1 Answer 1
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.