[gdal-dev] GDALWarp on a specific overview of a dataset

Even Rouault even.rouault at spatialys.com
Mon Jun 15 03:19:14 PDT 2015


Thomas,

2 suggestions to help narrowing down the issue :
- try gdalwarp of GDAL 2.0 that can select the most appropriate overview  
given the target resolution / raster size
- try with the ECW translated as a GeoTIFF to check if it isn't an issue with 
the ECW driver itself.

Even

> Hi,
> 
> I am having a bit of trouble with warping a dataset (an ECW file) with
> multiple overviews. The base file is huge, so I am selecting the overview
> that matches closest to my output resolution and makes an in-memory VRT of
> this, consisting of the overview bands of the original image.
> 
> This seems to only work for some overview levels, and not for others. I get
> results that appear to be made from the correct sets of colors basically,
> but way out of scale and postion. Some times it seems to work nicely
> though, so I suspect that there is some memory overwriting issue or
> something here.
> 
> This is the part of the code that builds the overview VRT. The input
> dataset is _ds, an
> 
> // Create a VRT of the closest matching overlay
> GDALDriver *vrtDriver = (GDALDriver *) GDALGetDriverByName( "VRT" );
> 
> vrtDS = vrtDriver->Create("", ovrW, ovrH, _numBands, _dataType, NULL);
> GDALSetProjection(vrtDS, _srcProjectionWKT.c_str());
> 
>    ouble geoTransform[6]; _ds->GetGeoTransform(geoTransform); double
> basePixelSizeX = geoTransform[XFM_PIXEL_SIZE_EW]; double basePixelSizeY =
> geoTransform[XFM_PIXEL_SIZE_NS];
> 
> geoTransform[XFM_PIXEL_SIZE_EW] = scaleX*basePixelSizeX;
> geoTransform[XFM_PIXEL_SIZE_NS] = scaleY*basePixelSizeY;
> vrtDS->SetGeoTransform(geoTransform);
> 
> for(int i = 1; i <= _numBands; i++)
> {
> GDALRasterBand* srcRootBand = _ds->GetRasterBand(i);
> GDALRasterBand* srcBand = srcRootBand->GetOverview(overviewId);
> VRTSourcedRasterBand* vrtBand =
> (VRTSourcedRasterBand*)vrtDS->GetRasterBand(i);
> vrtBand->AddSimpleSource(srcBand);
> }

-- 
Spatialys - Geospatial professional services
http://www.spatialys.com


More information about the gdal-dev mailing list