1、打开任意驱动的矢量
shp_file=r'/data/数据/矢量数据/world.shp'
ds = ogr.Open(shp_file)
driver = ds.GetDriver()
driver_type = driver.GetName()
print(driver_type) #ESRI Shapefile
2、打开一个图层
layer_nums = ds.GetLayerCount()
for i in range(layer_nums):
layer = ds.GetLayerByIndex(i)
layerDefn = layer.GetLayerDefn()
layer_name = layerDefn.GetName()
print(layer_name) #world.shp
3、获取epsg号
crs = layer.GetSpatialRef()
epsg = crs.GetAttrValue('AUTHORITY', 1)
print(epsg) # 4326
4、获取字段
field_nums = layerDefn.GetFieldCount()
fields = []
for i in range(field_nums):
field_defn = layerDefn.GetFieldDefn(i)
field_name = field_defn.GetName()
field_type = field_defn.GetTypeName()
fields.append({'field_name': field_name, 'field_type': field_type})
print(fields)