首页 > 解决方案 > 使用 Python 从一些数据创建栅格文件

问题描述

我想从二进制数据创建一个 TIFF 文件,即给定位置 (x,y) 中的点是 0 或 1。使用 Python,我想将这些点和它们周围的有限区域映射到一个光栅文件中,该文件可以只有值 0 或 1。到目前为止,我发现的所有内容都处理已读取的现有 TIFF 文件,其值被修改并再次保存在同一个文件中。我真正想做的是从头开始创建一个 TIFF 文件。这是我到目前为止所拥有的:

def array2raster(newRasterfn,rasterOrigin,pixelWidth,pixelHeight,array):
  cols = array.shape[1]
  rows = array.shape[0]
  originX = rasterOrigin[0]
  originY = rasterOrigin[1]

  driver = gdal.GetDriverByName('GTiff')
  outRaster = driver.Create(newRasterfn, cols, rows, 1, gdal.GDT_Byte)
  outRaster.SetGeoTransform((originX, pixelWidth, 0, originY, 0, pixelHeight))
  outband = outRaster.GetRasterBand(1)
  outband.WriteArray(array)
  outRasterSRS = osr.SpatialReference()
  outRasterSRS.ImportFromEPSG(32629)
  outRaster.SetProjection(outRasterSRS.ExportToWkt())
  outband.FlushCache()

如何指定要放置值(0 或 1)的地图点的坐标?

标签: pythonrastertiffqgis

解决方案


推荐阅读