以工作区间(workspace)形式打开GML文件

GML也能以workspace的形式打开,用到的是FMEWorkspaceFactory,使用FMEWorkspaceFactory前要添加引用:ESRI DataInterop Object Library.

Public Function getGMLWorkspace(pPath As StringAs IFeatureWorkspace
    
On Err GoTo err_handle
    
Dim pFMEWorkspaceFactory As IWorkspaceFactory
    
Set pFMEWorkspaceFactory = New FMEWorkspaceFactory
    
Dim pWS As IWorkspace
    
Set pWS = pFMEWorkspaceFactory.OpenFromFile(pPath, 0)

    
Dim pFWS As IFeatureWorkspace
    
Set pFWS = pWS
    
    
Set getGMLWorkspace = pFWS
    
    
Exit Function
    
err_handle:
    
Call utlLogErr("Error in getGMLWorkspace: " & Err.Description)
    
Set getGMLWorkspace = Nothing
    
End Function




Public Function getGMLFeatureClass(pFCName As String, pFeatureWorkspace As IFeatureWorkspace) As IFeatureClass
    
    
On Error Resume Next
    
    
Dim pFeatureClass As IFeatureClass
    
Set pFeatureClass = pFeatureWorkspace.OpenFeatureClass(pFCName)
   
    
If pFeatureClass Is Nothing Then
         
Call utlLogErr("Error in getGMLFeatureClass: Cannot find featureclass " & pFCName)
         
Set getGMLFeatureClass = Nothing
    
Else
        
Set getGMLFeatureClass = pFeatureClass
    
End If
   
End Function

 

posted on 2009-04-23 09:23  炜升  阅读(492)  评论(0编辑  收藏  举报