我需要在 geopandas 中做一些空间操作。我创建了新的 conda 环境并安装了 geopandas
conda install --channel conda-forge geopandas
。当我运行以下简单代码时:
import geopandas as gpd
from shapely.geometry import Point
gdf = gpd.GeoDataFrame([Point(1,1)])
gdf.set_geometry(0).set_crs(epsg=3857)
我收到以下错误消息:
CRSError: Invalid projection: EPSG:3857: (Internal Proj Error: proj_create: no database context specified)
我试着用谷歌搜索这个问题。有几个帖子,但我找不到正确的解决方案。看来pyproj数据库有问题。到目前为止,这就是我的理解。
任何解决方案?
提前致谢!
错误在步骤
gdf.set_geometry(0)
。试试这个:
import geopandas as gpd
from shapely.geometry import Point
gdf = gpd.GeoDataFrame([Point(1,1)])
# Dont do this
# gdf.set_geometry(0).set_crs(epsg=3857)
# But do it in 2 steps
gdf.set_geometry(0, inplace=True)
gdf.set_crs(epsg=3857, inplace=True)
gdf.plot()
在
inplace=True
中没有gdf.set_geometry()
,gdf
对象还没有准备好做.set_crs()
,因此,导致错误。