如何使用python将ascii栅格格式文件转换为tiff?

时间:2013-05-31 08:15:29

标签: python ascii raster

我有一个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或任何其他栅格?

1 个答案:

答案 0 :(得分:0)

您可以使用PIL。我不知道它是否支持ASCII格式,但您可以使用Python解析数字(例如[map(int, line.split()) for line in file.xreadlines()]推进标题之后的file

使用PIL,您有两种选择:

  1. 创建PIL Image对象并使用putpixel一次设置一个像素值(慢)。
  2. 创建一个代表图像的Numpy数组,并使用Image.fromarray(array)一次性转换所有数据(快速,在构建Numpy数组后)。
  3. PIL提供了写出许多不同文件格式的方法including TIFF