0

ASCII ラスター形式のファイルがあります。例えば:

ncols 480
nrows 450
xllcorner 378923
yllcorner 4072345
cellsize 30
nodata_value -32768
43 2 45 7 3 56 2 5 23 65 34 6 32 54 57 34 2 2 54 6 
35 45 65 34 2 6 78 4 2 6 89 3 2 7 45 23 5 8 4 1 62 ...

Pythonを使用してtiffまたはその他のラスターに変換するにはどうすればよいですか?

4

1 に答える 1

0

PILを使用できます。その ASCII 形式をサポートしているかどうかはわかりませんが、Python で数値を解析できます (たとえば、ヘッダーを通過した後) [map(int, line.split()) for line in file.xreadlines()]file

PIL には、次の 2 つのオプションがあります。

  1. PIL Imageオブジェクトを作成putpixelし、一度に 1 つずつピクセル値を設定するために使用します (低速)。
  2. 画像を表すNumpy配列を作成し、Image.fromarray(array)一度にすべて変換するために使用します (Numpy 配列を構築した後は高速です)。

PIL には、 TIFF を含むさまざまなファイル形式に書き出すためのメソッドがあります。

于 2013-06-01T01:15:13.433 に答える