You should make sure about the actual representation of the raster image, whether it represents the pixel as floats as you have used float arrays in the code. The last 2 parameters are used to define the byte offset of the pixels and lines in the image ( for more info see the <a href="http://www.gdal.org/classGDALRasterBand.html#5497e8d29e743ee9177202cb3f61c3c7">RasterIO</a> documentation).<br>
<br>Further C# related samples can be found here:<br><a href="http://trac.osgeo.org/gdal/browser/trunk/gdal/swig/csharp/apps/GDALRead.cs">http://trac.osgeo.org/gdal/browser/trunk/gdal/swig/csharp/apps/GDALRead.cs</a><br><a href="http://trac.osgeo.org/gdal/browser/trunk/gdal/swig/csharp/apps/GDALReadDirect.cs">http://trac.osgeo.org/gdal/browser/trunk/gdal/swig/csharp/apps/GDALReadDirect.cs</a><br>
<br>Best regards,<br><br>Tamas<br><br><br><br><div class="gmail_quote">2011/8/31 hitweiran <span dir="ltr">&lt;<a href="mailto:hitweiran@sina.com">hitweiran@sina.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
I want to read a multiband image(in format of .img) by using method<br>
ReadRaster, however, I encount some problems. I just can&#39;t understand why<br>
the data loaded to memory is wrong?<br>
the code is like this<br>
<br>
OSGeo.GDAL.Dataset dataSet =<br>
OSGeo.GDAL.Gdal.Open(@&quot;G:\building.img&quot;,OSGeo.GDAL.Access.GA_ReadOnly);<br>
int width = dataSet.RasterXSize;<br>
int height = dataSet.RasterYSize;<br>
int Band_Numbers = dataSet.RasterCount;<br>
float [] buffer_first = new float [width * height];<br>
OSGeo.GDAL.Band One_Band = dataSet.GetRasterBand(1);<br>
One_Band.ReadRaster(0, 0, width, height,buffer_first, width, height, 0,0);<br>
<br>
However, the output is wrong!<br>
I watch the variable &quot;buffer_first&quot; in watch window, and discoverse that the<br>
data is quite terrible-some data is such as 2.818478E+21,5.065476E+32, or<br>
-6.131138E-11 and so on;<br>
So I suspect my datatype is mismatch to data in img file, or the last two<br>
arguments in ReadRaster is mistake, because I don&#39;t know the meaning of last<br>
two parameters.<br>
Thanks a lot for your answer!<br>
<font color="#888888"><br>
--<br>
View this message in context: <a href="http://osgeo-org.1803224.n2.nabble.com/The-problem-when-using-ReadRaster-C-method-tp6745826p6745826.html" target="_blank">http://osgeo-org.1803224.n2.nabble.com/The-problem-when-using-ReadRaster-C-method-tp6745826p6745826.html</a><br>

Sent from the GDAL - Dev mailing list archive at Nabble.com.<br>
_______________________________________________<br>
gdal-dev mailing list<br>
<a href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/gdal-dev" target="_blank">http://lists.osgeo.org/mailman/listinfo/gdal-dev</a><br>
</font></blockquote></div><br>