Использование Python 2.7.9 с GDAL 1.11.1, с miniconda для управления пакетами -GDAL перепроецирование ошибка: в методе 'Geometry_Transform', аргумент 2 типа 'OSRCoordinateTransformationShadow *
Выполнение этой простой новую проекцию координатная точка вызывает ошибку, описанную ниже.
Я относительно новым для 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()
Это ошибка:
/opt/miniconda/envs/pygeo/lib/python2.7/site-packages/osgeo/ogr.pyc in Transform(self, *args)
4880 OGRERR_NONE on success or an error code.
4881 """
-> 4882 return _ogr.Geometry_Transform(self, *args)
4883
4884 def GetSpatialReference(self, *args):
TypeError: in method 'Geometry_Transform', argument 2 of type 'OSRCoordinateTransformationShadow *'
CoordinateTransform является прокси для класса C++ OSRCoordinateTransformationShadow, созданного SWIG. В source code for osgeo.ogr.Geometry (какая точка) правильные типы были переданы методу преобразования.
Наилучшее предположение: может ли это быть вызвано использованием слишком старой версии _ogr, и поэтому реализация _ogr.Geometry_Transform (self, * args) ожидает другого? _ogr - еще один прокси-сервер, созданный SWIG, я предполагаю, что для класса OGR?
Эта статья: http://osgeo-org.1560.x6.nabble.com/PROJ-4-EPSG-28992-td3749558.html , по-видимому, указывает на то, что отсутствие параметров ToWgs84 может вызвать эту проблему. Но я не вижу связи между отсутствующими параметрами и ошибкой типа. Если нулевое значение может вызвать эту ошибку? –