我有OGR虚拟格式的test.vrt文件,并尝试使用Python Fiona库读取它。
>>> 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>我做错了什么?
发布于 2018-04-19 00:37:55
Fiona只处理GDAL的一个子集支持的驱动程序,而VRT不是其中之一:
>>> fiona.supported_drivers
{'AeronavFAA': 'r', 'ARCGEN': 'r', 'BNA': 'raw', 'DXF': 'raw', 'OpenFileGDB': 'r', 'ESRI Shapefile': 'raw', 'GeoJSON': 'rw', 'GPKG': 'rw', 'GPX': 'raw', 'GPSTrackMaker': 'raw', 'Idrisi': 'r', 'MapInfo File': 'raw', 'DGN': 'raw', 'PCIDSK': 'r', 'SEGY': 'r', 'SUA': 'r'}VRT文件是格式驱动程序-它们用于创建地理数据集、引用地理数据集,甚至指定对数据集的几何更改。但VRT文件本身并不是地理数据集。它们是XML文件!
Python的标准库对处理XML文件有很多支持:
https://docs.python.org/3/library/xml.html
还有一些很棒的第三方选择:
发布于 2018-11-13 16:59:34
奇怪的是,至少对这样简单的vrt文件启用OGR_VRT支持似乎是可能的。如果您添加("OGR_VRT","r")到supported_drivers字典中的site-packages/fiona/drvsupport.py文件,打开上述xml文件与fiona使用geopandas似乎工作。使用风险自负!:)
https://stackoverflow.com/questions/49895624
复制相似问题