代码 AO中直接加载ArcSDE矢量数据举例
- 组件式GIS
- 2007-12-08
- 53热度
- 0评论
在实际项目中,经常需要在AO中直接加载ArcSDE矢量数据以便使用,本文将结合实际代码讲解如何实现。
Public Function addSDEData(Server As String, Instance As String, User As String, _
Password As String, featureClass As String, Optional version As String = "SDE.DEFAULT")
On Error GoTo EH
Dim pWorkspaceFactory As IWorkspaceFactory
Dim pWorkspace As IFeatureWorkspace
Dim pPropSet As IPropertySet
Dim pClass As IFeatureClass
Dim pLayer As IFeatureLayer
Dim pMxDoc As IMxDocument
Set pWorkspaceFactory = New SdeWorkspaceFactory
Set pPropSet = New PropertySet
With pPropSet '设置ArcSDE连接属性
.SetProperty "SERVER", Server
.SetProperty "INSTANCE", Instance
.SetProperty "USER", User
.SetProperty "PASSWORD", Password
.SetProperty "VERSION", version '可选,缺省为SDE.DEFAULT版本
End With
Set pWorkspace = pWorkspaceFactory.Open(pPropSet, 0)
Set pClass = pWorkspace.OpenFeatureClass(featureClass)
Set pLayer = New FeatureLayer
Set pLayer.featureClass = pClass
pLayer.Name = pClass.AliasName
Set pMxDoc = ThisDocument
pMxDoc.AddLayer pLayer
pMxDoc.ActiveView.PartialRefresh esriViewGeography, pLayer, Noting
Exit Function
EH:
MsgBox Err.Description, vbInformation, "加载数据错误"
End Function