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 [email protected] [email protected] http://www.csiat.it - Traffic Optimization Software On Tue, Feb 8, 2011 at 11:38 PM, Even Rouault <[email protected]>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 > > > > <[email protected]>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 >
_______________________________________________ gdal-dev mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/gdal-dev
