GDAL重投影错误:在“Geometry_transformation”方法中,类型为“OSRCoordinateTransformationShadow*”的参数2

2024-07-05 14:28:09 发布

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

使用Python2.7.9和gdal1.11.1,以及miniconda进行包管理--

执行此操作时,简单地重新投影一个坐标点会导致下面所述的错误。在

我对GDAL比较陌生,所以我检查了Python GDAL/OGR 1.0 Cookbook中的代码是否产生了相同的问题,它确实:

from osgeo import ogr
from osgeo import osr

source = osr.SpatialReference()
source.ImportFromEPSG(2927)

target = osr.SpatialReference()
target.ImportFromEPSG(4326)

transform = osr.CoordinateTransformation(source, target)
point = ogr.CreateGeometryFromWkt("POINT (1120351.57 741921.42)")
point.Transform(transform)
print point.ExportToWkt()

这是错误:

^{pr2}$

坐标转换是用SWIG生成的C++ OSRealTraseTrimeS影类的代理。 根据source code for osgeo.ogr.Geometry(点是什么),正确的类型被传递给Transform方法。在

最佳猜测:这是不是因为使用了太旧的gr版本,以及_几何图形转换(self,*args)期望的是不同的? _ogr是另一个SWIG生成的代理,我猜是ogr类吗?在


Tags: fromimportsourcetarget错误transformswigosr
2条回答

每个刚接触GDAL的人都必须了解:分配一个错误处理程序。(示例:http://pcjericks.github.io/py-gdalogr-cookbook/gdal_general.html#install-gdal-ogr-error-handler

分配了错误处理程序后,输出将包含对错误的解释。在本例中,它是:“无法加载项目4库(利伯杰·索),创建OGRCoordinateTransformation失败。“

希望,传授启用GDAL错误处理的知识将有助于其他可能无意中发现这个问题的人。在

Similar information can be found on a rasterio FAQ and in unable to load "gcs.csv" file in gdal.

我在anaconda3qgis环境中运行GDAL转换时遇到了这个问题。问题是没有通过GDAL_DATA环境变量加载坐标系信息。在

要补救,请找到包含gcs.csv版存在于系统中(可能是“../Library/share/gdal”)。在导入GDAL和其他依赖项之前,将其添加到您的环境中。在

import os

os.environ['GDAL_DATA'] = r'/path/to/dir/'

相关问题 更多 >