zhaoqinliu
外卖仔
外卖仔
  • 注册日期2005-04-18
  • 发帖数50
  • QQ
  • 铜币284枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1578回复:1

将错误的数据类型写入数组,如何解决?

楼主#
更多 发布于:2006-07-26 16:08
<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>
喜欢0 评分0
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15947
  • QQ554730525
  • 铜币25339枚
  • 威望15364点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
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编辑过]
举报 回复(0) 喜欢(0)     评分
游客

返回顶部