[Qgis-developer] Large raster (ecw) identify very long

Even Rouault even.rouault at mines-paris.org
Fri Aug 24 13:45:57 PDT 2012


Le mercredi 22 août 2012 20:13:39, Radim Blazek a écrit :
> Even,
> thanks for exhaustive explanation and testing.
> 
> On Wed, Aug 22, 2012 at 2:37 PM, Even Rouault
> 
> <even.rouault at mines-paris.org> wrote:
> >> I found in GDAL ecwdataset.cpp that it is treating  single row
> > 
> >> requests in IRasterIO in a special way:
> > I tried the following Python script that must be representative of how
> > QGIS must do picking (I guess it does a RasterIO(, .... x, y, 1, 1, ...
> > 1, 1) )
> 
> Yes.
> 
> > I suppose your workaround in QGIS will be to read 1x2 pixel or something
> > like that.
> 
> Yes, I have used 2x2.

Radim,

I've tested the big ECW (1.8 GB, 141970 x 141970) provided by Jukka and could 
indeed reproduce a noticable performance issue when simulating picking with my 
tiny GDAL python script. In QGIS, the performance was still OK however, a few 
hundreds of milliseconds for each picking. It is just when you do a lot of 
iterations that you begin to notice the slowness, or if the dataset is really 
huge.

I've fixed that in http://trac.osgeo.org/gdal/ticket/4790 in trunk and 1.9 
branch. So it will be in GDAL 1.9.2. Actually, as I think that the ECW driver 
is generally available through a plugin (and not built-in in GDAL DLL), this 
could be available sooner if the ECW plugin is rebuilt with the fixed sources.

Best regards,

Even


More information about the Qgis-developer mailing list