当前位置:首页 > 文章 > 正文内容

升级python环境时gdal出现缺少proj的问题

廖万里3年前 (2022-10-27)文章1951

gdal在做坐标转换时报出如此的错误。原系统的代码没有改变,为了更新sentinelhub包,将python环境由3.6升级至3.7。升级了python环境之后,所有相关的py包和第三方库重新进行安装。安装过程中基本没有遇到问题。但是在运行代码时gdal报出错误。

发生错误的代码:

 
src_osr = osr.SpatialReference()
src_osr.ImportFromWkt(src_proj)
dst_osr = osr.SpatialReference()
dst_osr.SetWellKnownGeogCS("WGS84")
ct = osr.CoordinateTransformation(src_osr, dst_osr)
print("ct:", src_proj)
coords_ul = ct.TransformPoint(x_min, y_max)
coords_ur = ct.TransformPoint(x_max, y_max)
coords_lr = ct.TransformPoint(x_max, y_min)
coords_ll = ct.TransformPoint(x_min, y_min)
lon_list = [coords_ul[0], coords_ur[0], coords_lr[0], coords_ll[0]]
lat_list = [coords_ul[1], coords_ur[1], coords_lr[1], coords_ll[1]]
lon_min = np.min(lon_list)
lon_max = np.max(lon_list)
lat_min = np.min(lat_list)
lat_max = np.max(lat_list)
lon_lat_extent = [lon_min, lon_max, lat_min, lat_max]
return lon_lat_extent

错误信息:

Traceback (most recent call last):

File "/opt/project/src/test.py", line 160, in <module>

ndvi.run()

File "/opt/project/src/cell_produce_task/tile_factory_v2.py", line 1529, in run

result = self.task_manager()

File "/opt/project/src/cell_produce_task/tile_factory_v2.py", line 532, in task_manager

geo_extension

File "/opt/project/src/cell_produce_task/tile_factory_v2.py", line 730, in produce_block

y_blk_num

File "/opt/project/src/cell_produce_task/tile_factory_v2.py", line 1073, in cell_block_task_by_lut

src_proj

File "/opt/project/src/cell_produce_task/tile_factory_v2.py", line 958, in proj_2_geo_extent

coords_ul = ct.TransformPoint(x_min, y_max)

File "/root/miniconda3/lib/python3.7/site-packages/osgeo/osr.py", line 1150, in TransformPoint

return _osr.CoordinateTransformation_TransformPoint(self, *args)

NotImplementedError: Wrong number or type of arguments for overloaded function 'CoordinateTransformation_TransformPoint'.

Possible C/C++ prototypes are:

OSRCoordinateTransformationShadow::TransformPoint(double [3])

OSRCoordinateTransformationShadow::TransformPoint(double [4])

OSRCoordinateTransformationShadow::TransformPoint(double [3],double,double,double)

OSRCoordinateTransformationShadow::TransformPoint(double [4],double,double,double,double)

 为了解决这个问题,大体进行了如下几次尝试:

1. 一开始以为是gdal的问题,重新对gdal进行安装,结果问题依然存在;

2. 以为是GDAL_DATA没有设置的问题,查询gdal路径后,将该路径加入到环境变量。没有解决问题。

os.environ['GDAL_DATA']="/root/miniconda3/pkgs/libgdal-3.4.1-h05199a0_1/share/gdal"

3.怀疑是proj没有配置使得gdal找不到proj库。查询proj的路径,将该路径加入到环境变量。问题最终解决。

os.environ['PROJ_LIB'] = os.getenv('PROJ_LIB', '/root/miniconda3/pkgs/proj-6.2.1-h05a3930_0/share/proj')

由于proj有多个路径,可能是不同版本共存。在经过多个路径轮流试验后最终确定了一个有效的路径。

 

总结,对于此类问题,直接原因是gdal没有找到相应的proj路径,使得跟坐标转换相关的处理不能正常运行。解决的方法就是将proj的路径找到,并设置成环境变量。造成这个问题原因可能是多个proj的版本混乱造成的,也可能proj没有正确安装。


本文链接:https://www.kkkliao.cn/?id=129 转载需授权!

分享到:

版权声明:本文由廖万里的博客发布,如需转载请注明出处。


“升级python环境时gdal出现缺少proj的问题” 的相关文章

突然崩了!一则大消息,这类股集体跳水,2000亿巨头重挫12%!千亿疫苗白马暴跌16%!信创板块又火了,恒生科技指数继续大涨

突然崩了!一则大消息,这类股集体跳水,2000亿巨头重挫12%!千亿疫苗白马暴跌16%!信创板块又火了,恒生科技指数继续大涨

中国基金报 颜颖大家好,来一起关注今天上午的市场行情和最新资讯。10月27日上午,A股重要指数全线高开:上证指数高开0.18%,深证成指涨0.23%,创业板指涨0.18%。盘面上,发电设备、贵金属、教育等板块早盘涨幅居前,医疗板块陷入调整,旅游、海运等板块跌幅居前。港股市场高调高开:恒指高开2.63...

蛋黄胆固醇高,还能不能吃?早上坚持吃水煮蛋,有什么好处?

蛋黄胆固醇高,还能不能吃?早上坚持吃水煮蛋,有什么好处?

说到鸡蛋,能想到很多食物,只是一颗小小的鸡蛋,却能变着花样的去进行制作,且大多还是比较简单的做法,其中一个比较简单的做法,也是大家比较常用的一个做法,就是清水煮鸡蛋。有的人早餐会吃一个水煮鸡蛋,可帮助补充营养,适当多吃鸡蛋,确实能给身体带来一些好处,同样,也是会存在一些不好的说法,让部分人群对于吃鸡...

每晚泡脚15分钟,五年下来会有哪些变化?

每晚泡脚15分钟,五年下来会有哪些变化?

剑心学者10月07日关注我是每到秋季与冬季才开始泡脚,尽量做到每晚都泡。当然经期除外。每次用艾叶、生姜、花椒煮沸后加水泡15到20分钟左右。泡到全身发热为止。坚持两年了。我身体湿气较重,随时舌头都有齿痕,夏天怕热冬天怕冷,手脚冰凉的。现在最大改变就是晚上睡觉不穿袜子,脚也不冰凉。还是有一定的效果。当...

嫦娥五号样品揭秘:月球如何“延寿”8亿年?

嫦娥五号样品揭秘:月球如何“延寿”8亿年?

文 | 《中国科学报》记者 冯丽妃嫦娥五号玄武岩与阿波罗玄武岩形成示意图。受访者供图月球一直“活到”了什么时候?这是月球演化历史研究中科学家一直想了解的一个重大科学问题。一年前,中科院地质与地球物理研究所(以下简称地质地球所)的科学家们利用嫦娥五号带回的月球样品,证明月球在距今20亿年前仍喷发过滚烫...

专访中凝科技90后董事长王天赋:7年打造气凝胶“小巨人”,未来3年冲刺上市

专访中凝科技90后董事长王天赋:7年打造气凝胶“小巨人”,未来3年冲刺上市

本文来源:时代周报 作者:黄嘉祥气凝胶是世界上密度最小的固体,被誉为可以改变世界的多功能新材料,这条超百亿级别的新赛道正在崛起,入局者越来越多。90后“创二代”王天赋正是气凝胶赛道的创业者之一,他在2015年创办了深圳中凝科技有限公司(下称“中凝科技”),带领团队研制气凝胶,在全球首创气凝胶无氯常压...

腾讯突然宣布关闭这项业务,阿里巴巴和百度还能做什么?

腾讯突然宣布关闭这项业务,阿里巴巴和百度还能做什么?

腾讯地图官网近日宣布,电脑端的腾讯地图将于11月11日停止服务,用户可以下载腾讯地图App。今年5月,搜狗地图也暂停了电脑端的服务,如今仅剩百度地图一家仍旧提供电脑端服务。这一变化,与移动互联网的发展不无关系。虽然电脑端地图服务商缩水,但在移动端,背靠阿里巴巴的高德地图、百度的重要业务板块百度地图,...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。