ArcEngine——導出所選數據未shapefile文件

private void ExportSelectedData(string outFilePath, string outFileName, string whereClause) {
    IWorkspaceFactory pWSF = new ShapefileWorkspaceFactoryClass();
    IWorkspace pOutWorkspace = pWSF.OpenFromFile(outFilePath, 0) as IWorkspace;
    IDataset pOutDataSet = pOutWorkspace as IDataset;
    IWorkspaceName pOutWorkspaceName = pOutDataSet.FullName as IWorkspaceName;

    //get InputDatasetName
    IFeatureClass pFeatureClass = m_JQXZYDLayer.FeatureClass;
    IDataset pInDataSet = pFeatureClass as IDataset;
    IFeatureClassName pInFeatureClassName = pInDataSet.FullName as IFeatureClassName;

    //get InputQueryFilter
    IQueryFilter pInQueryFilter = new QueryFilterClass() {
        WhereClause = whereClause,
    };

    //get OutputFeatureClassName
    IFeatureClassName pOutFeatureClassName = new FeatureClassNameClass();
    IDatasetName pOutDataSetName = pOutFeatureClassName as IDatasetName;
    pOutDataSetName.WorkspaceName = pOutWorkspaceName;
    pOutDataSetName.Name = outFileName;

    //get outFields
    IFields pOutFields = null;
    IEnumFieldError enumFieldError = null;
    IFields fields = pFeatureClass.Fields;
    IFieldChecker fieldChecker = new FieldCheckerClass();
    IWorkspace pInWorkspace = pInDataSet.Workspace;
    fieldChecker.InputWorkspace = pInWorkspace;
    fieldChecker.ValidateWorkspace = pOutWorkspace;
    fieldChecker.Validate(fields, out enumFieldError, out pOutFields);

    IFeatureDataConverter featureDataConverter = new FeatureDataConverterClass();
    featureDataConverter.ConvertFeatureClass(pInFeatureClassName, pInQueryFilter, null, pOutFeatureClassName, null, pOutFields, "", 100, 0);
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章