from osgeo import ogr, gdal
def read_vector(filename, name):
'''
为矢量数据添加新字段
:param filename: 矢量文件
:param name: 字段名
:return:
'''
gdal.SetConfigOption("GDAL_FIENAME_IS_UTF8", "NO") #支持中文路径
gdal.SetConfigOption("SHAPE_ENCODING", "") #属性表字段支持中文
ogr.RegisterAll() #注册所有驱动
# 尝试打开矢量数据
try:
dataset = ogr.Open(filename, 1) # 打开矢量数据
except:
print("打开文件" + filename + "失败")
LayerCount = dataset.GetLayerCount() #获取矢量数据图层个数
print(LayerCount)
FirstLayer = dataset.GetLayerByIndex(0) #获取第一个图层
FirstLayer.ResetReading() #对图层进行初始化
add_field_type = ogr.OFTReal # 设置字段数据类型
new_field_defn = ogr.FieldDefn(name, add_field_type) # 添加字段
FirstLayer.CreateField(new_field_defn)
gdal为矢量数据添加新字段
最新推荐文章于 2024-04-30 19:24:04 发布