- Field的操作都是基于Layer的,所以创建、删除、查找字段都属于Layer Class
1.创建字段
- 创建字段要先定义一个字段,并规定字段的宽度(String)、精度(Real)等,然后在使用Layer.CreateField()
public static void CreateField(Layer layer) throws IOException {
FieldDefn fieldDefn = new FieldDefn("name1", ogr.OFTString);
Feature feature = null;
fieldDefn.SetWidth(50);
layer.CreateField(fieldDefn, 1);
}
2.删除字段
- 删除字段需要被删除字段的序列号,可以通过layer.FindFieldIndex(“FiledName”, bExactMatch)获取
【bExactMatch注】
0:若该字段在给定的表单中不存在,那么驱动程序可能会应用一些更改使其匹配;
1:若该字段在给定的表单中不存在,则返回-1.
public static void DeleteField(Layer layer) throws IOException {
//如果FindFieldIndex()返回-1,即要删除的字段不存在,则会报错
try{
layer.DeleteField(layer.FindFieldIndex("name1_2", 1));
}
catch (Exception e) {
// TODO: handle exception
}
}