⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 module1.bas

📁 ao例子
💻 BAS
字号:
Attribute VB_Name = "Module1"
Option Explicit
Public m_pApp As IApplication
Public pmxdoc As IMxDocument
Public pmap As IMap


Sub AddRasterLayer(sFileName As IRasterDataset)
    'sFileName: the filename of the raster dataset
    'sPath: the directory where the raster dataset resides
           
    'Create a raster layer
    Dim pRasterLy As IRasterLayer
    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.CreateFromDataset sFileName
   
    '下面的话在类模块中已经定义过了,在整理只要引用就可以了
   ' Dim pMxDoc As IMxDocument
    'Set pMxDoc = ThisDocument
    
    
    'Set pmap = m_pDoc.FocusMap
    pmap.AddLayer pRasterLy
    pmxdoc.ActiveView.Refresh
End Sub


Private Function GetName(sPath As String, iOption As Integer) As String
    Dim pos As Long
    pos = InStrRev(sPath, "\")
    Dim fname As String
    fname = Right(sPath, (Len(sPath) - pos))
    Dim pName As String
    pName = Left(sPath, pos - 1)
    
    If iOption = 0 Then
      GetName = pName
    Else
      GetName = fname
    End If
  
End Function

Public Function GetRasterFromSDE(sServer As String, sInstance As String, _
       sDB As String, sUser As String, sPassword As String, sSDERaster As String) 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", "SDE.DEFAULT"
  End With

   ' Get workspacename
   Set pSDEWs = New WorkspaceName
  pSDEWs.ConnectionProperties = pSDEPropertySet
  pSDEWs.WorkspaceFactoryProgID = "esricore.sdeworkspacefactory"

   ' Get qualified ArcSDE raster name
  'if Len(sDB) > 0 Then
   ' sQualifiedName = sDB + "." + sUser + "." + sSDERaster
  'Else
    sQualifiedName = sUser + "." + sSDERaster
  'End If

   ' Get raster dataset name
   Set pDsName = New RasterDatasetName
  pDsName.Name = sQualifiedName
  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




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -