Arcmap如何连接栅格文件[附代码]

本例实现的是如何在当前激活的Map中添加一个栅格文件。 创建一个IrasterLayer接口对象,使用IRasterLayer.CreateFromFilePath方法加载一个Raster文件,最后用IMap.AddLayer方法将IRasterLayer添加到当前激活的Map中。

主要用到IRasterLayer接口。

l   程序说明

函数AddRasterFile将路径sFilePath下的栅格文件sFileName添加到当前激活的Map中。

l   代码

Private Sub AddRasterFile(sFilePath As String, sFileName As String)

    'sFileName: the filename of the raster dataset
    'sPath: the directory where the raster dataset resides

    Dim pRasterLy           As IRasterLayer
    Dim pMxDoc              As IMxDocument
    Dim pMap                As IMap
    Dim sRasterFile         As String

On Error GoTo ErrorHandler:

    sRasterFile = Dir(sFilePath & sFileName)
    If (sRasterFile = "") Then
        MsgBox ("文件不存在")
        Exit Sub
    End If

    'Create a raster layer
    Set pRasterLy = New RasterLayer

    'This is only one of the three ways to create a RasterLayer object.
    'If there is already a Raster or RasterDataset object, then
    'method CreateFromDataset or CreateFromRaster can be used.
    pRasterLy.CreateFromFilePath sFilePath & sFileName

    'Add the raster layer to ArcMap
    Set pMxDoc = ThisDocument
    Set pMap = pMxDoc.FocusMap
    pMap.AddLayer pRasterLy
    pMxDoc.ActiveView.Refresh

    Exit Sub

ErrorHandler:
    MsgBox Err.Description

End Sub

Private Sub UIButtonControl1_Click()

    Dim pVBProject              As VBProject

On Error GoTo ErrorHandler:

    Set pVBProject = ThisDocument.VBProject
    AddRasterFile pVBProject.FileName & "........" & "data", "photo.tif"

    Exit Sub

ErrorHandler:
    MsgBox Err.Description

End Sub