GDAL光栅输出

2024-09-27 07:23:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在python中使用GDAL创建一个.tif文件。它正在创建一个文件,但每当我浏览到它时都会说“没有可用的预览”。现在,我只是想让它复制输入文件。我的代码是:

gdal.AllRegister()

inDs = gdal.Open("C:\\Documents and Settings\\patrick\\Desktop\\tiff elevation\\EBK1KM\\color_a2.tif")
if inDs is None:
  print 'Could not open image file'
  sys.exit(1)
else:
    print "successfully opened input file"

rows = inDs.RasterYSize
cols = inDs.RasterXSize
myband = inDs.GetRasterBand(1)
elev_data = myband.ReadAsArray(0,0,cols,rows)
driver = inDs.GetDriver()
outDs = driver.Create('C:\\Documents and Settings\\patrick\\Desktop\\tiff elevation\\EBK1KM\\new.tif', cols, rows, 1, GDT_Int32)

if outDs is None:
    print "couldn't open output file"
    sys.exit(1)

outBand = outDs.GetRasterBand(1)
outData = numpy.zeros((rows,cols),numpy.int16)
outBand.WriteArray(elev_data)
outBand.FlushCache()
outBand.SetNoDataValue(-99)
outDs.SetGeoTransform(inDs.GetGeoTransform())
outDs.SetProjection(inDs.GetProjection())
del outData

============================更新========================================= 有一些发现。。。 我研究了使用统计规范化从一种数字格式转换到另一种格式的方法。我处理输入数据,并使用以下算法将其转换为uint8: ^{pr2}$

我想复制的主要原因是为了证明我可以读入,然后根据计算写出更新的数据。在

有什么方法可以让我使用颜色渐变而不是仅使用一种颜色的阴影来写出输出数据?在


Tags: and文件数据settingsdocumentsfilerowsprint
2条回答

您的意思是您在尝试将TIFF文件预览为图像时,从Windows图片和传真查看器应用程序获得“无可用预览”吗?(见下面的截图。)

No preview available screenshot

{记住并不是所有的都是一样的。尤其是,Windows图片和传真查看器不支持所有类型的TIFF。在

有一篇Microsoft知识库文章You Cannot View TIFF Images Using Windows Picture and Fax Viewer部分内容是:

Windows Picture and Fax Viewer in Windows XP uses Windows Graphics Device Interface (GDI+). GDI+ supports many standard compression algorithms for faxes. However, it may be incompatible with some of the encoding schemes that are not used frequently.

如果您正在寻找查看光栅数据的工具(包括GeoTIFF rasters),我推荐免费提供的OpenEV,它可以作为FWTools软件包的一部分获得。在

我注意到以下几点:

  1. 只能复制源数据集的一个带区。如果它是一种颜色 图像,它可能有3个波段,或一个彩色地图。如果有彩色地图, 你也需要把它复制过来。如果是3或4个乐队,你有 复制所有数据。在
  2. CreateCopy()是一种更简单的方法来完成您正在寻找的东西。在

相关问题 更多 >

    热门问题