[Gdal-dev] rawdataset.cpp

Frank Warmerdam warmerdam at pobox.com
Thu Jul 17 09:38:35 EDT 2003


Andrey Kiselev wrote:
>>  the length of a scanline on disk is more than 50000 bytes, and
>>  the width of the requested chunk is less than 40% of the whole
>>  scanline and none of the requested scanlines are already in the cache.
> 
>                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> Frank,
> 
> What do you mean in this case: main GDAL's cache or local RawRasterBand
> buffer, referenced by the nLoadedScanline variable? In the first case we
> need special function which goes through the cached blocks and checks
> GDALRasterBlock properties (GDALRasterBlock::nXOff and
> GDALRasterBlock::nYOff). Something like
> GDALRasterBlock::IsLoaded(nXOff, nYOff).

Andrey,

I mean the main GDAL cache.  Yes, please add the IsLoaded() method you
suggested ... actually I see it as a virtual method on the GDALRasterBand.
Normally it would indicate if the internal main cache has the indicated block,
but some formats might overload it to indicate if their custom caching
mechanism has the data available.

Eventually I would like to implement a mechanism where an application can
post a desire to load a particular region asynchronously and check back later
to see if it is loaded (or receive a message indicating it is ready), and this
might be useful for that as well.

Best regards,

-- 
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up   | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | Geospatial Programmer for Rent





More information about the Gdal-dev mailing list