所有, 我使用 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(
你知道为什么我会收到此错误吗?这是否意味着文件读取不正确?
谢谢
自 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)