|
|
|
|

把mdb文件读入地图图层

Dim pMap As IMap pMap = AxMapControl1.Map Dim pAccessWSF As IWorkspaceFactory pAccessWSF = New AccessWorkspaceFactory Dim pWorkspace As IWorkspace pWorkspace = pAccessWSF.OpenFromFile("D:\mole_data.md...

作者:郭胜涛来源:南京凯图科技有限责任公司|2007年10月18日

Dim pMap As IMap
        pMap = AxMapControl1.Map
        Dim pAccessWSF As IWorkspaceFactory
        pAccessWSF = New AccessWorkspaceFactory

        Dim pWorkspace As IWorkspace
        pWorkspace = pAccessWSF.OpenFromFile("D:\mole_data.mdb", 0)

        Dim pEnumDataset As IEnumDataset
        pEnumDataset = pWorkspace.Datasets(1)

        Dim pDataset As IDataset
        pEnumDataset.Reset()
        pDataset = pEnumDataset.Next
        Dim pFeatWS As IFeatureWorkspace
        pFeatWS = pWorkspace
        Dim pFeatDataset As IFeatureDataset
        pDataset = pEnumDataset.Next
        Do While Not pDataset Is Nothing

            If pDataset.Type = esriDatasetType.esriDTFeatureDataset Then
                pFeatDataset = pFeatWS.OpenFeatureDataset(pDataset.Name)
                Dim pFeatClassContainer As IFeatureClassContainer
                pFeatClassContainer = pFeatDataset

                Dim i As Integer
                For i = 0 To pFeatClassContainer.ClassCount - 1
                    Dim pFeatClass As IFeatureClass
                    pFeatClass = pFeatClassContainer.Class(i)
                    Dim pFeatLyr As IFeatureLayer
                    pFeatLyr = New FeatureLayerClass
                    pFeatLyr.FeatureClass = pFeatClass
                    pFeatLyr.Name = pFeatClass.AliasName
                    pMap.AddLayer(pFeatLyr)
                Next
            ElseIf pDataset.Type = esriDatasetType.esriDTFeatureClass Then
                Dim pFeatClass As IFeatureClass
                pFeatClass = pFeatWS.OpenFeatureClass(pDataset.Name)
                Dim pFeatLyr As IFeatureLayer
                pFeatLyr = New FeatureLayerClass
                pFeatLyr.FeatureClass = pFeatClass
                pFeatLyr.Name = pFeatClass.AliasName
                pMap.AddLayer(pFeatLyr)
            End If
            pDataset = pEnumDataset.Next
        Loop
        AxMapControl1.Refresh()

上一篇:ArcGIS中的投影和坐标转换及编程实现

下一篇:ArcObjects:简单的标注功能