[gdal-dev] RasterIO in paralel

Stefano Moratto stefano.moratto at gmail.com
Wed Feb 9 03:33:41 EST 2011


Thanks for the suggestion but I'm developing a Win32 app.
I will take in consideration your previous answer because the app can read
images from other sources.

Regards,
Stefano

-- 
Dr.Eng. Stefano Moratto
stefano.moratto at gmail.com
stefano.moratto at csiat.it
http://www.csiat.it - Traffic Optimization Software

On Tue, Feb 8, 2011 at 11:38 PM, Even Rouault
<even.rouault at mines-paris.org>wrote:

> Le mardi 08 février 2011 23:33:39, Stefano Moratto a écrit :
> > The openstreet data is a virtual image composed by several tiles at a
> given
> > zoom level, each tiles is a 256x256 png, so I think if a thead read a
> > 256x256 block i will access only a given png.
>
> Yes of course reading different images by different threads will work. If
> you
> use GDAL on Unix, be sure that it is built with the --with-threads option,
> which had to be explicitely passed before GDAL 1.8.0 and is now the
> default.
>
> My previous answer only applies if you divide the reading of a single PNG
> image into several threads.
>
> >
> > On Tue, Feb 8, 2011 at 11:14 PM, Even Rouault
> >
> > <even.rouault at mines-paris.org>wrote:
> > > Le mardi 08 février 2011 23:07:36, Stefano Moratto a écrit :
> > > > Thanks for the suggestion,
> > > >
> > > > I have to read png from openstreetmap. I'm trying to render an A4
> paper
> > > > size sheet so I have a lot of data to move.
> > > > It may be better to divide the area to be read in blocks and to give
> to
> > > > each thread a block. Foreach  block a thread should read all the
> bands.
> > > > Probabilly I should allign the block to the tile's boundary
> > >
> > > Unfortunately the PNG format is such that it is not possible to seek to
> > > an arbitrary line without decoding the data of all previous scanlines,
> > > so this approach won't work. The same would be true for JPEG or GIF. If
> > > you can fetch
> > > the data as TIFF, you could however try that approach.
> > >
> > > > Stefano
> > > >
> > > > > Le mardi 08 février 2011 22:41:50, Stefano Moratto a écrit :
> > > > > > Hello,
> > > > > >
> > > > > >           given an opened GDAL dataset, is it possibile to
> perform
> > > > > >
> > > > > > gdalrasterio calls for each band in a dedicated thread per band
> in
> > > > > > a thead-safe way?
> > > > > > E.g. I have a raster image with 3 band (r,g,b). Since I have 4
> core
> > > > > > I
> > > > >
> > > > > would
> > > > >
> > > > > > like to I run a thread for a band r, one for band g and one for
> > > > > > band
> > >
> > > g.
> > >
> > > > > This has been discussed recently. See
> > > > > http://lists.osgeo.org/pipermail/gdal-
> > > > > dev/2011-January/027567.html and the following messages.
> > > > >
> > > > > (I'd note that if you process a pixel interleaved image, there are
> > > > > optimizations in the GTiff driver to make the fetching of other
> bands
> > > > > almost
> > > > > 'free' if you read block by block, so there's probably little to
> > > > > gain, but the
> > > > > results of your experiments are welcome)
> > > > >
> > > > > > Regards,
> > > > > > Stefano
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/gdal-dev/attachments/20110209/ad3e10dc/attachment.html


More information about the gdal-dev mailing list