Parece que debería ser sencillo, pero no puedo entenderlo por mi vida.
Dado un GeoTiff existente que contiene una sola banda, ¿cómo puede agregar otra banda a ese GeoTiff? ¿Es la única forma de hacer esto usando GDALCreate () para crear un nuevo archivo de salida con una banda adicional y luego copiar la banda existente del archivo original al nuevo archivo? Esa es la única solución que he encontrado hasta ahora, pero parece que debería haber una manera simple de agregar una banda al conjunto de datos existente.
Respuestas:
La solución, si el controlador lo admite, es llamar a GDALOpen () con acceso GA_Update y luego usar GDALAddBand o GDALDataset :: AddBand . Sin embargo, el controlador geotiff no admite AddBand.
fuente
Para ampliar la respuesta de Luke y proporcionar un ejemplo concreto en Python, aquí hay un fragmento que agrega una banda alfa a un ráster fuente y la guarda como PNG.
Usé el
MEM
Usé controlador en lugar de hacerlo,VRT
ya que este último no es compatibleWriteRaster()
yWriteArray()
(error "No se admite la escritura a través de VRTSourcedRasterBand"). El uso del controlador vrt aún podría ser posible a través de otros métodos, supongo.fuente