You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Fiona读取OGR_VRT文件报错:unsupported driver: 'OGR_VRT'

解决Fiona读取OGR VRT文件时的"unsupported driver: 'OGR_VRT'"错误

前阵子我尝试用Python的Fiona库读取一个名为test.vrt的OGR虚拟格式文件,执行了这段代码:

import fiona
src = fiona.open('abs_path_to_vrt_file.vrt')

结果直接收到了错误提示:fiona.errors.DriverError: unsupported driver: 'OGR_VRT'。我的test.vrt文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<OGRVRTDataSource>
<OGRVRTLayer name="test">
<SrcDataSource>absolute_path_to_test_shp.shp</SrcDataSource>
</OGRVRTLayer>
</OGRVRTDataSource>

折腾了一会儿,终于找到几个可行的解决办法,分享给大家:

方法一:显式指定OGR_VRT驱动

Fiona默认可能不会自动识别VRT文件的驱动类型,这时候我们只需要在fiona.open()方法里手动加上driver='OGR_VRT'参数就行,修改后的代码如下:

import fiona
# 显式指定驱动类型
src = fiona.open('abs_path_to_vrt_file.vrt', driver='OGR_VRT')
# 可以试试打印schema或者要素数量验证是否读取成功
print(src.schema)
print(len(src))

方法二:检查GDAL与Fiona的版本兼容性

Fiona底层依赖GDAL,OGR_VRT是GDAL内置的驱动,如果你的Fiona版本较旧,可能对新的GDAL驱动支持不足。可以用以下命令检查两者的版本:

# 查看GDAL版本
gdalinfo --version
# 查看Fiona版本
python -c "import fiona; print(fiona.__version__)"

如果版本差距较大,建议更新Fiona到匹配的版本(可以用pip install --upgrade fiona命令更新)。

额外注意事项

别忘了确认VRT文件里<SrcDataSource>标签中的SHP文件路径是正确的——不管是绝对路径还是相对路径,都要保证GDAL能访问到对应的SHP文件及其附属文件(.shx、.dbf等),否则即使驱动指定正确,也可能读取失败。

内容的提问来源于stack exchange,提问作者sorryMike

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:35:10