Public Sub AddRasterLayer()
Dim pMxDocument As IMxDocument
Dim pMap As IMap
Dim pLayer As IRasterLayer
Dim pWF As IWorkspaceFactory
Dim pWs As IWorkspace
Dim pFW As IRasterWorkspace
Dim pDataset As IDataset
Dim pRDataset As IRasterDataset
Set pWF = New RasterWorkspaceFactory
' 输入图像文件的路径
Set pWs = pWF.OpenFromFile("C:Images", 0)
' QI
Set pFW = pWs
' 输入图像文件的名字
Set pRDataset = pFW.OpenRasterDataset("seb1.jpg")
' 创建数据集
Dim pRLayer As IRasterLayer
Set pRLayer = New RasterLayer
pRLayer.CreateFromDataset pRDataset
'添加栅格图层到地图中
Set pMxDocument = ThisDocument
Set pMap = pMxDocument.FocusMap
pMxDocument.AddLayer pRLayer
End Sub
4 关闭Visual Basic Editor并运行测试。
1 个回复
易智瑞技术支持
赞同来自:
内容: 1 打开ArcMap, 并打开Visual Basic Editor。
2 在工程浏览窗口,展开Project.mxt,选择ArcMap Objects>ThisDocument,右键并选择浏览代码。
在工程的ThisDocument代码模块中的代码将仅仅在现在的地图文档中使用。如果想存储你的代码在你的所有的地图文档中,那么使用Normal.mxt中的ThisDocument代码模块。
3 粘贴下面的代码到代码模块中:
Public Sub AddRasterLayer()
Dim pMxDocument As IMxDocument
Dim pMap As IMap
Dim pLayer As IRasterLayer
Dim pWF As IWorkspaceFactory
Dim pWs As IWorkspace
Dim pFW As IRasterWorkspace
Dim pDataset As IDataset
Dim pRDataset As IRasterDataset
Set pWF = New RasterWorkspaceFactory
' 输入图像文件的路径
Set pWs = pWF.OpenFromFile("C:Images", 0)
' QI
Set pFW = pWs
' 输入图像文件的名字
Set pRDataset = pFW.OpenRasterDataset("seb1.jpg")
' 创建数据集
Dim pRLayer As IRasterLayer
Set pRLayer = New RasterLayer
pRLayer.CreateFromDataset pRDataset
'添加栅格图层到地图中
Set pMxDocument = ThisDocument
Set pMap = pMxDocument.FocusMap
pMxDocument.AddLayer pRLayer
End Sub
4 关闭Visual Basic Editor并运行测试。
创建时间:2004-11-02
最近更新:2004-11-02
【原文链接】
http://support.esrichina.com.cn/2004/1102/364.html
要回复问题请先登录或注册