[gdal-dev] Help requested: Concurrent read of a GeoTiff

Grégory Bataille gregory.bataille at gmail.com
Thu Mar 16 22:15:43 PDT 2017


no luck.
I tried this config.
I also tried (with this config) to do a copy of the vrt file (with shell
utility, not gdal) in each thread before opening it (still goes to the same
TIFF file though), but no luck.

But at least now that you confirm that it's related to concurrent reads, I
have something precise to search for. I'll try to investigate how the
gdal2tiles_parallel does it because it did not look different than what I
was doing, but likely I missed something.

Thanks


---
Gregory Bataille

On Thu, Mar 16, 2017 at 7:58 PM, Even Rouault <even.rouault at spatialys.com>
wrote:

> On jeudi 16 mars 2017 18:45:03 CET Grégory Bataille wrote:
>
> > Does that mean a different vrt file or simply reopen the file to create a
>
> > gdal object in each process. Because I'm reopening the vrt file in each
>
> > thread
>
>
>
> Ah, that must be issue of
>
> http://gdal.org/gdal_vrttut.html#gdal_vrttut_mt
>
>
>
> Try defining
>
> gdal.SetConfigOption('VRT_SHARED_SOURCE', '0')
>
> before opening the VRTs
>
>
>
> >
>
> >
>
> > On Thu, 16 Mar 2017 at 17:23, Even Rouault <even.rouault at spatialys.com>
>
> >
>
> > wrote:
>
> > > On jeudi 16 mars 2017 17:16:20 CET Grégory Bataille wrote:
>
> > > > Hello all,
>
> > > >
>
> > > >
>
> > > >
>
> > > > Reaching out to the community caused I have failed for the past few
>
> > > > days.
>
> > > >
>
> > > >
>
> > > >
>
> > > > *short version*, I'm trying to multithread the gdal2tiles utility,
> and
>
> > >
>
> > > I'm
>
> > >
>
> > > > getting this
>
> > > >
>
> > > >
>
> > > >
>
> > > > Generating Base Tiles:
>
> > > >
>
> > > > ERROR 1: LZWDecode:Wrong length of decoded string: data probably
>
> > >
>
> > > corrupted
>
> > >
>
> > > > at scanline 256
>
> > > >
>
> > > > ERROR 1: TIFFReadEncodedTile() failed.
>
> > > >
>
> > > > ERROR 1:
>
> > > >
>
> > > > /Users/gbataille/Downloads/Project_58704_transparent_
> mosaic_group1.tif,
>
> > > >
>
> > > > band 1: IReadBlock failed at X offset 1, Y offset 0
>
> > > >
>
> > > > ERROR 1: GetBlockRef failed at X block offset 1, Y block offset 0
>
> > > >
>
> > > > ERROR 1: gba.vrt, band 1: IReadBlock failed at X offset 0, Y offset 0
>
> > > >
>
> > > >
>
> > > >
>
> > > > Any idea?
>
> > >
>
> > > Yes, you need one dataset object per thread . Dataset objects cannot be
>
> > > used simultaneously from several threads.
>
> > >
>
> > >
>
> > >
>
> > > Even
>
> > >
>
> > >
>
> > >
>
> > >
>
> > >
>
> > > --
>
> > >
>
> > > Spatialys - Geospatial professional services
>
> > >
>
> > > http://www.spatialys.com
>
>
>
>
>
> --
>
> Spatialys - Geospatial professional services
>
> http://www.spatialys.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20170317/0f90ed2d/attachment-0001.html>


More information about the gdal-dev mailing list