geopandas.read_file 会给出错误

问题描述 投票:0回答:1

所有, 我使用 ESRI 世界国家通用形状文件,可在此处获取 使用 GeoPandas

shp_file =gpd.read_file('World_Countries/World_Countries_Generalized.shp')
print(shp_file.crs)

我得到的CRS是

EPSG:3857
,但是一旦我将CRS添加到gpd.read_file中,如下所示

shp_file1 =gpd.read_file('../../Downloads/World_Countries/World_Countries_Generalized.shp',crs='EPSG:3857')

我收到以下错误

/opt/anaconda3/envs/geo_env/lib/python3.12/site-packages/pyogrio/raw.py:198: RuntimeWarning: driver ESRI Shapefile does not support open option CRS return ogr_read(

你知道为什么我会收到此错误吗?这是否意味着文件读取不正确?

谢谢

python python-3.x geopandas shapefile
1个回答
1
投票

自 geopandas 1.0 起,默认使用另一个更快的底层库来读取 geopandas 中的文件:pyogrio。这个新库不支持

crs
参数。

针对这种特定情况,最简单的解决方案是删除

crs='EPSG:3857'
参数,因为无论如何,crs 都已正确读取,因此毫无用处?

shp_file1 = gpd.read_file('../../Downloads/World_Countries/World_Countries_Generalized.shp')

如果您想读取没有 .prj 文件或错误文件的 shapefile,您可以例如读取文件后,使用 GeoDataFrame

set_crs
函数设置或否决
crs

shp_file2 = gpd.read_file('wrong_crs.shp').set_crs(crs='EPSG:3857', allow_override=True)
© www.soinside.com 2019 - 2024. All rights reserved.