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

Reply via email to