4

我正在尝试通过 Contextily 将底图添加到我的情节中,但在尝试查看情节时出现此错误。

Traceback (most recent call last):
  File "rasterio/_crs.pyx", line 322, in rasterio._crs._CRS.from_epsg
  File "rasterio/_err.pyx", line 192, in rasterio._err.exc_wrap_int
rasterio._err.CPLE_AppDefinedError: PROJ: proj_create_from_database: /opt/anaconda3/share/proj/proj.db lacks DATABASE.LAYOUT.VERSION.MAJOR / DATABASE.LAYOUT.VERSION.MINOR metadata. It comes from another PROJ installation.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/anaconda3/lib/python3.8/site-packages/matplotlib/cbook/__init__.py", line 196, in process
    func(*args, **kwargs)
  File "/opt/anaconda3/lib/python3.8/site-packages/matplotlib/widgets.py", line 1051, in _clicked
    self.set_active(closest)
  File "/opt/anaconda3/lib/python3.8/site-packages/matplotlib/widgets.py", line 1077, in set_active
    func(self.labels[index].get_text())
  File "vis.py", line 1109, in draw_basemap
    ctx.add_basemap(ax, crs=properties_geo.crs.to_string())
  File "/opt/anaconda3/lib/python3.8/site-packages/contextily/plotting.py", line 139, in add_basemap
    left, right, bottom, top = _reproj_bb(
  File "/opt/anaconda3/lib/python3.8/site-packages/contextily/plotting.py", line 229, in _reproj_bb
    n_l, n_b, n_r, n_t = transform_bounds(s_crs, t_crs, left, bottom, right, top)
  File "/opt/anaconda3/lib/python3.8/site-packages/rasterio/warp.py", line 180, in transform_bounds
    xs, ys = transform(src_crs, dst_crs, in_xs, in_ys)
  File "/opt/anaconda3/lib/python3.8/site-packages/rasterio/env.py", line 387, in wrapper
    return f(*args, **kwds)
  File "/opt/anaconda3/lib/python3.8/site-packages/rasterio/warp.py", line 65, in transform
    return _transform(src_crs, dst_crs, xs, ys, zs)
  File "rasterio/_base.pyx", line 1398, in rasterio._base._transform
  File "rasterio/_base.pyx", line 1444, in rasterio._base._osr_from_crs
  File "/opt/anaconda3/lib/python3.8/site-packages/rasterio/crs.py", line 496, in from_user_input
    return cls.from_string(value, morph_from_esri_dialect=morph_from_esri_dialect)
  File "/opt/anaconda3/lib/python3.8/site-packages/rasterio/crs.py", line 384, in from_string
    return cls.from_epsg(val)
  File "/opt/anaconda3/lib/python3.8/site-packages/rasterio/crs.py", line 333, in from_epsg
    obj._crs = _CRS.from_epsg(code)
  File "rasterio/_crs.pyx", line 324, in rasterio._crs._CRS.from_epsg
rasterio.errors.CRSError: The EPSG code is unknown. PROJ: proj_create_from_database: /opt/anaconda3/share/proj/proj.db lacks DATABASE.LAYOUT.VERSION.MAJOR / DATABASE.LAYOUT.VERSION.MINOR metadata. It comes from another PROJ installation.

这是我在代码中所做的:

route = pd.read_excel("0002_D1_0_fixed_out_points_15ft.xls")

        geometry = [Point(xy) for xy in zip(route.x_dd, route.y_dd)]
        gdf = GeoDataFrame(route, geometry=geometry, crs='EPSG:3857')

        fig,ax = plt.subplots()
        ax.plot(route['x_dd'], route['y_dd'], 'o', markersize=1)
        ctx.add_basemap(ax, crs=gdf.crs.to_string())
        plt.show()

我假设这是我的安装设置方式而不是代码本身的问题。我试过做 conda activate base 这是我所处的环境,但仍然遇到同样的错误。我也在 macOS 上

excel文件

4

0 回答 0