-------- Исходное сообщение --------
Тема:   Re: [gdal-dev] Creating a VRT dataset from overviews in C++
Дата:   Thu, 10 May 2012 23:58:53 +0400
От:     Dmitry Baryshnikov <poli...@mail.ru>
Кому:   Thomas Sevaldrud <tho...@silentwings.no>



10.05.2012 23:14, Thomas Sevaldrud написал:
Hi Dmitry, and thanks for your answer!
Hi Thomas!

I was actually looking at this patch earlier today, but I also wanted to see if I could solve it without patching.

Will this patch be included in the official source?
My patch needs some refactoring and testing on python bindings. The work is going on , but not so fast as I wish. As I finished and commit my code, It'll be some testing period and than fixes will be accepted.

Is it possible to do it the way I described in the previous mail?
Yes, you can try to warp and overview images (bands). You can get an overview of needed level from GDALRasterBand Class via GetOverview (int) method, but than you need to work on band basis and mixed them in colour image by yourself.

Cheers,
Thomas

On Thu, May 10, 2012 at 7:11 PM, Dmitry Baryshnikov <poli...@mail.ru <mailto:poli...@mail.ru>> wrote:

    10.05.2012 19:03, tseval написал:
    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.
    _______________________________________________
    gdal-dev mailing list
    gdal-dev@lists.osgeo.org  <mailto:gdal-dev@lists.osgeo.org>
    http://lists.osgeo.org/mailman/listinfo/gdal-dev


    Hi,

    You can try to use this patch to enable overviews in VRT
    http://trac.osgeo.org/gdal/ticket/2076
    or waits as I accomplish my work on fixing this
    situation.<http://trac.osgeo.org/gdal/ticket/2076>

    Best regards,
        Dmitry

    _______________________________________________
    gdal-dev mailing list
    gdal-dev@lists.osgeo.org <mailto:gdal-dev@lists.osgeo.org>
    http://lists.osgeo.org/mailman/listinfo/gdal-dev


Best regards,
    Dmitry

_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to