内容:shapefile文件字段添加、删除、赋值、面积计算、删除面积小于某阈值的图斑
(1)shapefile字段添加
shp_file = r'' #shapfile绝对路径
# 获取文件驱动
driver = ogr.GetDriverByName('ESRI Shapefile')
# 注意,如果这里第二个参数是0的话就是仅仅读取数据,不做写入或修改
# 我们要新建字段,所以第二个参数要设置为1————1 is read/write
data_source = driver.Open(shp_file, 1)
# 获取图层数据
layer = data_source.GetLayer(0)
# 字段定义
new_field_defn = ogr.FieldDefn(add_field_name, add_field_type)
# add_field_name为添加字段的名称,字符串类型
# add_field_type为添加字段类型,如果是字符串则为add_field_type=ogr.OFTString
如果是浮点数则为add_field_type=ogr.OFTReal
其他如整型等自行搜索
# 创建字段
layer.CreateField(new_field_defn)
(2)shapefile删除字段
shp_file = r'' #shapfile绝对路径
# 从给定图层中读取字段并找到该字段的索引编号
ds: ogr.DataSource = ogr.Open(shp_file, update=True)
layer: ogr.Layer = ds.GetLayer