ArcSDE中创建要素类
IFields pFields = new FieldsClass();
IFieldsEdit pFieldsEdit = (IFieldsEdit)pFields;
IGeometryDef pGometryDef = new GeometryDefClass();
IGeometryDefEdit pGeometryDefEdit = (IGeometryDefEdit)pGometryDef;
{
pGeometryDefEdit.GeometryType_2 = esriGeometryType.esriGeometryPolygon;
pGeometryDefEdit.HasM_2 = false;
pGeometryDefEdit.HasZ_2 = true;
pGeometryDefEdit.SpatialReference_2 = (ISpatialReference)axMap1.SpatialReference;
pGeometryDefEdit.SpatialReference.SetZDomain(-1000, 60000);
}
IField pField = new FieldClass();
IFieldEdit pFieldEdit = (IFieldEdit)pField;
pFieldEdit.Name_2 = "SHAPE";
pFieldEdit.Type_2 = esriFieldType.esriFieldTypeGeometry;
pFieldEdit.GeometryDef_2 = pGometryDef;
pFieldsEdit.AddField(pField);
pField = new FieldClass();
pFieldEdit = (IFieldEdit)pField;
pFieldEdit.Name_2 = "GRIDNAME";
pFieldEdit.Type_2 = esriFieldType.esriFieldTypeString;
pFieldEdit.Length_2 = 40;
pFieldsEdit.AddField(pFieldEdit);
pField = new FieldClass();
pFieldEdit = (IFieldEdit)pField;
pFieldEdit.Name_2 = "SHAPE.AREA";
pFieldEdit.Type_2 = esriFieldType. esriFieldTypeDouble;
pFieldsEdit.AddField(pFieldEdit);
pField = new FieldClass();
pFieldEdit = (IFieldEdit)pField;
pFieldEdit.Name_2 = "SHAPE.LEN";
pFieldEdit.Type_2 = esriFieldType. esriFieldTypeDouble;
pFieldsEdit.AddField(pFieldEdit);
//创建网格图层
SDELINK.SdeOracle sdeOracle = Md.OracleSDELink;
IFeatureWorkspace pFeatureWorkspace = sdeOracle.getOracleFeatureWS();
IFeatureDataset pFeatureDataset= pFeatureWorkspace.OpenFeatureDataset(sDataSetName);
try
{
pFeatureDataset.CreateFeatureClass(sGridLayerName + "12", pFields, null, null, esriFeatureType.esriFTSimple, "shape", "");
}
catch (Exception ex2)
{
MessageBox.Show("创建失败!\r\n"+ex2.Message);
return;
}
posted on 2011-05-25 15:51 kisstome88 阅读(683) 评论(0) 编辑 收藏 举报