使用Python从一些数据创建栅格文件

时间:2019-06-04 13:51:15

标签: python raster tiff qgis

我想从二进制数据创建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)的地图点的坐标?

0 个答案:

没有答案