阅读:1685回复:1
将错误的数据类型写入数组,如何解决?
<P>我在用ArcEngine91+C#做栅格计算时,要用且栅格数组,如下语句:</P>
<P> IRaster[] pInRaster=new RasterClass[5];//定义一个栅格数组<BR> <FONT color=#ff0000> pInRaster[0]=pRasterLayer.Raster</FONT><FONT color=#000000>;//此处提示“将错误的数据类型写入数组”</FONT></P> <P>我在网上查了好长时间,包括ESRI关于数组的一个解答,但还是解决不了问题,请问哪位高手能够解决?</P> |
|
1楼#
发布于:2006-07-31 11:00
<P>不太清楚你的问题哦,raster数组应该是二维的?</P>
<P>下面的例子获取了raster的cell</P> <DIV class=HtmlCode> <P>Sub test()<br><br> Dim pMxDoc As IMxDocument<br> Set pMxDoc = ThisDocument<br> Dim pMap As IMap<br> Set pMap = pMxDoc.FocusMap<br> <br> Dim pRL As IRasterLayer<br> Set pRL = pMap.Layer(0)<br> <br> Dim pR As IRaster<br> Set pR = pRL.Raster<br> <br> Dim pRProps As IRasterProps<br> Set pRProps = pR<br> <br> Dim pSize As IPnt<br> Set pSize = New DblPnt<br> pSize.SetCoords pRProps.Width, pRProps.Height<br> <br> Debug.Print pRProps.Height, pRProps.Width<br> <br> Dim pBlock As IPixelBlock<br> Set pBlock = pR.CreatePixelBlock(pSize)<br> <br> pR.Read pRPnt, pBlock<br> Dim pSA As Variant<br> pSA = pBlock.SafeArray(0)<br> <br> <br> For i = 1 To pSize.X<br> For j = 1 To pSize.Y<br> Debug.Print pSA(i, j)<br> Next j<br> Next i<br> <br> <br>End Sub<br></P><br></DIV> [此贴子已经被作者于2006-7-31 11:07:29编辑过]
|
|
|