如何解决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 举报,一经查实,本站将立刻删除。