text: # Function to create a new 1-band raster and use projection
  # and geotransform from another raster.
  
  from osgeo import gdal
  
  def make_raster(in_ds, fn, data, data_type, nodata=None):
      """Create a one-band GeoTIFF.
  
      in_ds     - datasource to copy projection and geotransform from
      fn        - path to the file to create
      data      - NumPy array containing data to write
      data_type - output data type
      nodata    - optional NoData value
      """
      driver = gdal.GetDriverByName('GTiff')
      out_ds = driver.Create(
          fn, in_ds.RasterXSize, in_ds.RasterYSize, 1, data_type)
      out_ds.SetProjection(in_ds.GetProjection())
      out_ds.SetGeoTransform(in_ds.GetGeoTransform())
      out_band = out_ds.GetRasterBand(1)
      if nodata is not None:
          out_band.SetNoDataValue(nodata)
      out_band.WriteArray(data)
      out_band.FlushCache()
      out_band.ComputeStatistics(False)
      return out_ds
  