From 6e559453f1628c8b4cb02cf614313fc283ecd0e3 Mon Sep 17 00:00:00 2001 From: Bborie Park Date: Wed, 28 Dec 2011 15:45:19 +0000 Subject: [PATCH] Force initialization of output GDAL raster from rt_raster_gdal_warp to band's NODATA value. Also, spelling correction. git-svn-id: http://svn.osgeo.org/postgis/trunk@8602 b70326c6-7e19-0410-871a-916f4a2858ee --- raster/rt_core/rt_api.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/raster/rt_core/rt_api.c b/raster/rt_core/rt_api.c index 0c0a7195a..a12a688fc 100644 --- a/raster/rt_core/rt_api.c +++ b/raster/rt_core/rt_api.c @@ -6089,7 +6089,7 @@ rt_raster_deserialize(void* serialized, int header_only) { /* Allocate memory for deserialized raster header */ - RASTER_DEBUG(3, "rt_raster_deserialize: Allocationg memory for deserialized raster header"); + RASTER_DEBUG(3, "rt_raster_deserialize: Allocating memory for deserialized raster header"); rast = (rt_raster) rtalloc(sizeof (struct rt_raster_t)); if (!rast) { rterror("rt_raster_deserialize: Out of memory allocating raster for deserialization"); @@ -7726,6 +7726,10 @@ rt_raster rt_raster_gdal_warp( wopts->hDstDS = dst_ds; wopts->pfnTransformer = transform_func; wopts->pTransformerArg = transform_arg; + wopts->papszWarpOptions = (char **) CPLMalloc(sizeof(char *) * 2); + wopts->papszWarpOptions[0] = (char *) CPLMalloc(sizeof(char) * (strlen("INIT_DEST=NO_DATA") + 1)); + strcpy(wopts->papszWarpOptions[0], "INIT_DEST=NO_DATA"); + wopts->papszWarpOptions[1] = NULL; /* set band mapping */ wopts->nBandCount = numBands; @@ -7795,11 +7799,15 @@ rt_raster rt_raster_gdal_warp( } else { wopts->padfSrcNoDataReal[i] = rt_band_get_nodata(band); - RASTER_DEBUGF(4, "Added nodata value %f for band %d", wopts->padfSrcNoDataReal[i], i); } wopts->padfDstNoDataReal[i] = wopts->padfSrcNoDataReal[i]; wopts->padfDstNoDataImag[i] = wopts->padfSrcNoDataImag[i] = 0.0; + RASTER_DEBUGF(4, "Mapped nodata value for band %d: %f (%f) => %f (%f)", + i, + wopts->padfSrcNoDataReal[i], wopts->padfSrcNoDataImag[i], + wopts->padfDstNoDataReal[i], wopts->padfDstNoDataImag[i] + ); } /* warp raster */ -- 2.40.0