123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import os
- from osgeo import ogr
- gdb_path = 'D:\\gisdata\\三亚\\海域数据和三区三线数据\\三亚三线数据.gdb'
- driver = ogr.GetDriverByName('OpenFileGDB')
- if not driver:
- raise Exception("OpenFileGDB 驱动不可用")
- gdb = driver.Open(gdb_path, 0)
- if not gdb:
- raise Exception(f"无法打开 {gdb_path} 文件夹")
- layer_count = gdb.GetLayerCount()
- print(f"该 GDB 文件夹包含 {layer_count} 个图层:")
- for i in range(layer_count):
- layer = gdb.GetLayerByIndex(i)
- print(f"图层 {i}: {layer.GetName()}")
- layer_name = gdb.GetLayerByIndex(0).GetName()
- print(f"加载图层: {layer_name}")
- layer = gdb.GetLayerByName(layer_name)
- for feature in layer:
-
- geom = feature.GetGeometryRef()
- print(f"要素几何: {geom.ExportToWkt()}")
-
- for field in feature.items():
- print(f"{field}: {feature.GetField(field)}")
- gdb = None
|