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

2024-06-17 13:52:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图在我的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"]],
    AUTHORITY["EPSG","6326"]],
    PRIMEM["Greenwich",0],
    UNIT["degree",0.0174532925199433,
    AUTHORITY["EPSG","9122"]],
    AXIS["Latitude",NORTH],
    AXIS["Longitude",EAST],
    AUTHORITY["EPSG","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",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["latitude",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["longitude",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],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,double)
OSRCoordinateTransformationShadow::TransformPoint(double [4],double,double,double,double)

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

我也尝试过将posX和posY放在tuples/list中,但没有用

这是一个包不匹配的问题吗?缺少依赖项问题?或者TransformPoint的命名方式是否发生了变化


Tags: fromerrorepsgdatabaseprojdoublewgslayout