Yes, I tried this. I keep getting a segmentation fault doing it this way.

I will dig further, maybe something else is not right.

Regards,
Paul

On 6/17/2011 6:25 PM, Paul Mallas wrote:
On 6/17/2011 5:41 PM, Frank Warmerdam wrote:
On 11-06-17 03:23 PM, Paul Mallas wrote:
Hello,

I am trying to transpose image data (i.e., swap lines and columns)
and am
struggling to make it work properly. I think this should be possible
through
RasterIO, but so far no luck. Any suggestions?

My approach so far has been like this, with image nXsize by nYsize:

void *pData = VSIMalloc2(nXSize, (GDALGetDataTypeSize(eType) / 8));

for (int iLine = 0; iLine < nYSize; iLine++) {

// Read in row (line)
eErr = poSrcBand->RasterIO(GF_Read, 0, iLine, nXSize, 1, pData,
nXSize, 1, eType, 0,0);

// Now I want to write a column, nothing I tried here has worked
eErr = poDstBand->RasterIO(GF_Write, .......

Paul,

You should be able to write this column wise like:

poDstBand->RasterIO( GF_Write, iLine, 0, 1, nXSize,
pData, 1, nXSize, eType, 0, 0 );

Note that this can be pretty inefficient depending on the format and
how it is blocked.

Best regards,

Hmm, I thought I tried this configuration. I will try again. Thank you
for your time Frank.


_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to