2013-03-14 94 views
1

我編寫了一個小型python程序,用於不同的操作系統和不同版本的gdal版本。Python中不同gdal版本的屬性錯誤 - gdal.RegisterAll

我使用Debian的Linux(Python的2.7.3和1.9.0 GDAL)和我的代碼開始,我通常稱

import gdal 
gdal.RegisterAll() 

但它已被我的程序的多個用戶報告與從未版本的gdal(例如1.9.2)這引發一個AttributeError(AttributeError:'模塊'對象沒有屬性AllRegister'「)說RegisterAll()函數是未知的。 Windows和Linux系統都報告了此錯誤。

任何人都有關於已更改內容的想法,以及是否仍需要在較新的gdal版本中註冊驅動程序?這可能是開發者郵件列表的一個問題,但也許有些人正在閱讀這篇文章。

回答

2

不要使用它 - 這是不必要的。從GDAL API Tutorial

Python automatically calls GDALAllRegister() when the gdal module is imported.

+0

謝謝!,儘管如此,我很好奇爲什麼它已被刪除。我目前正在圍繞這些部分構建一些_hasattr_ if-phrase。 – Curlew 2013-03-14 10:51:13

+0

使用OGR,有'ogr.RegisterAll()',而GDAL則有'gdal.AllRegister()'(交換的單詞)。然而,*這些都不需要被調用,所以不要打擾使用它們或建立'hasattr'邏輯來支持它。如果有需要的話,我不能確定任何歷史。 – 2013-03-17 01:48:14