public void ShpAddField(int layerindex, string fieldname, int filedtypeindex)
{
//获取要素图层与要素类
IFeatureLayer pFeatureLayer = (IFeatureLayer)pAxMapControl.get_Layer(layerindex);
IFeatureClass pFeatureClass = pFeatureLayer.FeatureClass;
IClass pClass = pFeatureClass as IClass;
IFieldsEdit pFieldsEdit = pFeatureClass.Fields as IFieldsEdit;
IField pField = new FieldClass();
{
case 0:
pFieldsEdit2.Type_2 = esriFieldType.esriFieldTypeSmallInteger;
break;
case 1:
pFieldsEdit2.Type_2 = esriFieldType.esriFieldTypeInteger;
break;
case 2:
pFieldsEdit2.Type_2 = esriFieldType.esriFieldTypeDouble;
break;
case 3:
pFieldsEdit2.Type_2 = esriFieldType.esriFieldTypeSingle;
break;
case 4:
pFieldsEdit2.Type_2 = esriFieldType.esriFieldTypeString;;
break;
case 5:
pFieldsEdit2.Type_2 = esriFieldType.esriFieldTypeDate;
break;
}
pFieldsEdit2.Type_2 = esriFieldType.esriFieldTypeString;
pFieldsEdit2.Name_2 = fieldname;
pClass.AddField(pField);
}
{
//获取要素图层与要素类
IFeatureLayer pFeatureLayer = (IFeatureLayer)pAxMapControl.get_Layer(layerindex);
IFeatureClass pFeatureClass = pFeatureLayer.FeatureClass;
IClass pClass = pFeatureClass as IClass;
IFieldsEdit pFieldsEdit = pFeatureClass.Fields as IFieldsEdit;
IField pField = new FieldClass();
IFieldEdit2 pFieldsEdit2 = pField as IFieldEdit2;
switch (filedtypeindex){
case 0:
pFieldsEdit2.Type_2 = esriFieldType.esriFieldTypeSmallInteger;
break;
case 1:
pFieldsEdit2.Type_2 = esriFieldType.esriFieldTypeInteger;
break;
case 2:
pFieldsEdit2.Type_2 = esriFieldType.esriFieldTypeDouble;
break;
case 3:
pFieldsEdit2.Type_2 = esriFieldType.esriFieldTypeSingle;
break;
case 4:
pFieldsEdit2.Type_2 = esriFieldType.esriFieldTypeString;;
break;
case 5:
pFieldsEdit2.Type_2 = esriFieldType.esriFieldTypeDate;
break;
}
pFieldsEdit2.Type_2 = esriFieldType.esriFieldTypeString;
pFieldsEdit2.Name_2 = fieldname;
pClass.AddField(pField);
}
本文介绍如何使用ArcGIS API在指定图层中添加不同类型的字段。通过判断字段类型,设置相应的字段属性,并利用ArcGIS组件实现字段的添加。
1793

被折叠的 条评论
为什么被折叠?



