szy9999
路人甲
路人甲
  • 注册日期2003-09-24
  • 发帖数10
  • QQ
  • 铜币148枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1346回复:1

图层加载

楼主#
更多 发布于:2004-09-04 01:17
<P>请问,如何将数据库中的所有要素类加载到MapControl控件中!</P>
喜欢0 评分0
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
1楼#
发布于:2004-09-04 10:40
<P>
Sub AddGDBData()</P><P>Dim pWF As IWorkspaceFactory
Dim pPropset As IPropertySet
Set pWF = New AccessWorkspaceFactory
Dim pWs As IWorkspace
Dim DGBPath As String
Dim pFeatureLayer As IFeatureLayer
Dim pMxDoc As IMxDocument
Set pMxDoc = ThisDocument
Set pPropset = New PropertySet</P><P>DGBPath = InputBox("Enter Geodatabase File Name and Path", "Geodatabase Path", "C:\AltaLink\AltaLink.mdb")
If DGBPath = "" Then
Exit Sub
End If</P><P>'Set and Open WorkspaceFactories
pPropset.SetProperty "DATABASE", DGBPath
Set pWs = pWF.Open(pPropset, 0)</P><P>Dim pWorkspace2 As IFeatureWorkspace
Set pWorkspace2 = pWF.OpenFromFile(DGBPath, 0)
    
'Iterate through Datasets in Personal Geodatabase and Add Feature Classes
Dim i As Long
Dim pEnumDs As IEnumDataset
Set pEnumDs = pWs.Datasets(esriDTFeatureDataset)
Dim pFCC As IFeatureClassContainer
Dim pDs As IDataset
Dim pFc As IFeatureClass
Set pDs = pEnumDs.Next</P><P>Dim FeatL As String
Do Until pDs Is Nothing
 Set pFCC = pDs
 For i = 0 To pFCC.ClassCount - 1
   Set pFc = pFCC.Class(i)
FeatL = pFc.AliasName
Set pFeatureLayer = New FeatureLayer
Set pFeatureLayer.FeatureClass = pWorkspace2.OpenFeatureClass(FeatL)</P><P>pFeatureLayer.Name = pFeatureLayer.FeatureClass.AliasName
pMxDoc.FocusMap.AddLayer pFeatureLayer</P><P> Next
Set pDs = pEnumDs.Next
Loop
End Sub
</P>
GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
游客

返回顶部