Akhil Jaggarwal wrote:
Hi,
Any comments/suggestions on this issue would be immensely helpful!
I'm storing the pixel values in a buffer like this:
pafScanline = (short int*)CPLMalloc(sizeof(short int)*nxSize*nySize);
I can read the data alright. The call to GDALRasterIO is being made
correctly, which I do with:
GDALRasterIO(hBand, GF_Read, 0, 0, nxSize, nySize,
pafScanline,
nxSize,nySize,
GDT_Int16,
0, 0);
However, when it comes to the part of writing a pixel data to an
output file, the call to GDALRasterIO fails:
for(i = 0; i < nySize; i++) {
for(j = 0; j < nxSize; j++) {
if( CE_Failure == GDALRasterIO( hDestDS,
GF_Write, 0, 0, j, i,
change1, j, i , GDT_Int16, 0,0) ) {
printf("Write Error!");
return 1;
}
}
}
Akhil,
I observe a couple of issues.
First, you passing hDestDS instead of a band to GDALRasterIO when writing.
Second, you seem to want to write a single pixel, but you are passing i,j
as the sizes instead of the position. Perhaps you mean:
GDALRasterIO( hDestBand, GF_Write,
i, j, 1, 1,
change1, 1, 1, GDT_Int16, 0, 0 );
Best regards,
--
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up | Frank Warmerdam, [email protected]
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush | Geospatial Programmer for Rent
_______________________________________________
gdal-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/gdal-dev