11.05.2012 11:50, Thomas Sevaldrud написал:

    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.


This is probably a stupid question, but I couldn't find it anywhere in the documentation. How do I create a GDALDataset from a set of existing GDALRasterBands?

I guess I could copy the pixel data with the RasterIO methods, but I was hoping I could make a VRT or something from a set of existing overview bands and then do the warping on this, to avoid the copying of a potentially huge dataset.
I don't sure 100% but you can play with VRTDataset. Look at this method: GDALAddBand and VRTAddSimpleSource. Maybe CreateVRTSeparate method from apps\gdalbuildvrt.cpp will be helpful.

- Thomas

    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 <mailto:gdal-dev@lists.osgeo.org>
    http://lists.osgeo.org/mailman/listinfo/gdal-dev



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

Reply via email to