创建featureclass,为它赋别名,并移动到数据集下

时间:2023-03-09 15:19:14
创建featureclass,为它赋别名,并移动到数据集下
 if (pOutFtrClass == null)
{
//continue;
//创建featureclass
//得到规范的字段集
IFields pFields = pFeatureClass.Fields;
//在目标工作空间中创建要素类
IFieldChecker fieldChecker = new FieldCheckerClass();
IEnumFieldError enumFieldError = null;
IFields validatedFields = null;
fieldChecker.ValidateWorkspace = pDataset.Workspace;
fieldChecker.Validate(pFields, out enumFieldError, out validatedFields);
pOutFtrClass = (pDataset.Workspace as IFeatureWorkspace).CreateFeatureClass((pFeatureClass as IDataset).Name, validatedFields, null, null, esriFeatureType.esriFTSimple, "SHAPE", "");
//为此featureclass赋别名
IClassSchemaEdit classedit = pOutFtrClass as IClassSchemaEdit;
string aliasName = pFeatureClass.AliasName;
if (!string.IsNullOrEmpty(aliasName))
{
//如果是表格要加上这句,添加一个oid
                    //classedit.RegisterAsObjectClass("OBJECTID", null);
                    classedit.AlterAliasName(aliasName);
}
//把此featureclass移动到目标数据集下
(pDataset as IDatasetContainer).AddDataset(pOutFtrClass as IDataset); }

另,若要在

在sde的工作空间中.CreateFeatureClass需用 esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB许可