vc代码改vb

zhaomiaoqianran 2009-09-15 09:37:35
现在 想实现输出所有DEM图层中的所有栅格对应位置的值

有一段vc代码想改成vb代码用到ArcMap的vba中,不知道如何改

vc代码如下:
obj=pixelblock.getval(0,0,0)
messgebox.show(convert.tounit32(obj).tostring);

请教大家,谢谢@_@
...全文
67 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaomiaoqianran 2009-09-15
  • 打赏
  • 举报
回复
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
zhaomiaoqianran 2009-09-15
  • 打赏
  • 举报
回复
托管vc是什么意思??我是想把这两句改成vb的代码:)
MoXiaoRab 2009-09-15
  • 打赏
  • 举报
回复
你这个是托管VC吧?

3,248

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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