2014-12-19 3 views
1

Использование 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?

+0

Эта статья: http://osgeo-org.1560.x6.nabble.com/PROJ-4-EPSG-28992-td3749558.html , по-видимому, указывает на то, что отсутствие параметров ToWgs84 может вызвать эту проблему. Но я не вижу связи между отсутствующими параметрами и ошибкой типа. Если нулевое значение может вызвать эту ошибку? –

ответ

3

Что нового в GDAL должно узнать: назначьте обработчик ошибок. (пример: http://pcjericks.github.io/py-gdalogr-cookbook/gdal_general.html#install-gdal-ogr-error-handler)

С назначенным обработчиком ошибок выход включает в себя объяснение ошибки. В этом случае это было: «Не удалось загрузить библиотеку PROJ.4 (libproj.so), не удалось создать OGRCoordinateTransformation».

Надеемся, что предоставление информации об обработке ошибок GDAL поможет другим, кто может наткнуться на эту проблему.

+0

Не полезно. Я попал в ту же ошибку, установил обработчик и не повезло. То же самое происходит. Более того, я могу сделать преобразование из pyproj. – visoft

 Смежные вопросы

  • Нет связанных вопросов^_^