• vba 输出featureclass export featureclass


    Sub export()


            Dim pDoc     As IMxDocument
            Dim pMap     As IMap
            Dim pFLayer     As IFeatureLayer
            Dim pFc     As ifeatureclass
            Dim pINFeatureClassName     As IFeatureClassName
            Dim pDataset     As IDataset
            Dim pInDsName     As IDatasetName
            Dim pFSel     As IFeatureSelection
            Dim pSelSet     As ISelectionSet
            Dim pFeatureClassName     As IFeatureClassName
            Dim pOutDatasetName     As IDatasetName
            Dim pWorkspaceName     As IWorkspaceName
            Dim pExportOp     As IExportOperation

            Set pDoc = ThisDocument
            Set pMap = pDoc.FocusMap
            Set pFLayer = pMap.Layer(0)
            Set pFc = pFLayer.FeatureClass
            

            
            Dim pFeatureCursor As IFeatureCursor
            Set pFeatureCursor = pFc.Search(Nothing, False)
            
            Dim pFeature As IFeature
            Set pFeature = pFeatureCursor.NextFeature
            
            Dim i As Integer
            i = 0
            


    Do Until pFeature Is Nothing


              pMap.SelectFeature pFLayer, pFeature
              

            'Get   the   FcName   from   the   featureclass
            Set pDataset = pFc
            Set pINFeatureClassName = pDataset.FullName
            Set pInDsName = pINFeatureClassName

            'Get   the   selection   set
            Set pFSel = pFLayer
            Set pSelSet = pFSel.SelectionSet

            'Define   the   output   feature   class   name
            Set pFeatureClassName = New FeatureClassName
            Set pOutDatasetName = pFeatureClassName
            pOutDatasetName.Name = "NewTestExport" & i
            Set pWorkspaceName = New WorkspaceName
            pWorkspaceName.PathName = "c:\temp "
            pWorkspaceName.WorkspaceFactoryProgID = _
                        "esriDataSourcesFile.ShapefileWorkspaceFactory"

            Set pOutDatasetName.WorkspaceName = pWorkspaceName
            pFeatureClassName.FeatureType = esriFTSimple
            pFeatureClassName.ShapeType = esriGeometryAny
            pFeatureClassName.ShapeFieldName = "Shape "

            'Export
            Set pExportOp = New ExportOperation
            pExportOp.ExportFeatureClass pInDsName, Nothing, _
                          pSelSet, Nothing, pOutDatasetName, 0
                          
                          
            i = i + 1
            
            pMap.ClearSelection

        Set pFeature = pFeatureCursor.NextFeature
    Loop



    'Select Example
    'Dim pFeatcls As ifeatureclass
    'Dim pFeatLayer As IFeatureLayer
    'Dim pDoc As IMxDocument
    'Dim pMap As IMap
    'Set pDoc = ThisDocument
    'Set pMap = pDoc.Maps.Item(0)
    'Set pFeatLayer = pMap.Layer(0)
    'Set pFeatcls = pFeatLayer.FeatureClass
    ''create the query filter, and give it a where clause
    'Dim pQFilt As IQueryFilter
    'Set pQFilt = New QueryFilter
    'pQFilt.WhereClause = "FID > 1"
    ''use the query filter to select features
    '
    'Dim pSelectionSet As ISelectionSet 'When calling Select the selectionContainer parameter is no longer required. Nothing (VB6) should be supplied it its place.
    'Set pSelectionSet = pFeatcls.Select(pQFilt, esriSelectionTypeIDSet, esriSelectionOptionNormal, Nothing)    'count the number of selected features
    '
    'Dim pActiveView As IActiveView
    'Set pActiveView = pMap
    '
    '
    'pActiveView.Refresh
    '
    '
    'MsgBox pSelectionSet.Count
    '
    MsgBox "finished"



    End Sub
  • 相关阅读:
    汇编中的String
    对于C语言可移植性的思考【转】【补充】
    AT&T Mnemonic Conventions(AT&T汇编助记法的规则)
    Macro和Procedure的比较(汇编中的宏与函数)
    File Descriptor和Sys_call number
    #include <sys/types.h>在哪里?
    IIS7 与 WCF 问题总结
    非常不错的WCF入门文章,来自Artech
    WCF 部署问题 小总结 (HTTP 不能注册的解决方法)
    IIS7 aspx出现500.21错误
  • 原文地址:https://www.cnblogs.com/zhangjun1130/p/1881042.html
Copyright © 2020-2023  润新知