Python的gdal与proj环境配置问题

        这个环境配置问题困扰了我好几天,现在记录下来,避免再走弯路,事情还是从报错说起,“ERROR 1: PROJ: proj_create_from_database: Cannot find proj.db“,发现运行以下代码时是没有正确导入坐标wgs84坐标信息,即srs为空。

from osgeo import osr
srs = osr.SpatialReference()
srs.ImportFromEPSG(4326)  # 空间参考:WGS84

网上CSDN查询解决办法大概说一下:

一、设置系统环境变量,在系统环境变量都设置了没有作用

二、在程序中首先定义proj的位置,具体代码如下,可以临时解决问题(因为只要用到上述语句,程序就得加上这句话,非常麻烦)

from osgeo import osr
import os
os.environ['PROJ_LIB'] = r"D:\ProgramData\Anaconda3\Lib\site-packages\osgeo\data\proj"
srs = osr.SpatialReference()
srs.ImportFromEPSG(4326)  # 空间参考:WGS84

三、换一种导入方式,即使用wkt方法,具体代码如下,可以永久解决

from osgeo import osr
srs = osr.SpatialReference()
wkt = 'GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AXIS["Latitude",NORTH],AXIS["Longitude",EAST],AUTHORITY["EPSG","4326"]]'
srs.ImportFromWkt(wkt)  # 空间参考:WGS84

四、本着犟种的精神,我还是想使用原来简单一点方法,就开始排查GDAL和PROJ的兼容性问题,一开始我以为是pyproj这个库的版本,发现它和proj不是一个东西,首先查看gdal版本,终端输入命令 gdalinfo --version,我的是3.4.3,然后查看proj版本,同样输入命令proj,我的是6.2.1,版本比较低是,使用conda命令升级 conda update proj,最后升到9.3.1,运行发现没有问题了,大快人心呀。python版本为3.9.19。

注:使用conda命令一直报错,类似这样
参考这篇博客解决了:基于conda安装pytorch---一看就会超稳定安装步骤详解【多次踩坑实践最终成功版!!!】【适用于WIN系统】_conda pytorch-CSDN博客   

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值