public IFeatureClass CreateShapefile(string sPath, string sName, IFields pSrcFields)
{
IWorkspaceFactory pWorkspaceFactory = new ShapefileWorkspaceFactory();
IFeatureWorkspace pFWS = pWorkspaceFactory.OpenFromFile(sPath, 0) as IFeatureWorkspace;
IFeatureClass pFeatureClass = null;
// 如果创建失败,有可能是文件已存在!
pFeatureClass = pFWS.CreateFeatureClass(sName, pSrcFields, null, null, esriFeatureType.esriFTSimple, "Shape", string.Empty);
return pFeatureClass;
{
IWorkspaceFactory pWorkspaceFactory = new ShapefileWorkspaceFactory();
IFeatureWorkspace pFWS = pWorkspaceFactory.OpenFromFile(sPath, 0) as IFeatureWorkspace;
IFeatureClass pFeatureClass = null;
// 如果创建失败,有可能是文件已存在!
pFeatureClass = pFWS.CreateFeatureClass(sName, pSrcFields, null, null, esriFeatureType.esriFTSimple, "Shape", string.Empty);
return pFeatureClass;
}
注意事项:
按字段创建shapefile
1、不要设置OID、ObjectID类型字段,该方法会自动创建一个FID的自增主键
2.至少包含一个Shape[空间类型]字段,否则该CreateFeatureClass为出错