首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在地质公园中编写Geodataframe文件时出现的“不支持的驱动程序”错误

在地质公园中编写Geodataframe文件时出现的“不支持的驱动程序”错误
EN

Stack Overflow用户
提问于 2020-02-13 18:15:54
回答 2查看 3.6K关注 0票数 2

我正在读取一个GeoJson文件,向它应用一些函数,然后想将GeoDataFrame保存到另一个文件中。

这是我的密码:

代码语言:javascript
运行
复制
import geopandas as gpd
df=gpd.read_file('C:/in_folder/data.json')
df.to_file(driver='C:/out_folder', filename='df.json')

但这会产生以下错误:

DriverError:不支持的驱动程序:‘c:/out_文件夹’

这是回溯:

代码语言:javascript
运行
复制
---------------------------------------------------------------------------
DriverError                               Traceback (most recent call last)
<ipython-input-75-4209247a0f42> in <module>
      1 import geopandas as gpd
      2 df=gpd.read_file('C:/in_folder/data.json')
      3 df.to_file(driver='C:/out_folder', filename='df.json')

~\.conda\envs\ox\lib\site-packages\geopandas\geodataframe.py in to_file(self, filename, driver, schema, **kwargs)
    513         from geopandas.io.file import to_file
    514 
--> 515         to_file(self, filename, driver, schema, **kwargs)
    516 
    517     def to_crs(self, crs=None, epsg=None, inplace=False):

~\.conda\envs\ox\lib\site-packages\geopandas\io\file.py in to_file(df, filename, driver, schema, **kwargs)
    125         schema = infer_schema(df)
    126     with fiona_env():
--> 127         with fiona.open(
    128             filename, "w", driver=driver, crs=df.crs, schema=schema, **kwargs
    129         ) as colxn:

~\.conda\envs\ox\lib\site-packages\fiona\env.py in wrapper(*args, **kwargs)
    396     def wrapper(*args, **kwargs):
    397         if local._env:
--> 398             return f(*args, **kwargs)
    399         else:
    400             if isinstance(args[0], str):

~\.conda\envs\ox\lib\site-packages\fiona\__init__.py in open(fp, mode, driver, schema, crs, encoding, layer, vfs, enabled_drivers, crs_wkt, **kwargs)
    260             else:
    261                 this_schema = None
--> 262             c = Collection(path, mode, crs=crs, driver=driver, schema=this_schema,
    263                            encoding=encoding, layer=layer, enabled_drivers=enabled_drivers, crs_wkt=crs_wkt,
    264                            **kwargs)

~\.conda\envs\ox\lib\site-packages\fiona\collection.py in __init__(self, path, mode, driver, schema, crs, encoding, layer, vsi, archive, enabled_drivers, crs_wkt, ignore_fields, ignore_geometry, **kwargs)
    126                 raise DriverError("no driver")
    127             elif driver not in supported_drivers:
--> 128                 raise DriverError(
    129                     "unsupported driver: %r" % driver)
    130             elif self.mode not in supported_drivers[driver]:

DriverError: unsupported driver: 'C:/out_folder'

有人知道这是怎么回事吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-13 22:00:18

driver关键字需要文件格式,如"ESRI“或"GeoJSON”等。

要查看所有受支持的驱动程序,可以运行(确切的输出取决于安装):

代码语言:javascript
运行
复制
>>> import fiona
>>> fiona.supported_drivers
{'AeronavFAA': 'r',
 'ARCGEN': 'r',
 'BNA': 'raw',
 'DXF': 'raw',
 'CSV': 'raw',
 'OpenFileGDB': 'r',
 'ESRIJSON': 'r',
 'ESRI Shapefile': 'raw',
 'GeoJSON': 'rw',
 'GeoJSONSeq': 'rw',
 'GPKG': 'rw',
 'GML': 'raw',
 'GPX': 'raw',
 'GPSTrackMaker': 'raw',
 'Idrisi': 'r',
 'MapInfo File': 'raw',
 'DGN': 'raw',
 'PCIDSK': 'r',
 'S57': 'r',
 'SEGY': 'r',
 'SUA': 'r',
 'TopoJSON': 'r'}
票数 4
EN

Stack Overflow用户

发布于 2022-01-12 12:15:41

默认情况下,KML驱动程序不启用,如本GitHub问题https://github.com/Toblerity/Fiona/issues/97中详细介绍的那样。基本上,KML驱动程序似乎不符合Fiona的质量要求(截至2014年),不确定它将来是否会被修复。

您可以尝试启用默认禁用的KML驱动程序。

代码语言:javascript
运行
复制
import geopandas as gpd, fiona
fiona.drvsupport.supported_drivers['kml'] = 'rw' # enable KML support which is disabled by default
fiona.drvsupport.supported_drivers['KML'] = 'rw' # enable KML support which is disabled by default

对于新版本的fiona,您可能需要使用libkml而不是kml。即:

代码语言:javascript
运行
复制
fiona.drvsupport.supported_drivers['libkml'] = 'rw' # enable KML support which is disabled by default
fiona.drvsupport.supported_drivers['LIBKML'] = 'rw' # enable KML support which is disabled 
gpd.read_file("/path/to/your/test.kml")

学分归this answer here

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60214181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档