AO中加载SDE中的Raster光栅数据代码

上篇文章我们刚谈了如何在AO加载矢量数据,这里继续谈如何加载山歌数据,并结合实际代码例子,希望能够给你带来帮助.

Public Function GetRasterFromSDE(sServer As String, sInstance As String, _
sUser As String, sPassword As String, sSDERaster As String, Optional version As String = "SDE.DEFAULT") As IRasterDataset   '加载栅格函数
' sServer,sInstance,sDB,sUser,sPasswd: ArcSDE connection info
' sSDERaster: the ArcSDE raster dataset name

Dim pSDEWs As IWorkspaceName
Dim pSDEPropertySet As IPropertySet
Dim pSDERasterDataset As IRasterDataset
Dim pDsName As IDatasetName
Dim pName As Iname
' Dim sQualifiedName As String

' Get connection propertyset
Set pSDEPropertySet = New PropertySet
With pSDEPropertySet
 .SetProperty "Server", sServer
 .SetProperty "Instance", sInstance
 ' .SetProperty "Database", sDB
 .SetProperty "User", sUser
 .SetProperty "Password", sPassword
 .SetProperty "Version", version
End With
' Get workspacename
Set pSDEWs = New WorkspaceName
pSDEWs.ConnectionProperties = pSDEPropertySet
pSDEWs.WorkspaceFactoryProgID = "esricore.sdeworkspacefactory"

' Get raster dataset name
Set pDsName = New RasterDatasetName
pDsName.Name = sSDERaster
Set pDsName.WorkspaceName = pSDEWs
Set pName = pDsName

' Open ArcSDE raster dataset
Set pSDERasterDataset = pName.Open

' Cleanup
Set GetRasterFromSDE = pSDERasterDataset
Set pSDEWs = Nothing
Set pSDERasterDataset = Nothing
Set pSDEPropertySet = Nothing
Set pName = Nothing
Set pDsName = Nothing

End Function