The Esri FLT data format stores its data identically to an Esri BIL file, which GDAL does support:
GDAL_Translate -of EHdr -ot Float32 ....
Then all you need to do is change the extension from bil to flt and edit the header - the keywords are different.. for example:
BYTEORDER I
LAYOUT BIL
NROWS 1004
NCOLS 1002
NBANDS 1
NBITS 32
BANDROWBYTES 4008
TOTALROWBYTES 4008
PIXELTYPE FLOAT
ULXMAP 478000.5
ULYMAP 6937001.5
XDIM 1
YDIM 1
NODATA -9999
is what is in the header from GDAL translate, which needs to be changed to:
ncols 1002
nrows 1004
xllcorner 478000.000000000000
yllcorner 6935998.000000000000
cellsize 1.000000000000
NODATA_value -9999
BYTEORDER LSBFIRST
for a FLT file... easy as!
First change NODATA to NODATA_VALUE (if not already, both keywords are supported by Esri BIL), BYTEORDER
keyword changes from I
(Intel) to LSBFIRST
- assuming Intel, only one cellsize is supported so get rid of XDIM, YDIM
and replace with CELLSIZE
change ULXMAP
to XLLCENTER
and then it gets tricky.. BIL is upper left referenced but FLT is lower left referenced so you need to reduce the reference by NROWS * CELLSIZE
to obtain YLLCENTER
.
You should be able to validate your results in QGIS (I used 2.6 (Brighton)) by drag-n-drop the .flt file into the window.