[gdal-dev] Creating a VRT dataset from overviews in C++
tseval
thomas at silentwings.no
Thu May 10 11:03:46 EDT 2012
Hi,
I'm trying to cut and reproject a large image with overviews using the c++
api. This runs extremely slow when I produce highly downsampled cutouts
covering large areas of the original image.
I understand the the Warp API doesn't use the overviews when resampling, so
I wanted to make a temporary dataset from one of the downscaled overviews
and do the warping on this dataset instead.
First of all, is this a sensible way of doing things? If so, what driver
should I use? I guess VRT? I have been trying to create a VRT by doing
something like this:
double scaleX = (double)ovrW/origW;
double scaleY = (double)ovrH/origH;
GDALDataset* vrtDS = vrtDriver->Create("", ovrW, ovrH, _numBands,
_dataType, NULL);
GDALSetProjection(vrtDS, _srcProjectionWKT);
double geoTransform[6];
srcDS->GetGeoTransform(geoTransform);
geoTransform[XFM_PIXEL_SIZE_EW] = scaleX*geoTransform[XFM_PIXEL_SIZE_EW];
geoTransform[XFM_PIXEL_SIZE_NS] = scaleY*geoTransform[XFM_PIXEL_SIZE_NS];
vrtDS->SetGeoTransform(geoTransform);
But how am I supposed to set the bands in the VRT from the downscaled
overview bands in the original image?
Any help on this would be greatly appreciated :)
--
View this message in context: http://osgeo-org.1560.n6.nabble.com/Creating-a-VRT-dataset-from-overviews-in-C-tp4965891.html
Sent from the GDAL - Dev mailing list archive at Nabble.com.
More information about the gdal-dev
mailing list