featureclassを作成し、別名を付けてデータセットの下に移動します.

4357 ワード

 1 if (pOutFtrClass == null)
 2                     {
 3                         //continue;
 4 //  featureclass
 5                         //        
 6                         IFields pFields = pFeatureClass.Fields;
 7                         //             
 8                         IFieldChecker fieldChecker = new FieldCheckerClass();
 9                         IEnumFieldError enumFieldError = null;
10                         IFields validatedFields = null;
11                         fieldChecker.ValidateWorkspace = pDataset.Workspace;
12                         fieldChecker.Validate(pFields, out enumFieldError, out validatedFields);                        
13 pOutFtrClass = (pDataset.Workspace as IFeatureWorkspace).CreateFeatureClass((pFeatureClass as IDataset).Name, validatedFields, null, null, esriFeatureType.esriFTSimple, "SHAPE", "");
14 //  featureclass   
15                         IClassSchemaEdit classedit = pOutFtrClass as IClassSchemaEdit;
16                         string aliasName = pFeatureClass.AliasName;
17                         if (!string.IsNullOrEmpty(aliasName))
18                         {
19                                //          ,    oid
                    //classedit.RegisterAsObjectClass("OBJECTID", null);
                    classedit.AlterAliasName(aliasName);
20 } 21 // featureclass 22 (pDataset as IDatasetContainer).AddDataset(pOutFtrClass as IDataset); 23 24 }

また、
sdeのワークスペースでCreateFeatureClassにはesriLicenseProductCodeが必要です.EsriLicenseProductCodeEngineGeoDBライセンス
転載先:https://www.cnblogs.com/fatherZyl/p/3580658.html