Yes , what you see is expected. The prototype of RasterIO() is :
RasterIO( flag, x, y, width, height, buffer, buffer_width, buffer_height, gdal_type, pixel_offset, line_offset) so that means that you ask the extraction of the window [x, x + with-1] x [y, y + height -1] to be stored in a buffer_width x buffer_height buffer. so if you set x to be non-null, you cannot ask for the full XSize to be read, the maximum value for width is XSize - x. See http://gdal.org/classGDALRasterBand.html#5497e8d29e743ee9177202cb3f61c3c7 for the full reference. Le lundi 06 septembre 2010 17:25:31, Carmelo Terrasi a écrit : > Hello everybody, > I'm trying to figure out how to get elevation from a .dem file. > > I opened the file: > ... > pointerToDataSet=(GDALDataset*) GDALOpen("myFile.dem", GA_ReadOnly); > ... > > > So I caught a grid as a 371x371 matrix, but I can read only the first line, > so the first 371 elevations... the error is: *...Access window out of range > in RasterIO()...* > > I mean If I put coordinates like (*0*, *somethingelse*) where 0<* > somethingelse<*370: > ... > pointerToBand->RasterIO( GF_Read, 0, *somethingelse*, nXSize, 1, elevation, > nXSize, 1, GDT_Float32, 0, 0 ); > ... > that's ok > > > > Instead if I put coordinates (*x*, *somethingelse*) where > 0<*somethingelse*<370 and > 0<*x*: > ... > pointerToBand->RasterIO( GF_Read, *x*, *somethingelse* > , nXSize, 1, elevation, nXSize, 1, GDT_Float32, 0, 0 ); > ... > that doesn't work :( > > I opened myFile.dem with a text editor and I've seen the whole matrix as a > linecode values... > There's something I cannot understand obviously, any tips would be really > appreciated, thanks in advance, > Regards > Carmelo _______________________________________________ gdal-dev mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/gdal-dev
