Cela semble être simple mais je ne peux pas le comprendre pour la vie de moi.
Étant donné un GeoTiff existant contenant une seule bande, comment pouvez-vous ajouter une autre bande à ce GeoTiff? Est-ce la seule façon de le faire pour utiliser GDALCreate () pour créer un nouveau fichier de sortie avec une bande supplémentaire, puis copier la bande existante du fichier d'origine dans le nouveau fichier? C'est la seule solution que j'ai trouvée jusqu'à présent, mais il semble juste qu'il devrait y avoir un moyen simple d'ajouter une bande à l'ensemble de données existant.
Réponses:
La solution, si le pilote le supporte, consiste à appeler GDALOpen () avec un accès GA_Update puis à utiliser GDALAddBand ou GDALDataset :: AddBand . Cependant, le pilote geotiff ne prend pas en charge AddBand.
la source
Pour développer la réponse de Luke et fournir un exemple concret en Python, voici un extrait qui ajoute une bande alpha à un raster source et l'enregistre au format PNG.
J'ai utilisé le
MEM
pilote à la placeVRT
car ce dernier ne prend pas en chargeWriteRaster()
etWriteArray()
(erreur "L'écriture via VRTSourcedRasterBand n'est pas prise en charge."). L'utilisation du pilote vrt pourrait encore être possible grâce à d'autres méthodes, je suppose.la source