AO中加载SDE中的Raster光栅数据代码
- 组件式GIS
- 2007-12-08
- 66热度
- 0评论
上篇文章我们刚谈了如何在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