记录错误:NotImplementedError: Wrong number or type of arguments for overloaded function

最近做项目,接触到GDAL库,在网上找了教程,按照教程提示安装成功,但是做坐标转换的时候,程序一直报错,然而在本地跑时是没有任何问题的


  File "/home/py_server/ers/zoology/service/getMetadata.py", line 47, in geo2lat

    a = coordTrans.TransformPoint(x, y)

  File "/usr/local/python/lib/python3.8/site-packages/osgeo/osr.py", line 1109, 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)

在网上找了找解决办法,只找到了windows系统的,照这个思路试了一下也不行

因为是proj负责空间参数,而且postgresql安装空间插件postgis时也会需要安装GDAL和proj库,所以我想应该是程序调用的gdal调用了postgresql的proj库,所以试了一下在程序中加上环境变量,结果也不可以


os.environ['PROJ_LIB'] = 'proj/'

后来请教了同事,直接找到gdal的命令库,命令库在gdal安装目录下的bin目录下,调用gdalinfo,发现是可用的,项目时间非常紧急,所以我就不在纠结程序里报的错误,直接用shell调用了该命令,拿到想要的结果。


版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论