GDAL - TypeError 重载函数“CoordinateTransformation_TransformPoint”的参数数量或类型错误

问题描述

我正在尝试在我的 Anaconda 环境中运行一些 GDAL 操作。然而,一旦我升级了我的 gdal 和其他软件包,程序就会崩溃。

环境:蟒蛇

Package               Version                  Channel
GDAL                   3.3.0                   pipwin
fiona                  1.8.20                  pipwin
geopandas              0.9.0                   pipwin
shapely                1.7.1                   pipwin
pyproj                 2.6.1.post1             py37hcfa1391_1

这是违规代码


    crsGeo = osgeo.osr.SpatialReference()
    crsGeo.ImportFromepsg(int(proj_type))
    t = osgeo.osr.CoordinateTransformation(crs,crsGeo)
    (lat,long,z) = t.TransformPoint(posX,posY)<-------------------
    srs = osgeo.osr.SpatialReference(wkt=prj)

以及栅格的元数据。


proj:  GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["epsg","7030"]],"6326"]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433,"9122"]],AXIS["Latitude",norTH],AXIS["Longitude",EAST],"4326"]]
proj type:  4326

代码抛出以下错误


ERROR 1: PROJ: proj_create_from_database: C:\Users\Deployment\.conda\envs\sw_py37_cv45    \Library\share\proj\proj.db lacks DATABASE.LAYOUT.VERSION.MAJOR / DATABASE.LAYOUT.VERSION.MInor Metadata. It comes from another PROJ installation.
ERROR 1: PROJ: proj_create_from_database: C:\Users\Deployment\.conda\envs\sw_py37_cv45\Library\share\proj\proj.db lacks DATABASE.LAYOUT.VERSION.MAJOR / DATABASE.LAYOUT.VERSION.MInor Metadata. It comes from another PROJ installation.
ERROR 1: PROJ: proj_create: unrecognized format / unkNown name
ERROR 6: Cannot find coordinate operations from `GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",LENGTHUNIT["metre",1]]],ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["latitude",north,ORDER[1],AXIS["longitude",east,ORDER[2],ID["epsg",4326]]' to `'
Could not calculate crsGeo spatial reference.
F:\Sliding_Windows\GeoTiff.py,line 402: TypeError 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)
OSRCoordinateTransformationShadow::TransformPoint(double [4],double)

根据以前的帖子,似乎某些 PATH 变量中缺少 proj.dll。我的环境只有一个 proj_6_2.dll,即使将它添加到我的系统的 PATH 中,错误仍然存​​在。

我也尝试将 posX 和 posY 放在元组/列表中,但这没有帮助。

这是包不匹配问题吗?缺少依赖问题?或者 TransformPoint 的调用方式是否有变化?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...