[gdal-dev] Re: C# bindings - setting up progress delegate for
even.rouault at mines-paris.org
Tue Jan 3 09:24:26 EST 2012
Selon Maksim Sestic <max at geoinova.com>:
> Hm, that's strange. I'm using Gdal.Open() to fetch WMS graphics, for example:
> Dim ds As Dataset = Gdal.Open("<GDAL_WMS><Service
> ...returns requested dataset, which I further save to disk using appropriate
> Driver and CreateCopy() method. It works correctly. I hope that above
> example does not perform GetCapabilities() at all?
No it shouldn't
> I was thinking about above case, when Gdal.Open(...) actually reads a raster
> dataset from WMS. First it creates "grid" of tiles if pixel size is larger
> than BlockSizeX/Y. Then it reads tile by tile from server, merging them all
> at the end into the final dataset. Downloading each tile would trigger
> progress change. Setting BlockSize to i.e. 256x256 pixels (instead of
> default 1024x1024) should make it granular enough for progress bars.
GDALOpen() will divide into tiles, but will not read them. You need to call
CreateCopy() or RasterIO() for that.
1) Open() on the XML description is a fast operation that doesn't download
anything and doesn't need progress
2) CreateCopy() has a progress callback which will be regularly called.
Depending on the output driver, it might not be called for each tile though, but
perhaps for each line.
> Maksim Sestic
> View this message in context:
> Sent from the GDAL - Dev mailing list archive at Nabble.com.
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
More information about the gdal-dev