Hello All:
I am trying to use the jpipkak data set driver for testing JPIP calls to a JPIP
server and I think I am having troubles trying to figure out the proper call to
GDALRasterIo for the proper load of the requested region of interest. I have
tried 2 ways, using the block IO and also trying to use the GDALRasterIO call.
I am simply trying to use an application to sequence over the blocks at a
given R-Level and write to a file. Seems what I think the RLevel rect should
be in the call is not what the JPIP driver expects:
Here are a pseudo step of what I am doing in our own image loader and all the
open fluff has been removed and the dataset has been verified to get the image
dimensions, pixel type, … etc properly from the JPIP stream:
1) grab resolution band:
if res level is 0 or full res then init:
aBand = GDALGetRasterBand( theDataset, aGdalBandIndex );
if overviewIndex is > 0
aBand = GDALGetOverview( aBand, overviewIndex );
2) grab blocksize:
int xSize=0, ySize=0;
GDALGetBlockSize(aBand,
&xSize,
&ySize);
3) now iterate over resolution level by the block sizes and grab the data. I
have tried this with GDALReadBlock and GDALRasterIO.
The driver gets data but it is in the wrong resolution which means I am not
calling these with the proper request. I have traced the code but something
doesn't quite make sense to me. It appears the R-Level is computed based on
the input request versus the output width height buffer ratio. I think
everything would get cleared up if I could see some example calls using above
methods in when using the JPIPKAK dataset driver.
Thank you in advance for any help
Take care
Garrett
_______________________________________________
gdal-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/gdal-dev