请教:vba获取栅格图层的所有栅格的值

zhaomiaoqianran 2009-09-15 09:47:05
代码如下:
Private Sub UIButtonControl1_Click()
Dim mydoc As IMxDocument
Set mydoc = ThisDocument

Dim mylayer As IRasterLayer
Set mylayer = mydoc.selectedlayer

MsgBox mylayer.Name, 0, "图层名"

Dim rasterprops As IRasterProps
Set rasterprops = mylayer.Raster

Dim dheight, dwidth As Integer
dheight = rasterprops.Height
dwidth = rasterprops.Width

MsgBox dheight & Space(2) & dwidth, 0, "高度和宽度"

Dim dx, dy As Double
dx = rasterprops.MeanCellSize.x
dy = rasterprops.MeanCellSize.y

MsgBox dx & Space(2) & dy, 0, "采样间隔"

Dim extent As IEnvelope
Set extent = rasterprops.extent
Dim pixeltype As rstPixelType
pixeltype = rasterprops.pixeltype

Dim pntsize As IPnt
pntsize.SetCoords dx, dy

Dim pixelblock As IPixelBlock3
Set pixelblock = mylayer.Raster.CreatePixelBlock(pntsize)

Dim pnt As IPnt
Dim i, j As Integer
Dim obj As Object
Dim form As IFormatTest

For i = 1 To dheight
For j = 1 To dwidth
pnt.SetCoords i, j
mylayer.Raster.Read pnt, pixelblock
If pixelblock Is Not Null Then
obj = pixelblock.GetVal(0, 0, 0)
MsgBox obj


End If
Next j
Next i

End Sub

其中最后两句没有写完,不知道用getval读到的栅格值怎么显示出来
运行出现run-time error‘91’的提示

请大家帮忙
...全文
119 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bigriverhorse 2009-09-17
  • 打赏
  • 举报
回复
非常抱歉,我不懂ArcMap,等大侠出现再帮楼主吧。
bigriverhorse 2009-09-16
  • 打赏
  • 举报
回复
可问楼主这是AutoCAD的VBA代码呢?
zhaomiaoqianran 2009-09-16
  • 打赏
  • 举报
回复
是 ArcMap的
liujiaqiid 2009-09-16
  • 打赏
  • 举报
回复
....see see......

5,138

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧