Windows 7 64ビットにインストールされたNumpy 1.3およびGdal 1.9.1でPython 2.6.5(32ビット)を使用しています。800 MBのImagine(.img)ラスターデータセットをNumpy配列に読み取ってラスター代数を実行しようとしていますが、次のコードを実行するとすぐにPython.exeがクラッシュします。
from osgeo import gdal
g = gdal.Open(r'path\to\dataset', gdal.GA_Readonly)
b = g.GetRasterBand(1)
data = b.ReadAsArray()
Python.exeはb.ReadAsArray()
呼び出し時にクラッシュします。Google検索をいくつか行って、Gdal 1.6からWindows 7 64bitでこの問題に言及している記事を見つけましたが、当時の最新の開発バージョンで修正されたと述べました。
他の誰かがこの問題を抱えていましたか?回避策はありますか?
更新:
PyDevでコードをデバッグして、どこでエラーが発生しているかを特定することにしました。私が伝えることができる(まだエラーメッセージが表示されない)ことから、gdal_array.pyの22行目で失敗しています。
_mod = imp.load_module('_gdal_array', fp, pathname, description)
上記のコード行に足を踏み入れると、numpyのinit .pyモジュールに移動します。numpyの最後に到達したとき。__ init __ .pyモジュール、上記のコード行に戻ります。次に、ステップインボタンを押すと、gdal_array.py内の次の行に移動しますが、スクリプトはエラーメッセージも何も表示されずに終了します。
更新#2:
GDAL 1.9.1をアンインストールし、Python CheeseshopおよびOSGeoのWindows BinariesからGDAL 1.6.1をインストールしました。まだ同じ問題がありました。