6

現在、.bil 形式 (ESRI BIL だと思います) で提供されているPRISM Climate Groupからの降水データがあり、これらのデータセットを Python で読み取れるようにしたいと考えています。

スペクトルパッケージをインストールしましたが、open_image()メソッドはエラーを返します。

def ReadBilFile(bil):
    import spectral as sp
    b = sp.open_image(bil)
ReadBilFile(r'G:\truncated\ppt\1950\PRISM_ppt_stable_4kmM2_1950_bil.bil')

IOError: Unable to determine file type or type not supported.

スペクトルのドキュメントには、BIL ファイルをサポートしていると明確に記載されています。同様/同等のESRI EHdr形式をサポートしていると思われるGDALの使用にもオープンですが、開始するための適切なコードスニペットが見つかりません。

4

3 に答える 3

2

ファイルを読み取るための適切な解決策はすでにわかっているため、この回答は、発生したエラーに光を当てることに関するものです。

問題は、スペクトルパッケージが Esriマルチバンド ラスター形式をサポートしていないことです。BIL (Band Interleaved by Line) は特定のファイル形式ではありません。むしろ、多くのファイル形式で使用できるデータ インターリーブ スキーム (BIP や BSQ など) です。スペクトル パッケージは、認識できるファイル形式 (ENVI、Erdas LAN など) の BIL をサポートしていますが、Esri ラスター ヘッダーはそれらの 1 つではありません。

于 2014-06-17T13:57:48.330 に答える