Ben*_*ann 4 python file anaconda geopandas
我正在读取 GeoJson 文件,对其应用一些函数,然后想要将 GeoDataFrame 保存到另一个文件。
这是我的代码:
import geopandas as gpd
df=gpd.read_file('C:/in_folder/data.json')
df.to_file(driver='C:/out_folder', filename='df.json')
Run Code Online (Sandbox Code Playgroud)
但这会产生以下错误:
DriverError:不支持的驱动程序:'C:/out_folder'
这是回溯:
---------------------------------------------------------------------------
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'
Run Code Online (Sandbox Code Playgroud)
有谁知道发生了什么事吗?
默认情况下不启用 KML 驱动程序,如本 GitHub 问题https://github.com/Toblerity/Fiona/issues/97中所述。基本上,KML 驱动程序似乎不符合 Fiona 的质量要求(截至 2014 年),不确定将来是否会修复。
您可以尝试启用默认情况下禁用的 KML 驱动程序。
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
Run Code Online (Sandbox Code Playgroud)
对于较新版本的 fiona,您可能需要使用 libkml 而不是 kml。IE:
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")
Run Code Online (Sandbox Code Playgroud)
积分转到此答案
| 归档时间: |
|
| 查看次数: |
7152 次 |
| 最近记录: |