Hi, I'm having problems with GDAL inserting leading spaces when writing from a numpy array to ESRI ASCII Grid format.
The problem occurs whenever there are integers in the array (even though the array itself is floating point). E.g., if I try to write a 3x3 grid that ArcGIS can read, it needs to look something like this: ncols 3 nrows 3 xllcorner 100.000000000000 yllcorner 100.000000000000 cellsize 0.000010000000 1.00000000000000000 1.4809201955795288 1.4809201955795288 0.11773009598255157 0.15476560592651367 0.86710774898529053 0.17429724335670471 0.76037305593490601 10.00000000000000 Instead, the ascii file written by GDAL looks like this (which can't be read by ArcGIS because of extra leading spaces in the first line of the data): ncols 5 nrows 5 xllcorner 100.000000000000 yllcorner 100.000000000000 cellsize 0.000010000000 1 1.4809201955795288 1.4809201955795288 0.25947147607803345 0.71342569589614868 2.8101832866668701 0.11773009598255157 0.15476560592651367 0.86710774898529053 0.17429724335670471 0.76037305593490601 10 0.74458205699920654 Here is the code I have been trying to use: format = "MEM" driver = gdal.GetDriverByName( format ) dst_ds = driver.Create( file, len(data[0]), len(data),1,gdal.GDT_Float32) dst_ds.SetGeoTransform([xllcorner, cellsize, 0, ull, 0, cellsize]) dst_ds.GetRasterBand(1).WriteArray(data) format = 'AAIGrid' driver = gdal.GetDriverByName(format) dst_ds_new = driver.CreateCopy(file, dst_ds) dst_ds = None I've seen this problem on various versions of python going back at least 3 years, so have relied on the much slower numpy.savetxt command instead of using GDAL. Any thoughts on how to make this work? Thanks! Brad -- View this message in context: http://osgeo-org.1803224.n2.nabble.com/extra-spaces-when-writing-to-AAIGRID-format-tp7097852p7097852.html Sent from the GDAL - Dev mailing list archive at Nabble.com. _______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/gdal-dev