前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python读取和写入GDB文件

python读取和写入GDB文件

原创
作者头像
renhai
发布2024-05-30 12:59:43
1560
发布2024-05-30 12:59:43
举报
代码语言:python
代码运行次数:0
复制
import geopandas as pd  
import os

# 读取gdb数据库

gdb_path = r'.\data\gwr_results.gdb'  
gdb = pd.read_file(gdb_path, driver='FileGDB', layer='*')

使用GeoPandas读取单个图层

使用 GeoPandas 和 fiona 读取 GDB 文件的所有图层

代码语言:python
代码运行次数:0
复制
import geopandas as gpd
import fiona

def read_all_layers_from_gdb(gdb_path):
    """
    从 GDB 文件中读取所有图层,并返回一个包含所有图层数据的字典。

    Args:
        gdb_path (str): GDB 文件的路径。

    Returns:
        dict: 键为图层名称,值为对应图层的 GeoDataFrame。
    """
    layers_data = {}
    
    # 直接使用 fiona.listlayers 获取 GDB 文件中的所有图层名称
    layer_names = fiona.listlayers(gdb_path)
    
    # 遍历图层名称,使用 GeoPandas 读取每个图层
    for layer_name in layer_names:
        layer_data = gpd.read_file(gdb_path, layer=layer_name)
        layers_data[layer_name] = layer_data
    
    return layers_data

# 示例用法
gdb_path = './data/gwr_results.gdb'
all_layers_data = read_all_layers_from_gdb(gdb_path)

# 打印所有图层的名称以验证结果
print("读取的图层名称:", list(all_layers_data.keys()))

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用GeoPandas读取单个图层
  • 使用 GeoPandas 和 fiona 读取 GDB 文件的所有图层
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档