感觉写的很实在且内容较多,转来,可以用于以后检索
3月19日
ArGis实现创建要素类
public IFeatureClass createFeatureClass( string strBrowseName)
{
IWorkspaceFactory pWSF;
pWSF = new AccessWorkspaceFactoryClass();
IWorkspace pWS;
pWS = pWSF.OpenFromFile(@"E:\T.mdb", 0);
IFeatureWorkspace pFWS;
pFWS = pWS as IFeatureWorkspace;
IGeometryDefEdit pGeomDef;
pGeomDef = new GeometryDefClass();
pGeomDef.GeometryType_2 = esriGeometryType.esriGeometryPolygon;
pGeomDef.SpatialReference_2 = new UnknownCoordinateSystemClass();
pGeomDef.SpatialReference.SetDomain(0, 10000000, 0, 10000000);
pGeomDef.SpatialReference.SetZDomain(0, 100);//创建要素类一定要加上空间阈,否则不会创建成功!!!
IFieldEdit pField;
IFieldsEdit pFieldsEdit;
pFieldsEdit = new FieldsClass();
pField = new FieldClass();
pField.Type_2 = esriFieldType.esriFieldTypeGeometry;
pField.GeometryDef_2 = pGeomDef;
pField.Name_2 = "shape";
pFieldsEdit.AddField(pField);
pField = new FieldClass();
pField.Type_2 = esriFieldType.esriFieldTypeDouble;
pField.Name_2 = "ID";
pFieldsEdit.AddField(pField);
pField = new FieldClass();
pField.Name_2 = "OBJECTID";
pField.Type_2 = esriFieldType.esriFieldTypeOID;
pFieldsEdit.AddField(pField);
MessageBox.Show("Cuole");
return pFWS.CreateFeatureClass(strBrowseName, pFieldsEdit, null, null, esriFeatureType.esriFTSimple, "Shape", "");
}
private void button4_Click(object sender, EventArgs e)
{
// string s=@"E:\T.mdb";
string t="Had";
IFeatureClass pFeature = createFeatureClass(t);
MessageBox.Show("Cuole");
}