[gdal-dev] gdalwarp's default nodata value
Even Rouault
even.rouault at mines-paris.org
Wed May 12 13:53:47 EDT 2010
Joaquim,
I believe what you see is the expected behaviour.
You must keep in mind that there are 2 notions :
1) nodata value --> setting it is no more than just setting a "tag" on the
raster band. It doesn't change the pixel values by itself as Chaintanya
explained
2) initialization of the pixel data of the target image with a given value
When you use the -dstnodata option, gdalwarp will automagically do both :
1) Set the target nodata value
2) Initialize the target image with that nodata value (remind of removing the
target file if it already exists)
If you specify nothing, then 0 is used to fill the target image but the nodata
tag is not set.
The initialization of the pixel data of the target image is in fact done
through the INIT_DEST warping option. See
http://gdal.org/structGDALWarpOptions.html#0ed77f9917bb96c7a9aabd73d4d06e08
For example, gdalwarp src.tif dst.tif -wo "INIT_DEST=255"
If you specify no INIT_DEST warping option, then gdalwarp uses the dstnodata
value if it's specified with -dstnodata and set it as the INIT_DEST value
too.
I've also tested -dstnodata nan and to my great surprise, it actually works !
However I'm not sure if all applications can deal with the "nan" string put
in the 42113 tag used by GDAL for the Nodata value in TIFF.
So maybe I've not understood what your problem is, but everything seems to
work as expected on my side.
Best regards,
Even
Le Wednesday 12 May 2010 01:37:07 Joaquim Luis, vous avez écrit :
> Hi,
>
> Before filling a ticket I would like to ask here if this gdalwarp
> behavior is the intended one.
> When I convert a grid from geogs to UTM the nodatavalues are filled with
> zeros.
> I get the expected behaviour if I use the -dstnodata with a numeric
> value, but I found no way tom tell it use NaN.
>
> Summary
>
> This puts zeros on the nodata zone, but I don't find it correct as "0"
> is not exactly a natural nodata value. For my habits NaN is the natural
> no data value.
>
> gdalwarp -s_srs "+proj=latlong" -t_srs "+proj=utm +zone=29 +datum=WGS84"
> swath_grid.grd lixo_utm.tiff
>
> Furthermore when I load the " lixo_utm.tiff" in Mirone is does not
> recognize a nodata value, whilst if I do this instead
>
> gdalwarp -s_srs "+proj=latlong" -t_srs "+proj=utm +zone=29 +datum=WGS84"
> -dstnodata 1 swath_grid.grd lixo_utm.tiff
>
> than "1" is recognized as the nodata. I have not investigated the
> metadata to see why the "0" is not set to represent the nodata.
>
> Thanks
>
> Joaquim Luis
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/gdal-dev
More information about the gdal-dev
mailing list