如何创建Coverage文件

本例要实现的是如何创建一个Coverage文件。

l   要点

首先为IWorkspaceFactory接口创建一个ArcInfoWorkspaceFactory的实例,然后根据路径sWorkspacePath使用IWorkspaceFactory.Create方法和IWorkspaceFactory.Open方法,获得一个名为sWorkspaceName的ArcInfo Workspace,最后使用IArcInfoWorkspace. CreateCoverage方法创建一个名为sFileName的Coverage文件。

主要用到IWorkspaceFactory接口,IArcInfoWorkspace接口和IPropertySet接口。

l   程序说明

函数CreateCoverageFile根据路径sWorkspacePath和名称sWorkspaceName创建一个ArcInfo Workspace,再在其中创建名为sFileName的Coverage文件。

l   代码

Private Sub CreateCoverageFile(ByVal sWorkspacePath As String,ByVal sWorkspaceName As String, ByVal sFileName As String)

    Dim pWorkspaceFactory           As IWorkspaceFactory

    Dim pArcInfoWorkspace           As IArcInfoWorkspace

    Dim pPropertySet                As IPropertySet

    Dim pFeatureDataset             As IFeatureDataset

    Dim sTemplateCoverage           As String

    Dim sCoverageFile               As String

On Error GoTo ErrorHandler:

sCoverageFile = Dir(sWorkspacePath & "\" & sWorkspaceName & "\" & sFileName, vbDirectory)

    If (sCoverageFile <> "") Then

        MsgBox ("文件已经存在")

        Exit Sub

    End If

    Set pFeatureDataset = Nothing

    Set pPropertySet = New PropertySet

    pPropertySet.SetProperty "SERVER", sWorkspaceName

    Set pWorkspaceFactory = New ArcInfoWorkspaceFactory

    'create an arcinfoworkspace

    pWorkspaceFactory.Create sWorkspacePath, sWorkspaceName, pPropertySet, 0

    pPropertySet.SetProperty "DATABASE", sWorkspacePath & "\" & sWorkspaceName

    'pArcInfoWorkspace is a pointer to the IArcInfoWorkspace

    Set pArcInfoWorkspace = pWorkspaceFactory.Open(pPropertySet, 0)

    'create a coverage without a template

    Set pFeatureDataset = pArcInfoWorkspace.CreateCoverage(sFileName, "", _esriCoveragePrecisionDouble)

'    or use the methods on iarcinfoworkspace

'    sTemplateCoverage = "C:\arcgis\arcexe83\arcobjects developer kit\samples\data\canada\canada"

'    Set pFeatureDataset = pArcInfoWorkspace.CreateCoverage(sFileName, sTemplateCoverage, _esriCoveragePrecisionDouble)

    If (pFeatureDataset Is Nothing) Then

        MsgBox ("Build Success")

    Else

        MsgBox ("Build Fail")

    End If

    Exit Sub

ErrorHandler:

    MsgBox Err.Description

End Sub

Private Sub UIButtonControl1_Click()

    Dim pVBProject              As VBProject

On Error GoTo ErrorHandler:

    Set pVBProject = ThisDocument.VBProject

    CreateCoverageFile pVBProject.FileName & "\..\..\..\.." & "\data", _

                        "MyArcInfoWorkspace", "MyCoverFile"

    Exit Sub

ErrorHandler:

    MsgBox Err.Description

End Sub

posted on 2006-09-07 13:02  greatbird  阅读(956)  评论(0)    收藏  举报

导航