[Gdal-dev] GDALWarpOptions padfSrcNoDataImag

Frank Warmerdam warmerdam at pobox.com
Wed May 2 18:21:08 EDT 2007


Craig Miller wrote:
> I'm getting an exception in GDALWarpOperation when I initialize with my warp
> options.  The exception is getting thrown when Initialize verifies that
> padfSrcNoDataImag[0] isn't 0 since padfSrcNoDataImag is NULL.  I can of
> course tweak gdal to check for a NULL pointer instead of looking for 0 in
> the 0 index, but without digging further I'm not 100% that is ok.  I've
> processed several hundred files with my code the way it is, and it is only
> this new image that is giving me fits so I thought I'd first try and
> determine what the padfSrcNoDataImag option is.  With a cursory look at the
> docs I haven't been able to find a description of how/why this gets set.
> Any suggestions?

Craig,

I don't know why this would only affect one image out of many similar ones.
But I do think this code in Initialize() should not assume padfSrcNoDataImag
is non-NULL just because padfSrcNoDataReal is non-NULL

             if( hSrcBand != NULL
                 && psOptions->padfSrcNoDataReal != NULL )
             {
                 int bMergeSource = FALSE;

                 if( psOptions->padfSrcNoDataImag[iBand] != 0.0
                     && !GDALDataTypeIsComplex( psOptions->eWorkingDataType ) )
                     bMergeSource = TRUE;

Could you file a bug on this, and I'll fix it in trunk and 1.4 branch.  I
think the fix would be to change:

                 if( psOptions->padfSrcNoDataImag[iBand] != 0.0
                     && !GDALDataTypeIsComplex( psOptions->eWorkingDataType ) )
                     bMergeSource = TRUE;

to:
                 if( psOptions->padfSrcNoDataImag != NULL
                     && psOptions->padfSrcNoDataImag[iBand] != 0.0
                     && !GDALDataTypeIsComplex( psOptions->eWorkingDataType ) )
                     bMergeSource = TRUE;

Best regards,
-- 
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up   | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | President OSGeo, http://osgeo.org




More information about the Gdal-dev mailing list